|
50516
|
1786
|
3
|
2026-05-18T07:37:42.439908+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089862439_m2.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-c4b github.com/jiminny/app/pull/12088/changes#diff-c4b70240be9f6f110085428e74a6d3b81d3ce32fb5c1cbbb95e084e8f18d5c90...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the
'yes'
flag to enable priority globally.
Refactored Target Selection:
Consolidated
selectExplicitTargetList()
into
selectTargetList()
. The method now strictly evaluates the
$withPriority
boolean argument to choose between normal and high-priority ElasticSearch update lists.
Test Suite Clean-Up
Test Suite Clean-Up
Removed Mocked Redis State:
Stripped out all mock expectations for the priority flag (e.g.,
Redis::shouldReceive('get')->with('updates-with-priority-enabled')
) across multiple test classes, including listener, selector, and processor tests.
Updated Method Calls:
Adjusted test assertions to explicitly pass the
$withPriority = true
argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.
Import Optimization:
Removed unused
Redis
facade imports from the test files.
Good response
Bad response
Redo
Share & export
Copy
Show more options
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Send message
Your Jiminny chats aren’t used to improve our models. Gemini is AI. It can make mistakes, so double check it.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
Summarize page
Summarize page
Skip to content...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.5826017,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.35854387,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.37051198,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.3678524,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.08494016,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"bounds":{"left":0.09823803,"top":0.10454908,"width":0.028590426,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"bounds":{"left":0.1008976,"top":0.10973663,"width":0.021941489,"height":0.020351157},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.33992687,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.35322472,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.079288565,"top":0.14764565,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.079288565,"top":0.15003991,"width":0.1200133,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"bounds":{"left":0.17121011,"top":0.18355946,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"bounds":{"left":0.18583776,"top":0.18355946,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"bounds":{"left":0.20578457,"top":0.19313647,"width":0.13696809,"height":0.09577015},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"bounds":{"left":0.079288565,"top":0.19393456,"width":0.019946808,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"bounds":{"left":0.20578457,"top":0.19473264,"width":0.13464096,"height":0.054668795},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"bounds":{"left":0.20578457,"top":0.25219473,"width":0.07081117,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"bounds":{"left":0.20578457,"top":0.27134877,"width":0.047041222,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"bounds":{"left":0.20578457,"top":0.2905028,"width":0.13680187,"height":0.7094972},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"bounds":{"left":0.34275267,"top":0.19313647,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"bounds":{"left":0.3480718,"top":0.32083002,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"bounds":{"left":0.12666224,"top":0.32322428,"width":0.030917553,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"bounds":{"left":0.1243351,"top":0.36472467,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"bounds":{"left":0.1243351,"top":0.36671987,"width":0.04105718,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Overview","depth":23,"bounds":{"left":0.11336436,"top":0.36552274,"width":0.24534574,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Overview","depth":24,"bounds":{"left":0.11336436,"top":0.36671987,"width":0.031083776,"height":0.020351157},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This diff removes the global Redis feature switch (","depth":24,"bounds":{"left":0.11336436,"top":0.39744613,"width":0.12034574,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"updates-with-priority-enabled","depth":25,"bounds":{"left":0.2357048,"top":0.39864326,"width":0.0809508,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.","depth":24,"bounds":{"left":0.11336436,"top":0.39744613,"width":0.24534574,"height":0.061053474},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Core Logic Updates (SelectEntityListTrait)","depth":23,"bounds":{"left":0.11336436,"top":0.48363927,"width":0.24534574,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Core Logic Updates (","depth":24,"bounds":{"left":0.11336436,"top":0.48523542,"width":0.05435505,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SelectEntityListTrait","depth":25,"bounds":{"left":0.1697141,"top":0.48523542,"width":0.06698803,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":24,"bounds":{"left":0.23869681,"top":0.48523542,"width":0.0019946808,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Redis Dependency:","depth":26,"bounds":{"left":0.12599733,"top":0.5123703,"width":0.075465426,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Eliminated the","depth":26,"bounds":{"left":0.20146276,"top":0.5123703,"width":0.03723404,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Illuminate\\Support\\Facades\\Redis","depth":27,"bounds":{"left":0.24069148,"top":0.51356745,"width":0.089428194,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import and the","depth":26,"bounds":{"left":0.12599733,"top":0.5123703,"width":0.22473404,"height":0.038707104},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PRIORITY_TAKES_PLACE","depth":27,"bounds":{"left":0.14793883,"top":0.5359138,"width":0.055851065,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"constant.","depth":26,"bounds":{"left":0.20578457,"top":0.53471667,"width":0.023769947,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Implicit Checks:","depth":26,"bounds":{"left":0.12599733,"top":0.565842,"width":0.06698803,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Deleted the","depth":26,"bounds":{"left":0.19298537,"top":0.565842,"width":0.030917553,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"processWithPriority()","depth":27,"bounds":{"left":0.22589761,"top":0.56703913,"width":0.05851064,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"method, which previously checked Redis for the","depth":26,"bounds":{"left":0.12599733,"top":0.565842,"width":0.22456782,"height":0.038707104},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"'yes'","depth":27,"bounds":{"left":0.18201463,"top":0.58938545,"width":0.013962766,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"flag to enable priority globally.","depth":26,"bounds":{"left":0.19797207,"top":0.58818835,"width":0.07430186,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Refactored Target Selection:","depth":26,"bounds":{"left":0.12599733,"top":0.61931366,"width":0.073803194,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Consolidated","depth":26,"bounds":{"left":0.19980054,"top":0.61931366,"width":0.034408245,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"selectExplicitTargetList()","depth":27,"bounds":{"left":0.23620346,"top":0.62051076,"width":0.07263963,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"into","depth":26,"bounds":{"left":0.31083778,"top":0.61931366,"width":0.011635638,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"selectTargetList()","depth":27,"bounds":{"left":0.12799202,"top":0.64285713,"width":0.050199468,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":". The method now strictly evaluates the","depth":26,"bounds":{"left":0.18018617,"top":0.64166003,"width":0.09607713,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$withPriority","depth":27,"bounds":{"left":0.27825797,"top":0.64285713,"width":0.036236703,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"boolean argument to choose between normal and high-priority ElasticSearch update lists.","depth":26,"bounds":{"left":0.12599733,"top":0.64166003,"width":0.21276596,"height":0.038707104},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Test Suite Clean-Up","depth":23,"bounds":{"left":0.11336436,"top":0.7055068,"width":0.24534574,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Test Suite Clean-Up","depth":24,"bounds":{"left":0.11336436,"top":0.70710295,"width":0.051529255,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Mocked Redis State:","depth":26,"bounds":{"left":0.12599733,"top":0.73423785,"width":0.07829122,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Stripped out all mock expectations for the priority flag (e.g.,","depth":26,"bounds":{"left":0.20428856,"top":0.73423785,"width":0.14677526,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Redis::shouldReceive('get')->with('updates-with-priority-enabled')","depth":27,"bounds":{"left":0.12799202,"top":0.7577813,"width":0.18434176,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") across multiple test classes, including listener, selector, and processor tests.","depth":26,"bounds":{"left":0.12599733,"top":0.7565842,"width":0.2293883,"height":0.038707104},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated Method Calls:","depth":26,"bounds":{"left":0.12599733,"top":0.81005585,"width":0.059175532,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Adjusted test assertions to explicitly pass the","depth":26,"bounds":{"left":0.18517287,"top":0.81005585,"width":0.11186835,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$withPriority = true","depth":27,"bounds":{"left":0.2990359,"top":0.811253,"width":0.055851065,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.","depth":26,"bounds":{"left":0.12599733,"top":0.81005585,"width":0.2322141,"height":0.061053474},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import Optimization:","depth":26,"bounds":{"left":0.12599733,"top":0.8858739,"width":0.053856384,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed unused","depth":26,"bounds":{"left":0.17985372,"top":0.8858739,"width":0.044215426,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Redis","depth":27,"bounds":{"left":0.22606383,"top":0.887071,"width":0.013962766,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"facade imports from the test files.","depth":26,"bounds":{"left":0.24202128,"top":0.8858739,"width":0.0831117,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":21,"bounds":{"left":0.1100399,"top":0.92418194,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":21,"bounds":{"left":0.120678194,"top":0.92418194,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Redo","depth":21,"bounds":{"left":0.13131648,"top":0.92418194,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share & export","depth":20,"bounds":{"left":0.1419548,"top":0.92418194,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":21,"bounds":{"left":0.15259309,"top":0.92418194,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":20,"bounds":{"left":0.16323139,"top":0.92418194,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextArea","text":"Enter a prompt for Gemini\nencrypted","depth":20,"bounds":{"left":0.11469415,"top":0.83439744,"width":0.23670213,"height":0.01915403},"on_screen":true,"value":"Enter a prompt for Gemini\nencrypted","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter a prompt for Gemini","depth":21,"bounds":{"left":0.12134308,"top":0.8347965,"width":0.069980055,"height":0.018355945},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted","depth":21,"bounds":{"left":0.113696806,"top":0.83439744,"width":0.0066489363,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"bounds":{"left":0.11070479,"top":0.87031126,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"bounds":{"left":0.12666224,"top":0.87031126,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"bounds":{"left":0.31399602,"top":0.867917,"width":0.026097074,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"bounds":{"left":0.31931517,"top":0.87669593,"width":0.007480053,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Microphone","depth":19,"bounds":{"left":0.34208778,"top":0.867917,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Send message","depth":19,"bounds":{"left":0.34840426,"top":0.8671189,"width":0.013962766,"height":0.033519555},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your Jiminny chats aren’t used to improve our models. Gemini is AI. It can make mistakes, so double check it.","depth":17,"bounds":{"left":0.11303192,"top":0.92178774,"width":0.19996676,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy & Gemini Opens in a new window","depth":17,"bounds":{"left":0.31299868,"top":0.92178774,"width":0.040059842,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy & Gemini","depth":18,"bounds":{"left":0.31299868,"top":0.92178774,"width":0.040059842,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"bounds":{"left":0.079288565,"top":0.92098963,"width":0.043218084,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"bounds":{"left":0.08494016,"top":0.95730245,"width":0.053523935,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"bounds":{"left":0.09059176,"top":0.96249,"width":0.042220745,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Skip to content","depth":6,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
6996240422032947200
|
-2778979027350046552
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the
'yes'
flag to enable priority globally.
Refactored Target Selection:
Consolidated
selectExplicitTargetList()
into
selectTargetList()
. The method now strictly evaluates the
$withPriority
boolean argument to choose between normal and high-priority ElasticSearch update lists.
Test Suite Clean-Up
Test Suite Clean-Up
Removed Mocked Redis State:
Stripped out all mock expectations for the priority flag (e.g.,
Redis::shouldReceive('get')->with('updates-with-priority-enabled')
) across multiple test classes, including listener, selector, and processor tests.
Updated Method Calls:
Adjusted test assertions to explicitly pass the
$withPriority = true
argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.
Import Optimization:
Removed unused
Redis
facade imports from the test files.
Good response
Bad response
Redo
Share & export
Copy
Show more options
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Microphone
Send message
Your Jiminny chats aren’t used to improve our models. Gemini is AI. It can make mistakes, so double check it.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
Summarize page
Summarize page
Skip to content...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50518
|
1786
|
4
|
2026-05-18T07:37:46.463992+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089866463_m2.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.5826017,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-2682184748886376420
|
6342501940698214606
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)...
|
50516
|
NULL
|
NULL
|
NULL
|
|
50517
|
1785
|
4
|
2026-05-18T07:37:46.482208+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089866482_m1.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-6287438539721750862
|
6342501940698206286
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50519
|
1786
|
5
|
2026-05-18T07:37:48.482498+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089868482_m2.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the
'yes'
flag to enable priority globally.
Refactored Target Selection:
Consolidated
selectExplicitTargetList()
into
selectTargetList()
. The method now strictly evaluates the
$withPriority
boolean argument to choose between normal and high-priority ElasticSearch update lists.
Test Suite Clean-Up
Test Suite Clean-Up
Removed Mocked Redis State:
Stripped out all mock expectations for the priority flag (e.g.,
Redis::shouldReceive('get')->with('updates-with-priority-enabled')
) across multiple test classes, including listener, selector, and processor tests.
Updated Method Calls:
Adjusted test assertions to explicitly pass the
$withPriority = true
argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.
Import Optimization:
Removed unused
Redis
facade imports from the test files.
Good response
Bad response
Redo
Share & export
Copy
Show more options
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.5826017,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.35854387,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.37051198,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.3678524,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.08494016,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"bounds":{"left":0.09823803,"top":0.10454908,"width":0.028590426,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"bounds":{"left":0.1008976,"top":0.10973663,"width":0.021941489,"height":0.020351157},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.33992687,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.35322472,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.079288565,"top":0.14764565,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.079288565,"top":0.15003991,"width":0.1200133,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"bounds":{"left":0.17121011,"top":0.18355946,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"bounds":{"left":0.18583776,"top":0.18355946,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"bounds":{"left":0.20578457,"top":0.19313647,"width":0.13696809,"height":0.09577015},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"bounds":{"left":0.079288565,"top":0.19393456,"width":0.019946808,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"bounds":{"left":0.20578457,"top":0.19473264,"width":0.13464096,"height":0.054668795},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"bounds":{"left":0.20578457,"top":0.25219473,"width":0.07081117,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"bounds":{"left":0.20578457,"top":0.27134877,"width":0.047041222,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"bounds":{"left":0.20578457,"top":0.2905028,"width":0.13680187,"height":0.7094972},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"bounds":{"left":0.34275267,"top":0.19313647,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"bounds":{"left":0.3480718,"top":0.32083002,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"bounds":{"left":0.12666224,"top":0.32322428,"width":0.030917553,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"bounds":{"left":0.1243351,"top":0.36472467,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"bounds":{"left":0.1243351,"top":0.36671987,"width":0.04105718,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Overview","depth":23,"bounds":{"left":0.11336436,"top":0.36552274,"width":0.24534574,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Overview","depth":24,"bounds":{"left":0.11336436,"top":0.36671987,"width":0.031083776,"height":0.020351157},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This diff removes the global Redis feature switch (","depth":24,"bounds":{"left":0.11336436,"top":0.39744613,"width":0.12034574,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"updates-with-priority-enabled","depth":25,"bounds":{"left":0.2357048,"top":0.39864326,"width":0.0809508,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.","depth":24,"bounds":{"left":0.11336436,"top":0.39744613,"width":0.24534574,"height":0.061053474},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Core Logic Updates (SelectEntityListTrait)","depth":23,"bounds":{"left":0.11336436,"top":0.48363927,"width":0.24534574,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Core Logic Updates (","depth":24,"bounds":{"left":0.11336436,"top":0.48523542,"width":0.05435505,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SelectEntityListTrait","depth":25,"bounds":{"left":0.1697141,"top":0.48523542,"width":0.06698803,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":24,"bounds":{"left":0.23869681,"top":0.48523542,"width":0.0019946808,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Redis Dependency:","depth":26,"bounds":{"left":0.12599733,"top":0.5123703,"width":0.075465426,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Eliminated the","depth":26,"bounds":{"left":0.20146276,"top":0.5123703,"width":0.03723404,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Illuminate\\Support\\Facades\\Redis","depth":27,"bounds":{"left":0.24069148,"top":0.51356745,"width":0.089428194,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import and the","depth":26,"bounds":{"left":0.12599733,"top":0.5123703,"width":0.22473404,"height":0.038707104},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PRIORITY_TAKES_PLACE","depth":27,"bounds":{"left":0.14793883,"top":0.5359138,"width":0.055851065,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"constant.","depth":26,"bounds":{"left":0.20578457,"top":0.53471667,"width":0.023769947,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Implicit Checks:","depth":26,"bounds":{"left":0.12599733,"top":0.565842,"width":0.06698803,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Deleted the","depth":26,"bounds":{"left":0.19298537,"top":0.565842,"width":0.030917553,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"processWithPriority()","depth":27,"bounds":{"left":0.22589761,"top":0.56703913,"width":0.05851064,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"method, which previously checked Redis for the","depth":26,"bounds":{"left":0.12599733,"top":0.565842,"width":0.22456782,"height":0.038707104},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"'yes'","depth":27,"bounds":{"left":0.18201463,"top":0.58938545,"width":0.013962766,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"flag to enable priority globally.","depth":26,"bounds":{"left":0.19797207,"top":0.58818835,"width":0.07430186,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Refactored Target Selection:","depth":26,"bounds":{"left":0.12599733,"top":0.61931366,"width":0.073803194,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Consolidated","depth":26,"bounds":{"left":0.19980054,"top":0.61931366,"width":0.034408245,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"selectExplicitTargetList()","depth":27,"bounds":{"left":0.23620346,"top":0.62051076,"width":0.07263963,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"into","depth":26,"bounds":{"left":0.31083778,"top":0.61931366,"width":0.011635638,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"selectTargetList()","depth":27,"bounds":{"left":0.12799202,"top":0.64285713,"width":0.050199468,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":". The method now strictly evaluates the","depth":26,"bounds":{"left":0.18018617,"top":0.64166003,"width":0.09607713,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$withPriority","depth":27,"bounds":{"left":0.27825797,"top":0.64285713,"width":0.036236703,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"boolean argument to choose between normal and high-priority ElasticSearch update lists.","depth":26,"bounds":{"left":0.12599733,"top":0.64166003,"width":0.21276596,"height":0.038707104},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Test Suite Clean-Up","depth":23,"bounds":{"left":0.11336436,"top":0.7055068,"width":0.24534574,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Test Suite Clean-Up","depth":24,"bounds":{"left":0.11336436,"top":0.70710295,"width":0.051529255,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Mocked Redis State:","depth":26,"bounds":{"left":0.12599733,"top":0.73423785,"width":0.07829122,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Stripped out all mock expectations for the priority flag (e.g.,","depth":26,"bounds":{"left":0.20428856,"top":0.73423785,"width":0.14677526,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Redis::shouldReceive('get')->with('updates-with-priority-enabled')","depth":27,"bounds":{"left":0.12799202,"top":0.7577813,"width":0.18434176,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") across multiple test classes, including listener, selector, and processor tests.","depth":26,"bounds":{"left":0.12599733,"top":0.7565842,"width":0.2293883,"height":0.038707104},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated Method Calls:","depth":26,"bounds":{"left":0.12599733,"top":0.81005585,"width":0.059175532,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Adjusted test assertions to explicitly pass the","depth":26,"bounds":{"left":0.18517287,"top":0.81005585,"width":0.11186835,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$withPriority = true","depth":27,"bounds":{"left":0.2990359,"top":0.811253,"width":0.055851065,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.","depth":26,"bounds":{"left":0.12599733,"top":0.81005585,"width":0.2322141,"height":0.061053474},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import Optimization:","depth":26,"bounds":{"left":0.12599733,"top":0.8858739,"width":0.053856384,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed unused","depth":26,"bounds":{"left":0.17985372,"top":0.8858739,"width":0.044215426,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Redis","depth":27,"bounds":{"left":0.22606383,"top":0.887071,"width":0.013962766,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"facade imports from the test files.","depth":26,"bounds":{"left":0.24202128,"top":0.8858739,"width":0.0831117,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":21,"bounds":{"left":0.1100399,"top":0.92418194,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":21,"bounds":{"left":0.120678194,"top":0.92418194,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Redo","depth":21,"bounds":{"left":0.13131648,"top":0.92418194,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share & export","depth":20,"bounds":{"left":0.1419548,"top":0.92418194,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":21,"bounds":{"left":0.15259309,"top":0.92418194,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":20,"bounds":{"left":0.16323139,"top":0.92418194,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextArea","text":"Enter a prompt for Gemini\nencrypted","depth":20,"bounds":{"left":0.11469415,"top":0.83439744,"width":0.23670213,"height":0.01915403},"on_screen":true,"value":"Enter a prompt for Gemini\nencrypted","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Enter a prompt for Gemini","depth":21,"bounds":{"left":0.12134308,"top":0.8347965,"width":0.069980055,"height":0.018355945},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted","depth":21,"bounds":{"left":0.113696806,"top":0.83439744,"width":0.0066489363,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"bounds":{"left":0.11070479,"top":0.87031126,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"bounds":{"left":0.12666224,"top":0.87031126,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-5958369206716688512
|
-2851036621386925912
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the
'yes'
flag to enable priority globally.
Refactored Target Selection:
Consolidated
selectExplicitTargetList()
into
selectTargetList()
. The method now strictly evaluates the
$withPriority
boolean argument to choose between normal and high-priority ElasticSearch update lists.
Test Suite Clean-Up
Test Suite Clean-Up
Removed Mocked Redis State:
Stripped out all mock expectations for the priority flag (e.g.,
Redis::shouldReceive('get')->with('updates-with-priority-enabled')
) across multiple test classes, including listener, selector, and processor tests.
Updated Method Calls:
Adjusted test assertions to explicitly pass the
$withPriority = true
argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.
Import Optimization:
Removed unused
Redis
facade imports from the test files.
Good response
Bad response
Redo
Share & export
Copy
Show more options
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50520
|
1785
|
5
|
2026-05-18T07:37:53.074069+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089873074_m1.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-4554926396347711567
|
-2862855732006858546
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit...
|
50517
|
NULL
|
NULL
|
NULL
|
|
50521
|
1785
|
6
|
2026-05-18T07:37:55.112245+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089875112_m1.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Overview","depth":23,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Overview","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
5599414856041988143
|
-2851036621386925912
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50522
|
1786
|
6
|
2026-05-18T07:37:55.113522+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089875113_m2.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.5826017,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.35854387,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.37051198,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.3678524,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.08494016,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"bounds":{"left":0.09823803,"top":0.10454908,"width":0.028590426,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"bounds":{"left":0.1008976,"top":0.10973663,"width":0.021941489,"height":0.020351157},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.33992687,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.35322472,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.079288565,"top":0.14764565,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.079288565,"top":0.15003991,"width":0.1200133,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"bounds":{"left":0.17121011,"top":0.022745412,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"bounds":{"left":0.18583776,"top":0.022745412,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"bounds":{"left":0.20578457,"top":0.032322425,"width":0.13696809,"height":0.09577015},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"bounds":{"left":0.079288565,"top":0.03312051,"width":0.019946808,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"bounds":{"left":0.20578457,"top":0.033918597,"width":0.13464096,"height":0.054668795},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"bounds":{"left":0.20578457,"top":0.091380686,"width":0.07081117,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"bounds":{"left":0.20578457,"top":0.11053472,"width":0.047041222,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"bounds":{"left":0.20578457,"top":0.12968874,"width":0.13680187,"height":0.87031126},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"bounds":{"left":0.34275267,"top":0.032322425,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"bounds":{"left":0.3480718,"top":0.16001596,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"bounds":{"left":0.12666224,"top":0.16241021,"width":0.030917553,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"bounds":{"left":0.1243351,"top":0.20391062,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"bounds":{"left":0.1243351,"top":0.20590582,"width":0.04105718,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-7746608879339729886
|
-2851036621386925912
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said...
|
50519
|
NULL
|
NULL
|
NULL
|
|
50524
|
1786
|
7
|
2026-05-18T07:37:56.497924+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089876497_m2.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.5826017,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.35854387,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.37051198,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.3678524,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.08494016,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"bounds":{"left":0.09823803,"top":0.10454908,"width":0.028590426,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"bounds":{"left":0.1008976,"top":0.10973663,"width":0.021941489,"height":0.020351157},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.33992687,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.35322472,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.079288565,"top":0.14764565,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.079288565,"top":0.15003991,"width":0.1200133,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"bounds":{"left":0.17121011,"top":0.022745412,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"bounds":{"left":0.18583776,"top":0.022745412,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"bounds":{"left":0.20578457,"top":0.032322425,"width":0.13696809,"height":0.09577015},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"bounds":{"left":0.079288565,"top":0.03312051,"width":0.019946808,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"bounds":{"left":0.20578457,"top":0.033918597,"width":0.13464096,"height":0.054668795},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"bounds":{"left":0.20578457,"top":0.091380686,"width":0.07081117,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"bounds":{"left":0.20578457,"top":0.11053472,"width":0.047041222,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"bounds":{"left":0.20578457,"top":0.12968874,"width":0.13680187,"height":0.87031126},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"bounds":{"left":0.34275267,"top":0.032322425,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"bounds":{"left":0.3480718,"top":0.16001596,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"bounds":{"left":0.12666224,"top":0.16241021,"width":0.030917553,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"bounds":{"left":0.1243351,"top":0.20391062,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"bounds":{"left":0.1243351,"top":0.20590582,"width":0.04105718,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Overview","depth":23,"bounds":{"left":0.11336436,"top":0.2047087,"width":0.24534574,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Overview","depth":24,"bounds":{"left":0.11336436,"top":0.20590582,"width":0.031083776,"height":0.020351157},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This diff removes the global Redis feature switch (","depth":24,"bounds":{"left":0.11336436,"top":0.23663208,"width":0.12034574,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-6191800650021337689
|
-2851036621386925912
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50523
|
1785
|
7
|
2026-05-18T07:37:56.515516+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089876515_m1.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Overview","depth":23,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Overview","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This diff removes the global Redis feature switch (","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"updates-with-priority-enabled","depth":25,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Core Logic Updates (SelectEntityListTrait)","depth":23,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Core Logic Updates (","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SelectEntityListTrait","depth":25,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Redis Dependency:","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Eliminated the","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Illuminate\\Support\\Facades\\Redis","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import and the","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
4085078007440512044
|
-2851036621386925912
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the...
|
50521
|
NULL
|
NULL
|
NULL
|
|
50525
|
1785
|
8
|
2026-05-18T07:37:59.104788+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089879104_m1.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the
'yes'
flag to enable priority globally.
Refactored Target Selection:
Consolidated
selectExplicitTargetList()
into
selectTargetList()
. The method now strictly evaluates the
$withPriority
boolean argument to choose between normal and high-priority ElasticSearch update lists.
Test Suite Clean-Up
Test Suite Clean-Up
Removed Mocked Redis State:
Stripped out all mock expectations for the priority flag (e.g.,
Redis::shouldReceive('get')->with('updates-with-priority-enabled')
) across multiple test classes, including listener, selector, and processor tests.
Updated Method Calls:
Adjusted test assertions to explicitly pass the
$withPriority = true
argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.
Import Optimization:
Removed unused
Redis
facade imports from the test files.
Good response
Bad response
Redo
Share & export
Copy
Show more options
any potent
any potent
Open upload file menu
Tools
Open mode picker
Pro
Send message
Your Jiminny chats aren’t used to improve our models. Gemini is AI. It can make mistakes, so double check it.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
Summarize page
Summarize page
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Overview","depth":23,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Overview","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This diff removes the global Redis feature switch (","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"updates-with-priority-enabled","depth":25,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Core Logic Updates (SelectEntityListTrait)","depth":23,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Core Logic Updates (","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SelectEntityListTrait","depth":25,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Redis Dependency:","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Eliminated the","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Illuminate\\Support\\Facades\\Redis","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import and the","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PRIORITY_TAKES_PLACE","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"constant.","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Implicit Checks:","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Deleted the","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"processWithPriority()","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"method, which previously checked Redis for the","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"'yes'","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"flag to enable priority globally.","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Refactored Target Selection:","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Consolidated","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"selectExplicitTargetList()","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"into","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"selectTargetList()","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":". The method now strictly evaluates the","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$withPriority","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"boolean argument to choose between normal and high-priority ElasticSearch update lists.","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Test Suite Clean-Up","depth":23,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Test Suite Clean-Up","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Mocked Redis State:","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Stripped out all mock expectations for the priority flag (e.g.,","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Redis::shouldReceive('get')->with('updates-with-priority-enabled')","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") across multiple test classes, including listener, selector, and processor tests.","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated Method Calls:","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Adjusted test assertions to explicitly pass the","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$withPriority = true","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import Optimization:","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed unused","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Redis","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"facade imports from the test files.","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":21,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":21,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Redo","depth":21,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share & export","depth":20,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":21,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":20,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXTextArea","text":"any potent","depth":20,"on_screen":true,"value":"any potent","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"any potent","depth":22,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Send message","depth":19,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your Jiminny chats aren’t used to improve our models. Gemini is AI. It can make mistakes, so double check it.","depth":17,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy & Gemini Opens in a new window","depth":17,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy & Gemini","depth":18,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Skip to content","depth":6,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":7,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":10,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":9,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":9,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":9,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"All issues(g then i)","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All pull requests","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-5754178870402663584
|
-2778979027350046552
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
Edit
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the
'yes'
flag to enable priority globally.
Refactored Target Selection:
Consolidated
selectExplicitTargetList()
into
selectTargetList()
. The method now strictly evaluates the
$withPriority
boolean argument to choose between normal and high-priority ElasticSearch update lists.
Test Suite Clean-Up
Test Suite Clean-Up
Removed Mocked Redis State:
Stripped out all mock expectations for the priority flag (e.g.,
Redis::shouldReceive('get')->with('updates-with-priority-enabled')
) across multiple test classes, including listener, selector, and processor tests.
Updated Method Calls:
Adjusted test assertions to explicitly pass the
$withPriority = true
argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.
Import Optimization:
Removed unused
Redis
facade imports from the test files.
Good response
Bad response
Redo
Share & export
Copy
Show more options
any potent
any potent
Open upload file menu
Tools
Open mode picker
Pro
Send message
Your Jiminny chats aren’t used to improve our models. Gemini is AI. It can make mistakes, so double check it.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
Summarize page
Summarize page
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50526
|
1786
|
8
|
2026-05-18T07:38:03.617330+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089883617_m2.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the
'yes'
flag to enable priority globally.
Refactored Target Selection:
Consolidated
selectExplicitTargetList()
into
selectTargetList()
. The method now strictly evaluates the
$withPriority
boolean argument to choose between normal and high-priority ElasticSearch update lists.
Test Suite Clean-Up
Test Suite Clean-Up
Removed Mocked Redis State:
Stripped out all mock expectations for the priority flag (e.g.,
Redis::shouldReceive('get')->with('updates-with-priority-enabled')
) across multiple test classes, including listener, selector, and processor tests.
Updated Method Calls:
Adjusted test assertions to explicitly pass the
$withPriority = true
argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.
Import Optimization:
Removed unused
Redis
facade imports from the test files.
Good response
Bad response
Share & export
Copy
Show more options
Copy prompt
Edit
You said any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php
You said
any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Stop response
Your Jiminny chats aren’t used to improve our models. Gemini is AI. It can make mistakes, so double check it.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
Gemini is typing
Summarize page
Summarize page
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality
Security and quality...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.5826017,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.35854387,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.37051198,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.3678524,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.08494016,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"bounds":{"left":0.09823803,"top":0.10454908,"width":0.028590426,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"bounds":{"left":0.1008976,"top":0.10973663,"width":0.021941489,"height":0.020351157},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.33992687,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.35322472,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.079288565,"top":0.14764565,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.079288565,"top":0.15003991,"width":0.1200133,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Overview","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Overview","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This diff removes the global Redis feature switch (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"updates-with-priority-enabled","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Core Logic Updates (SelectEntityListTrait)","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Core Logic Updates (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SelectEntityListTrait","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Redis Dependency:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Eliminated the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Illuminate\\Support\\Facades\\Redis","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import and the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PRIORITY_TAKES_PLACE","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"constant.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Implicit Checks:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Deleted the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"processWithPriority()","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"method, which previously checked Redis for the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"'yes'","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"flag to enable priority globally.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Refactored Target Selection:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Consolidated","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"selectExplicitTargetList()","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"into","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"selectTargetList()","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":". The method now strictly evaluates the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$withPriority","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"boolean argument to choose between normal and high-priority ElasticSearch update lists.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Test Suite Clean-Up","depth":23,"bounds":{"left":0.11336436,"top":0.0,"width":0.24534574,"height":0.01915403},"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Test Suite Clean-Up","depth":24,"bounds":{"left":0.11336436,"top":0.0,"width":0.051529255,"height":0.016360734},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Mocked Redis State:","depth":26,"bounds":{"left":0.12599733,"top":0.0,"width":0.07829122,"height":0.016360734},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Stripped out all mock expectations for the priority flag (e.g.,","depth":26,"bounds":{"left":0.20428856,"top":0.0,"width":0.14677526,"height":0.016360734},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Redis::shouldReceive('get')->with('updates-with-priority-enabled')","depth":27,"bounds":{"left":0.12799202,"top":0.0,"width":0.18434176,"height":0.014764565},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") across multiple test classes, including listener, selector, and processor tests.","depth":26,"bounds":{"left":0.12599733,"top":0.0,"width":0.2293883,"height":0.038707104},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated Method Calls:","depth":26,"bounds":{"left":0.12599733,"top":0.008778931,"width":0.059175532,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Adjusted test assertions to explicitly pass the","depth":26,"bounds":{"left":0.18517287,"top":0.008778931,"width":0.11186835,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$withPriority = true","depth":27,"bounds":{"left":0.2990359,"top":0.009976057,"width":0.055851065,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.","depth":26,"bounds":{"left":0.12599733,"top":0.008778931,"width":0.2322141,"height":0.061053474},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import Optimization:","depth":26,"bounds":{"left":0.12599733,"top":0.08459697,"width":0.053856384,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed unused","depth":26,"bounds":{"left":0.17985372,"top":0.08459697,"width":0.044215426,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Redis","depth":27,"bounds":{"left":0.22606383,"top":0.08579409,"width":0.013962766,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"facade imports from the test files.","depth":26,"bounds":{"left":0.24202128,"top":0.08459697,"width":0.0831117,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":22,"bounds":{"left":0.1100399,"top":0.12290503,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":22,"bounds":{"left":0.120678194,"top":0.12290503,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share & export","depth":21,"bounds":{"left":0.13131648,"top":0.12290503,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":22,"bounds":{"left":0.1419548,"top":0.12290503,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":21,"bounds":{"left":0.15259309,"top":0.12290503,"width":0.010638298,"height":0.025538707},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy prompt","depth":20,"bounds":{"left":0.17121011,"top":0.18355946,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":20,"bounds":{"left":0.18583776,"top":0.18355946,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php","depth":20,"bounds":{"left":0.20578457,"top":0.19313647,"width":0.15026596,"height":0.03830806},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":22,"bounds":{"left":0.079288565,"top":0.19393456,"width":0.019946808,"height":0.016360734},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php","depth":22,"bounds":{"left":0.20578457,"top":0.19473264,"width":0.14128989,"height":0.035514764},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextArea","text":"Enter a prompt for Gemini\nencrypted","depth":20,"bounds":{"left":0.11469415,"top":0.83439744,"width":0.23670213,"height":0.01915403},"on_screen":true,"value":"Enter a prompt for Gemini\nencrypted","help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXStaticText","text":"Enter a prompt for Gemini","depth":21,"bounds":{"left":0.12134308,"top":0.8347965,"width":0.069980055,"height":0.018355945},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"encrypted","depth":21,"bounds":{"left":0.113696806,"top":0.83439744,"width":0.0066489363,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open upload file menu","depth":20,"bounds":{"left":0.11070479,"top":0.87031126,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Tools","depth":18,"bounds":{"left":0.12666224,"top":0.87031126,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open mode picker","depth":20,"bounds":{"left":0.31399602,"top":0.867917,"width":0.026097074,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pro","depth":23,"bounds":{"left":0.31931517,"top":0.87669593,"width":0.007480053,"height":0.014764565},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Stop response","depth":19,"bounds":{"left":0.3414229,"top":0.8671189,"width":0.013962766,"height":0.033519555},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your Jiminny chats aren’t used to improve our models. Gemini is AI. It can make mistakes, so double check it.","depth":17,"bounds":{"left":0.11303192,"top":0.92178774,"width":0.19996676,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Your privacy & Gemini Opens in a new window","depth":17,"bounds":{"left":0.31299868,"top":0.92178774,"width":0.040059842,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Your privacy & Gemini","depth":18,"bounds":{"left":0.31299868,"top":0.92178774,"width":0.040059842,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Opens in a new window","depth":19,"bounds":{"left":0.079288565,"top":0.92098963,"width":0.043218084,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini is typing","depth":9,"bounds":{"left":0.079288565,"top":0.091380686,"width":0.035738032,"height":0.012769354},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Summarize page","depth":7,"bounds":{"left":0.08494016,"top":0.95730245,"width":0.053523935,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Summarize page","depth":9,"bounds":{"left":0.09059176,"top":0.96249,"width":0.042220745,"height":0.015163607},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Skip to content","depth":6,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":7,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":10,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":9,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":9,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":9,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"All issues(g then i)","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All pull requests","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All repositories","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":9,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":9,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":10,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (29)","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wiki","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wiki","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security and quality","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security and quality","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
2586486669615462785
|
-2851036621387974488
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the
'yes'
flag to enable priority globally.
Refactored Target Selection:
Consolidated
selectExplicitTargetList()
into
selectTargetList()
. The method now strictly evaluates the
$withPriority
boolean argument to choose between normal and high-priority ElasticSearch update lists.
Test Suite Clean-Up
Test Suite Clean-Up
Removed Mocked Redis State:
Stripped out all mock expectations for the priority flag (e.g.,
Redis::shouldReceive('get')->with('updates-with-priority-enabled')
) across multiple test classes, including listener, selector, and processor tests.
Updated Method Calls:
Adjusted test assertions to explicitly pass the
$withPriority = true
argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.
Import Optimization:
Removed unused
Redis
facade imports from the test files.
Good response
Bad response
Share & export
Copy
Show more options
Copy prompt
Edit
You said any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php
You said
any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php
Enter a prompt for Gemini
encrypted
Enter a prompt for Gemini
encrypted
Open upload file menu
Tools
Open mode picker
Pro
Stop response
Your Jiminny chats aren’t used to improve our models. Gemini is AI. It can make mistakes, so double check it.
Your privacy & Gemini Opens in a new window
Your privacy & Gemini
Opens in a new window
Gemini is typing
Summarize page
Summarize page
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality
Security and quality...
|
50524
|
NULL
|
NULL
|
NULL
|
|
50527
|
1785
|
9
|
2026-05-18T07:38:20.272195+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089900272_m1.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true}]...
|
6978814049011334798
|
-8051020335710277298
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app...
|
50525
|
NULL
|
NULL
|
NULL
|
|
50528
|
1786
|
9
|
2026-05-18T07:38:21.790662+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089901790_m2.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
2715125796355394979
|
-5745110110778265476
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50529
|
1785
|
10
|
2026-05-18T07:38:32.346168+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089912346_m1.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the
'yes'
flag to enable priority globally.
Refactored Target Selection:
Consolidated
selectExplicitTargetList()
into
selectTargetList()
. The method now strictly evaluates the
$withPriority
boolean argument to choose between normal and high-priority ElasticSearch update lists.
Test Suite Clean-Up
Test Suite Clean-Up
Removed Mocked Redis State:
Stripped out all mock expectations for the priority flag (e.g.,
Redis::shouldReceive('get')->with('updates-with-priority-enabled')
) across multiple test classes, including listener, selector, and processor tests.
Updated Method Calls:
Adjusted test assertions to explicitly pass the
$withPriority = true
argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.
Import Optimization:
Removed unused
Redis
facade imports from the test files.
Good response
Bad response
Share & export
Copy
Show more options
Copy prompt
Edit
You said any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php
You said
any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php
Listen
Show thinking
Gemini said
Gemini said
Based on the provided diff for...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Overview","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Overview","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This diff removes the global Redis feature switch (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"updates-with-priority-enabled","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Core Logic Updates (SelectEntityListTrait)","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Core Logic Updates (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SelectEntityListTrait","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Redis Dependency:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Eliminated the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Illuminate\\Support\\Facades\\Redis","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import and the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PRIORITY_TAKES_PLACE","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"constant.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Implicit Checks:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Deleted the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"processWithPriority()","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"method, which previously checked Redis for the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"'yes'","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"flag to enable priority globally.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Refactored Target Selection:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Consolidated","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"selectExplicitTargetList()","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"into","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"selectTargetList()","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":". The method now strictly evaluates the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$withPriority","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"boolean argument to choose between normal and high-priority ElasticSearch update lists.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Test Suite Clean-Up","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Test Suite Clean-Up","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Mocked Redis State:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Stripped out all mock expectations for the priority flag (e.g.,","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Redis::shouldReceive('get')->with('updates-with-priority-enabled')","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") across multiple test classes, including listener, selector, and processor tests.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated Method Calls:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Adjusted test assertions to explicitly pass the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$withPriority = true","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import Optimization:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed unused","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Redis","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"facade imports from the test files.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":22,"on_screen":false,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":22,"on_screen":false,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share & export","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":21,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php","depth":21,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Based on the provided diff for","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3736069514334223350
|
-2778979025201514328
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the
'yes'
flag to enable priority globally.
Refactored Target Selection:
Consolidated
selectExplicitTargetList()
into
selectTargetList()
. The method now strictly evaluates the
$withPriority
boolean argument to choose between normal and high-priority ElasticSearch update lists.
Test Suite Clean-Up
Test Suite Clean-Up
Removed Mocked Redis State:
Stripped out all mock expectations for the priority flag (e.g.,
Redis::shouldReceive('get')->with('updates-with-priority-enabled')
) across multiple test classes, including listener, selector, and processor tests.
Updated Method Calls:
Adjusted test assertions to explicitly pass the
$withPriority = true
argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.
Import Optimization:
Removed unused
Redis
facade imports from the test files.
Good response
Bad response
Share & export
Copy
Show more options
Copy prompt
Edit
You said any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php
You said
any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php
Listen
Show thinking
Gemini said
Gemini said
Based on the provided diff for...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50531
|
1786
|
10
|
2026-05-18T07:38:47.953402+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089927953_m2.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.5826017,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.35854387,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.37051198,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.3678524,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.08494016,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"bounds":{"left":0.09823803,"top":0.10454908,"width":0.028590426,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"bounds":{"left":0.1008976,"top":0.10973663,"width":0.021941489,"height":0.020351157},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.33992687,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.35322472,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.079288565,"top":0.14764565,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.079288565,"top":0.15003991,"width":0.1200133,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Overview","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Overview","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This diff removes the global Redis feature switch (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"updates-with-priority-enabled","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-3620185719173858872
|
-2851036621386925912
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled...
|
50528
|
NULL
|
NULL
|
NULL
|
|
50530
|
1785
|
11
|
2026-05-18T07:38:47.972140+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089927972_m1.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Overview","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Overview","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This diff removes the global Redis feature switch (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
7009070445836720895
|
-2851036621386925912
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (...
|
50529
|
NULL
|
NULL
|
NULL
|
|
50532
|
1785
|
12
|
2026-05-18T07:38:48.534454+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089928534_m1.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the
'yes'
flag to enable priority globally.
Refactored Target Selection:
Consolidated
selectExplicitTargetList()
into
selectTargetList()
. The method now strictly evaluates the
$withPriority
boolean argument to choose between normal and high-priority ElasticSearch update lists.
Test Suite Clean-Up
Test Suite Clean-Up
Removed Mocked Redis State:
Stripped out all mock expectations for the priority flag (e.g.,
Redis::shouldReceive('get')->with('updates-with-priority-enabled')
) across multiple test classes, including listener, selector, and processor tests.
Updated Method Calls:
Adjusted test assertions to explicitly pass the
$withPriority = true
argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.
Import Optimization:
Removed unused
Redis
facade imports from the test files.
Good response
Bad response
Share & export
Copy
Show more options
Copy prompt
Edit
You said any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php
You said
any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php
Listen
Show thinking
Gemini said
Gemini said
Based on the provided diff for
app/Component/ES/Processor/Traits/SelectEntityListTrait.php
, the code itself is functionally sound and cleaner. However, this architectural change introduces a couple of potential systemic and operational risks that you should verify.
Here are the potential issues to look out for:
1. Silent Degradation to Normal Priority (Unupdated Callers)
1. Silent Degradation to Normal Priority (Unupdated Callers)
The most significant risk is that other parts of the application might have relied on the implicit Redis check.
The Issue:
Previously, calling
self::selectTargetList(UpdateTarget::ACTIVITY)
(omitting the second argument) could still return the high-priority queue if the Redis flag was flipped on globally. Now, omitting the second argument will
always
default to
false
(normal priority)....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Overview","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Overview","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This diff removes the global Redis feature switch (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"updates-with-priority-enabled","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Core Logic Updates (SelectEntityListTrait)","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Core Logic Updates (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SelectEntityListTrait","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Redis Dependency:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Eliminated the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Illuminate\\Support\\Facades\\Redis","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import and the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PRIORITY_TAKES_PLACE","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"constant.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Implicit Checks:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Deleted the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"processWithPriority()","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"method, which previously checked Redis for the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"'yes'","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"flag to enable priority globally.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Refactored Target Selection:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Consolidated","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"selectExplicitTargetList()","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"into","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"selectTargetList()","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":". The method now strictly evaluates the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$withPriority","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"boolean argument to choose between normal and high-priority ElasticSearch update lists.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Test Suite Clean-Up","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Test Suite Clean-Up","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Mocked Redis State:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Stripped out all mock expectations for the priority flag (e.g.,","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Redis::shouldReceive('get')->with('updates-with-priority-enabled')","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") across multiple test classes, including listener, selector, and processor tests.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated Method Calls:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Adjusted test assertions to explicitly pass the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$withPriority = true","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Import Optimization:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed unused","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Redis","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"facade imports from the test files.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXCheckBox","text":"Good response","depth":22,"on_screen":false,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Bad response","depth":22,"on_screen":false,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Share & export","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy","depth":22,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show more options","depth":21,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Edit","depth":21,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php","depth":21,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Listen","depth":22,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Based on the provided diff for","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app/Component/ES/Processor/Traits/SelectEntityListTrait.php","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":", the code itself is functionally sound and cleaner. However, this architectural change introduces a couple of potential systemic and operational risks that you should verify.","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here are the potential issues to look out for:","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"1. Silent Degradation to Normal Priority (Unupdated Callers)","depth":23,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1. Silent Degradation to Normal Priority (Unupdated Callers)","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The most significant risk is that other parts of the application might have relied on the implicit Redis check.","depth":24,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The Issue:","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Previously, calling","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"self::selectTargetList(UpdateTarget::ACTIVITY)","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(omitting the second argument) could still return the high-priority queue if the Redis flag was flipped on globally. Now, omitting the second argument will","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"always","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"default to","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"false","depth":27,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(normal priority).","depth":26,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-8472505309610435907
|
-2778979025201514328
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the
'yes'
flag to enable priority globally.
Refactored Target Selection:
Consolidated
selectExplicitTargetList()
into
selectTargetList()
. The method now strictly evaluates the
$withPriority
boolean argument to choose between normal and high-priority ElasticSearch update lists.
Test Suite Clean-Up
Test Suite Clean-Up
Removed Mocked Redis State:
Stripped out all mock expectations for the priority flag (e.g.,
Redis::shouldReceive('get')->with('updates-with-priority-enabled')
) across multiple test classes, including listener, selector, and processor tests.
Updated Method Calls:
Adjusted test assertions to explicitly pass the
$withPriority = true
argument where the tests previously relied on the mocked global Redis state to trigger high-priority queues.
Import Optimization:
Removed unused
Redis
facade imports from the test files.
Good response
Bad response
Share & export
Copy
Show more options
Copy prompt
Edit
You said any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php
You said
any potential issue in app/Component/ES/Processor/Traits/SelectEntityListTrait.php
Listen
Show thinking
Gemini said
Gemini said
Based on the provided diff for
app/Component/ES/Processor/Traits/SelectEntityListTrait.php
, the code itself is functionally sound and cleaner. However, this architectural change introduces a couple of potential systemic and operational risks that you should verify.
Here are the potential issues to look out for:
1. Silent Degradation to Normal Priority (Unupdated Callers)
1. Silent Degradation to Normal Priority (Unupdated Callers)
The most significant risk is that other parts of the application might have relied on the implicit Redis check.
The Issue:
Previously, calling
self::selectTargetList(UpdateTarget::ACTIVITY)
(omitting the second argument) could still return the high-priority queue if the Redis flag was flipped on globally. Now, omitting the second argument will
always
default to
false
(normal priority)....
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50533
|
1785
|
13
|
2026-05-18T07:38:49.753215+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089929753_m1.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the
'yes'
flag to enable priority globally.
Refactored Target Selection:
Consolidated...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Overview","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Overview","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This diff removes the global Redis feature switch (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"updates-with-priority-enabled","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Core Logic Updates (SelectEntityListTrait)","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Core Logic Updates (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SelectEntityListTrait","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Redis Dependency:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Eliminated the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Illuminate\\Support\\Facades\\Redis","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import and the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PRIORITY_TAKES_PLACE","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"constant.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Implicit Checks:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Deleted the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"processWithPriority()","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"method, which previously checked Redis for the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"'yes'","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"flag to enable priority globally.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Refactored Target Selection:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Consolidated","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3246264415706167877
|
-2851036621386925912
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the
'yes'
flag to enable priority globally.
Refactored Target Selection:
Consolidated...
|
50532
|
NULL
|
NULL
|
NULL
|
|
50534
|
1786
|
11
|
2026-05-18T07:38:49.759194+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089929759_m2.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.5826017,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.35854387,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.37051198,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.3678524,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.08494016,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"bounds":{"left":0.09823803,"top":0.10454908,"width":0.028590426,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"bounds":{"left":0.1008976,"top":0.10973663,"width":0.021941489,"height":0.020351157},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.33992687,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.35322472,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.079288565,"top":0.14764565,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.079288565,"top":0.15003991,"width":0.1200133,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Overview","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Overview","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This diff removes the global Redis feature switch (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"updates-with-priority-enabled","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Core Logic Updates (SelectEntityListTrait)","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Core Logic Updates (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SelectEntityListTrait","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Redis Dependency:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Eliminated the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Illuminate\\Support\\Facades\\Redis","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import and the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PRIORITY_TAKES_PLACE","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"constant.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Implicit Checks:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Deleted the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"processWithPriority()","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"method, which previously checked Redis for the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-7935920721626914799
|
-2851036621386925912
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant.
Removed Implicit Checks:
Deleted the
processWithPriority()
method, which previously checked Redis for the...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50535
|
1785
|
14
|
2026-05-18T07:38:50.713320+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089930713_m1.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Show thinking","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Gemini said","depth":20,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Gemini said","depth":21,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Overview","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Overview","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"This diff removes the global Redis feature switch (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"updates-with-priority-enabled","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Core Logic Updates (SelectEntityListTrait)","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Core Logic Updates (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"SelectEntityListTrait","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Removed Redis Dependency:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Eliminated the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Illuminate\\Support\\Facades\\Redis","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"import and the","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"PRIORITY_TAKES_PLACE","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"constant.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3499480551260471759
|
-2851036621386925912
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen
Show thinking
Gemini said
Gemini said
Overview
Overview
This diff removes the global Redis feature switch (
updates-with-priority-enabled
) that previously controlled priority reindexing. The system now determines priority explicitly via method parameters rather than relying on a global state in Redis.
Core Logic Updates (SelectEntityListTrait)
Core Logic Updates (
SelectEntityListTrait
)
Removed Redis Dependency:
Eliminated the
Illuminate\Support\Facades\Redis
import and the
PRIORITY_TAKES_PLACE
constant....
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50536
|
1786
|
12
|
2026-05-18T07:38:50.746352+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089930746_m2.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.5826017,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"bounds":{"left":0.35854387,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"bounds":{"left":0.37051198,"top":0.055067837,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"bounds":{"left":0.3678524,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"bounds":{"left":0.08494016,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"bounds":{"left":0.09823803,"top":0.10454908,"width":0.028590426,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"bounds":{"left":0.1008976,"top":0.10973663,"width":0.021941489,"height":0.020351157},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Chat","depth":12,"bounds":{"left":0.33992687,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open menu for conversation actions.","depth":12,"bounds":{"left":0.35322472,"top":0.103751,"width":0.013297873,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Conversation with Gemini","depth":15,"bounds":{"left":0.079288565,"top":0.14764565,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation with Gemini","depth":16,"bounds":{"left":0.079288565,"top":0.15003991,"width":0.1200133,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy prompt","depth":21,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":21,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"You said","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in a new github.dev tab","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open in codespace","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\\Component\\ES\\Processor\\Traits;5namespace Jiminny\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;8use Jiminny\\Component\\ES\\Processor\\UpdateTarget;10use Jiminny\\Exceptions\\InvalidArgumentException;9use Jiminny\\Exceptions\\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;5namespace Tests\\Unit\\Component\\ES\\Processor\\Traits;667use Illuminate\\Support\\Facades\\Log;7use Illuminate\\Support\\Facades\\Log;8-use Illuminate\\Support\\Facades\\Redis;9use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;8use Jiminny\\Component\\ES\\Processor\\Traits\\SelectEntityListTrait;10use Jiminny\\Component\\ES\\Processor\\UpdateTarget;9use Jiminny\\Component\\ES\\Processor\\UpdateTarget;11use Jiminny\\Exceptions\\InvalidArgumentException;10use Jiminny\\Exceptions\\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.","depth":23,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","depth":23,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":21,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Listen","depth":22,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-7833361327688115083
|
-2851036621386925912
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
New Chat
Open menu for conversation actions.
Conversation with Gemini
Conversation with Gemini
Copy prompt
You said I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev Open in a new github.dev tab Open in codespace Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected. Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
You said
I’m on page “<tabTitle>Jy 20918 remove redis switch for priority reindexi</tabTitle>” with “<selection>Open in github.dev
Open in a new github.dev tab
Open in codespace
Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Jiminny\Component\ES\Processor\Traits;5namespace Jiminny\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\UpdateTarget;8use Jiminny\Component\ES\Processor\UpdateTarget;10use Jiminny\Exceptions\InvalidArgumentException;9use Jiminny\Exceptions\InvalidArgumentException;1110@@ -17,26 +16,12 @@ trait SelectEntityListTrait17private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';16private const string ENTITIES_NORMAL_PRIORITIES_LIST = '%s-for-update';18private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';17private const string ENTITIES_HIGH_PRIORITIES_LIST = '%s-for-update-priority';191820-// Priority flag for selecting the correct target list21-private const string PRIORITY_TAKES_PLACE = 'updates-with-priority-enabled';22-23protected static function selectTargetList(string $entityType, bool $withPriority = false): string19protected static function selectTargetList(string $entityType, bool $withPriority = false): string24 {20 {25if (! in_array($entityType, UpdateTarget::allowedTargets())) {21if (! in_array($entityType, UpdateTarget::allowedTargets())) {26throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');22throw new InvalidArgumentException('AsyncUpdateElasticSearch, invalid entity type');27 }23 }282429-$implicitPriority = self::processWithPriority($withPriority);30-31-return self::selectExplicitTargetList($entityType, $implicitPriority);32- }33-34-/**35- * Omit checking for flag "Priority Enabled" in Redis, EXPLICITLY select the proper set name, based only on36- * method params.37- */38-protected static function selectExplicitTargetList(string $entityType, bool $withPriority = false): string39- {40if ($withPriority) {25if ($withPriority) {41 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');26 Log::debug('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');4227@@ -45,9 +30,4 @@ protected static function selectExplicitTargetList(string $entityType, bool $wit453046return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);31return sprintf(self::ENTITIES_NORMAL_PRIORITIES_LIST, $entityType);47 }32 }48-49-protected static function processWithPriority(bool $withPriority = false): bool50- {51-return $withPriority || Redis::get(self::PRIORITY_TAKES_PLACE) === 'yes';52- }53}33}Original file line numberOriginal file lineDiff line numberDiff line change@@ -17,7 +17,6 @@ class UpdateMultipleTargetsListenerTest extends TestCase17{17{18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void18public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): void19 {19 {20-// Arrange21$entityIds = [1, 2, 3];20$entityIds = [1, 2, 3];22$updateTarget = UpdateTargetEnum::ACTIVITY;21$updateTarget = UpdateTargetEnum::ACTIVITY;23$purpose = 'testing';22$purpose = 'testing';@@ -44,7 +43,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi44 ->with(Mockery::type('string'), $entityIds)43 ->with(Mockery::type('string'), $entityIds)45 ->andReturn(count($entityIds));44 ->andReturn(count($entityIds));464547-// Act48$listener = new UpdateMultipleTargetsListener($logger);46$listener = new UpdateMultipleTargetsListener($logger);49$listener->handle($event);47$listener->handle($event);5048@@ -54,7 +52,6 @@ public function testHandleMethodLogsInfoAndCallsBulkMarkEntitiesForUpdate(): voi545255public function testHandleMethodWithNoPriority(): void53public function testHandleMethodWithNoPriority(): void56 {54 {57-// Arrange58$entityIds = [4, 5, 6];55$entityIds = [4, 5, 6];59$updateTarget = UpdateTargetEnum::OPPORTUNITY;56$updateTarget = UpdateTargetEnum::OPPORTUNITY;60$purpose = 'another_purpose';57$purpose = 'another_purpose';@@ -82,13 +79,6 @@ public function testHandleMethodWithNoPriority(): void82 ->with(Mockery::type('string'), $entityIds)79 ->with(Mockery::type('string'), $entityIds)83 ->andReturn(count($entityIds));80 ->andReturn(count($entityIds));848185-// Redis is also called in selectTargetList method86- Redis::shouldReceive('get')87- ->once()88- ->with('updates-with-priority-enabled')89- ->andReturn(null);90-91-// Act92$listener = new UpdateMultipleTargetsListener($logger);82$listener = new UpdateMultipleTargetsListener($logger);93$listener->handle($event);83$listener->handle($event);9484Original file line numberOriginal file lineDiff line numberDiff line change@@ -72,12 +72,6 @@ public function testHandleMethodWithNoPriority(): void72 ->with(Mockery::type('string'), self::ENTITY_ID)72 ->with(Mockery::type('string'), self::ENTITY_ID)73 ->andReturn(1);73 ->andReturn(1);747475-// Redis is also called in selectTargetList method76- Redis::shouldReceive('get')77- ->once()78- ->with('updates-with-priority-enabled')79- ->andReturn(null);80-81/** @var Dispatcher|MockObject $dispatcher */75/** @var Dispatcher|MockObject $dispatcher */82$dispatcher = $this->createMock(Dispatcher::class);76$dispatcher = $this->createMock(Dispatcher::class);8377Original file line numberOriginal file lineDiff line numberDiff line change@@ -5,7 +5,6 @@5namespace Tests\Unit\Component\ES\Processor\Traits;5namespace Tests\Unit\Component\ES\Processor\Traits;667use Illuminate\Support\Facades\Log;7use Illuminate\Support\Facades\Log;8-use Illuminate\Support\Facades\Redis;9use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;8use Jiminny\Component\ES\Processor\Traits\SelectEntityListTrait;10use Jiminny\Component\ES\Processor\UpdateTarget;9use Jiminny\Component\ES\Processor\UpdateTarget;11use Jiminny\Exceptions\InvalidArgumentException;10use Jiminny\Exceptions\InvalidArgumentException;@@ -27,11 +26,6 @@ public function testSelectTargetListWrongType(): void272628public function testSelectTargetListWithHighPriority(): void27public function testSelectTargetListWithHighPriority(): void29 {28 {30- Redis::shouldReceive('get')31- ->once()32- ->with(self::PRIORITY_TAKES_PLACE)33- ->andReturn('yes');34-35 Log::shouldReceive('debug')29 Log::shouldReceive('debug')36 ->twice()30 ->twice()37 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');31 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');@@ -42,18 +36,17 @@ public function testSelectTargetListWithHighPriority(): void42self::selectTargetList(UpdateTarget::ACTIVITY, true)36self::selectTargetList(UpdateTarget::ACTIVITY, true)43 );37 );443845-// Priority is globally switched on via redis46$this->assertEquals(39$this->assertEquals(47'opportunities-for-update-priority',40'opportunities-for-update-priority',48-self::selectTargetList(UpdateTarget::OPPORTUNITY)41+self::selectTargetList(UpdateTarget::OPPORTUNITY, true)49 );42 );50 }43 }514452public function testSelectTargetListWithNormalPriority(): void45public function testSelectTargetListWithNormalPriority(): void53 {46 {54-Redis::shouldReceive('get')47+Log::shouldReceive('debug')55- ->with(self::PRIORITY_TAKES_PLACE)48+ ->never()56- ->andReturn(false);49+ ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');575058// Explicitly select priority list51// Explicitly select priority list59$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));52$this->assertEquals('activities-for-update', self::selectTargetList(UpdateTarget::ACTIVITY));Original file line numberOriginal file lineDiff line numberDiff line change@@ -54,11 +54,6 @@ public function testTargetStaleChunksFirst(): void54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);54return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);55 });55 });565657- Redis::shouldReceive('get')58- ->once() // High-priority list will not execute this check59- ->with('updates-with-priority-enabled')60- ->andReturn(null);61-62$highPriorityStart = 5001;57$highPriorityStart = 5001;63$highPriorityEnd = 5030;58$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);59$highPriorityRange = range($highPriorityStart, $highPriorityEnd);@@ -131,10 +126,6 @@ public function testOnlyHighPriorityEntitiesToProcess(): void131 ->method('getAllScheduledBatches')126 ->method('getAllScheduledBatches')132 ->willReturn([]);127 ->willReturn([]);133128134- Redis::shouldReceive('get')135- ->never() // High priority list will not execute this check136- ->with('updates-with-priority-enabled');137-138 Redis::shouldReceive('spop')129 Redis::shouldReceive('spop')139 ->never()130 ->never()140 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);131 ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);Original file line numberOriginal file lineDiff line numberDiff line change@@ -18,7 +18,6 @@ public function testMarkEntityForUpdate(): void18 {18 {19$activityId = 12457;19$activityId = 12457;202021- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');22 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);21 Redis::shouldReceive('sadd')->once()->with('activities-for-update', $activityId);232224 Log::shouldReceive('info')->once()->withAnyArgs();23 Log::shouldReceive('info')->once()->withAnyArgs();@@ -34,37 +33,26 @@ public function testBulkMarkEntitiesForUpdate(): void34// Add some entities33// Add some entities35$activities = [12457, 87612512];34$activities = [12457, 87612512];363537- Redis::shouldReceive('get')->once()->with('updates-with-priority-enabled')->andReturn('no');38 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);36 Redis::shouldReceive('saddarray')->once()->with('activities-for-update', $activities);393740 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);38 AsyncUpdateElasticSearch::bulkMarkEntitiesForUpdate(UpdateTarget::ACTIVITY, $activities);41 }39 }424043public function testGetEntitiesSourceList(): void41public function testGetEntitiesSourceList(): void44 {42 {45- Redis::shouldReceive('get')46- ->twice()47- ->with('updates-with-priority-enabled')48- ->andReturn('yes');49-50$this->assertEquals(43$this->assertEquals(51-'activities-for-update-priority',44+'activities-for-update',52 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)45 AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::ACTIVITY)53 );46 );544755$this->assertEquals(48$this->assertEquals(56'opportunities-for-update-priority',49'opportunities-for-update-priority',57- AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY)50+ AsyncUpdateElasticSearch::getEntitiesSourceList(UpdateTarget::OPPORTUNITY, true)58 );51 );59 }52 }605361public function testGetEntitiesListCount(): void54public function testGetEntitiesListCount(): void62 {55 {63- Redis::shouldReceive('get')64- ->once()65- ->with('updates-with-priority-enabled')66- ->andReturn(null);67-68 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);56 Redis::shouldReceive('scard')->once()->with('activities-for-update')->andReturn(3);69 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);57 Redis::shouldReceive('scard')->once()->with('opportunities-for-update-priority')->andReturn(12);7058Original file line numberOriginal file lineDiff line numberDiff line change@@ -96,8 +96,6 @@ public function testRunDoUpdateButThrottled(): void96 ->once()96 ->once()97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');97 ->with('[AsyncUpdateElasticSearch] - Priority check passed and priority is on');989899-// Update with priority (for all) is not enabled100- Redis::shouldReceive('get')->with('updates-with-priority-enabled')->andReturn(null);101// Reschedule High priority99// Reschedule High priority102 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);100 Redis::shouldReceive('saddarray')->with('activities-for-update-priority', $this->highPriority);103// Reschedule low priority101// Reschedule low priority</selection>” selected.
Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.
Expand
Listen...
|
50534
|
NULL
|
NULL
|
NULL
|
|
50537
|
1785
|
15
|
2026-05-18T07:38:52.348054+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089932348_m1.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"AI Chat settings","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":7,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"WORK, Google Account: lukas.kovalik@jiminny.com","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Main menu","depth":12,"on_screen":true,"role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New chat","depth":12,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Gemini","depth":15,"on_screen":true},{"role":"AXLink","text":"Skip to content","depth":6,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":7,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":10,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":9,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":9,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":9,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"All issues(g then i)","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All pull requests","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All repositories","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":9,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":9,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":10,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (29)","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-8896286710765549448
|
-4033791567192207282
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
AI Chat settings
Close
WORK, Google Account: [EMAIL]
Main menu
New chat
Gemini
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)...
|
50535
|
NULL
|
NULL
|
NULL
|
|
50538
|
1786
|
13
|
2026-05-18T07:38:52.367493+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089932367_m2.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088/changes#diff-4a1 github.com/jiminny/app/pull/12088/changes#diff-4a1e0ff3a25c28615f1bf22dc2d6b441b1d1926a2befa1226494a7aed1aeef53...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.5826017,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Close Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":6,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":7,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":10,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":9,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":9,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":9,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"All issues(g then i)","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All pull requests","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All repositories","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":9,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":9,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":10,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (29)","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
7378929878470719210
|
5189580435286053070
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Close Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50539
|
1785
|
16
|
2026-05-18T07:38:53.743754+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089933743_m1.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12075
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Jy 20846 mcp enable the ai to know details about t Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
github.com
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"github.com","depth":4,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-6408750050418588451
|
8428029055244959957
|
visual_change
|
accessibility
|
NULL
|
Jy 20846 mcp enable the ai to know details about t Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
github.com
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50540
|
1786
|
14
|
2026-05-18T07:38:55.070355+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089935070_m2.jpg...
|
Firefox
|
Jy 20846 mcp enable the ai to know details about t Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12075
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality
Security and quality
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
Review requested
Review requested
nikolaybiaivanov
nikolaybiaivanov
requested your review on this pull request.
Add your review
Add your review
Jy 20846 mcp enable the ai to know details about the user #12075 Edit title
Jy 20846 mcp enable the ai to know details about the user
#
12075
Edit title
Checks pending
Checks pending
Code
Code
Open
nikolaybiaivanov
nikolaybiaivanov
wants to merge 89 commits into
master
master
from
JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
Copy head branch name to clipboard
Lines changed: 350 additions & 24 deletions
Conversation (9)
Conversation
(
9
)
Commits (89)
Commits
(
89
)
Checks (2)
Checks
(
2
)
Files changed (8)
Files changed...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.61532325,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":7,"bounds":{"left":0.07962101,"top":0.0518755,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":8,"bounds":{"left":0.07962101,"top":0.05347167,"width":0.0029920214,"height":0.21468475},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":11,"bounds":{"left":0.08494016,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":10,"bounds":{"left":0.099567816,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":13,"bounds":{"left":0.112865694,"top":0.06464485,"width":0.018949468,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":15,"bounds":{"left":0.11486037,"top":0.07063048,"width":0.014960106,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":13,"bounds":{"left":0.13680187,"top":0.06464485,"width":0.017785905,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":15,"bounds":{"left":0.13879654,"top":0.07063048,"width":0.008477394,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":11,"bounds":{"left":0.81698805,"top":0.06464485,"width":0.06565824,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":14,"bounds":{"left":0.82928854,"top":0.07063048,"width":0.011801862,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":14,"bounds":{"left":0.8424202,"top":0.07222666,"width":0.002493351,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":14,"bounds":{"left":0.84640956,"top":0.07063048,"width":0.021276595,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":11,"bounds":{"left":0.88464093,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":11,"bounds":{"left":0.8949468,"top":0.06464485,"width":0.008643617,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":10,"bounds":{"left":0.9115692,"top":0.06464485,"width":0.01662234,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"All issues(g then i)","depth":11,"bounds":{"left":0.93085104,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All pull requests","depth":11,"bounds":{"left":0.94414896,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All repositories","depth":11,"bounds":{"left":0.9574468,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":10,"bounds":{"left":0.97074467,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":11,"bounds":{"left":0.9840425,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":10,"bounds":{"left":0.079288565,"top":0.051077414,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":11,"bounds":{"left":0.079288565,"top":0.05387071,"width":0.0787899,"height":0.023144454},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":13,"bounds":{"left":0.08494016,"top":0.09936153,"width":0.025099734,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":15,"bounds":{"left":0.095744684,"top":0.10574621,"width":0.011469414,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (29)","depth":13,"bounds":{"left":0.11269947,"top":0.09936153,"width":0.05501995,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":15,"bounds":{"left":0.12333777,"top":0.10574621,"width":0.02925532,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":15,"bounds":{"left":0.15525267,"top":0.113727055,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29","depth":15,"bounds":{"left":0.15824468,"top":0.113727055,"width":0.0056515955,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":15,"bounds":{"left":0.16389628,"top":0.113727055,"width":0.0018284575,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":13,"bounds":{"left":0.17037898,"top":0.09936153,"width":0.029089095,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":15,"bounds":{"left":0.18151596,"top":0.10574621,"width":0.014960106,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":13,"bounds":{"left":0.20212767,"top":0.09936153,"width":0.03025266,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":15,"bounds":{"left":0.21326463,"top":0.10574621,"width":0.016123671,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wiki","depth":13,"bounds":{"left":0.23503989,"top":0.09936153,"width":0.023105053,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wiki","depth":15,"bounds":{"left":0.24601063,"top":0.10574621,"width":0.009142287,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security and quality","depth":13,"bounds":{"left":0.26080453,"top":0.09936153,"width":0.058011968,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security and quality","depth":15,"bounds":{"left":0.27244017,"top":0.10574621,"width":0.042719416,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Insights","depth":13,"bounds":{"left":0.32147607,"top":0.09936153,"width":0.03125,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Insights","depth":15,"bounds":{"left":0.33277926,"top":0.10574621,"width":0.016788565,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":13,"bounds":{"left":0.35538563,"top":0.09936153,"width":0.032081116,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":15,"bounds":{"left":0.3665226,"top":0.10574621,"width":0.017785905,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Important update","depth":12,"bounds":{"left":0.09325133,"top":0.14365523,"width":0.0003324468,"height":0.016759777},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Important update","depth":13,"bounds":{"left":0.09325133,"top":0.1452514,"width":0.039228722,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.","depth":12,"bounds":{"left":0.09325133,"top":0.1452514,"width":0.2159242,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Review this update","depth":12,"bounds":{"left":0.30917552,"top":0.1452514,"width":0.04055851,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Review this update","depth":13,"bounds":{"left":0.30917552,"top":0.1452514,"width":0.04055851,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and manage your preferences in your","depth":12,"bounds":{"left":0.34973404,"top":0.1452514,"width":0.08261303,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"GitHub account settings","depth":12,"bounds":{"left":0.4323471,"top":0.1452514,"width":0.05219415,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub account settings","depth":13,"bounds":{"left":0.4323471,"top":0.1452514,"width":0.05219415,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":12,"bounds":{"left":0.48454124,"top":0.1452514,"width":0.0013297872,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dismiss banner","depth":10,"bounds":{"left":0.98636967,"top":0.13886672,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Review requested","depth":16,"bounds":{"left":0.35006648,"top":0.2019154,"width":0.0003324468,"height":0.016759777},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Review requested","depth":17,"bounds":{"left":0.35006648,"top":0.20351157,"width":0.039893616,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"nikolaybiaivanov","depth":16,"bounds":{"left":0.35006648,"top":0.20351157,"width":0.036901597,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"nikolaybiaivanov","depth":17,"bounds":{"left":0.35006648,"top":0.20351157,"width":0.036901597,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"requested your review on this pull request.","depth":16,"bounds":{"left":0.3882979,"top":0.20351157,"width":0.09158909,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Add your review","depth":14,"bounds":{"left":0.70212764,"top":0.19872306,"width":0.036901597,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Add your review","depth":16,"bounds":{"left":0.70511967,"top":0.20391062,"width":0.030917553,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Jy 20846 mcp enable the ai to know details about the user #12075 Edit title","depth":13,"bounds":{"left":0.33776596,"top":0.24221867,"width":0.3153258,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user","depth":14,"bounds":{"left":0.33776596,"top":0.24301676,"width":0.26512632,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"bounds":{"left":0.60555184,"top":0.24301676,"width":0.006482713,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12075","depth":15,"bounds":{"left":0.61203456,"top":0.24301676,"width":0.029089095,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit title","depth":14,"bounds":{"left":0.64245343,"top":0.24541101,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Checks pending","depth":15,"bounds":{"left":0.6590758,"top":0.24860336,"width":0.052027926,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks pending","depth":17,"bounds":{"left":0.67137635,"top":0.254589,"width":0.035405584,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Code","depth":14,"bounds":{"left":0.7137633,"top":0.24860336,"width":0.02825798,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Code","depth":16,"bounds":{"left":0.7180851,"top":0.254589,"width":0.011635638,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open","depth":14,"bounds":{"left":0.34840426,"top":0.28651237,"width":0.011968086,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"nikolaybiaivanov","depth":15,"bounds":{"left":0.36702126,"top":0.28332004,"width":0.03706782,"height":0.016759777},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"nikolaybiaivanov","depth":16,"bounds":{"left":0.36702126,"top":0.2849162,"width":0.03706782,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 89 commits into","depth":15,"bounds":{"left":0.40541887,"top":0.2849162,"width":0.06931516,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":16,"bounds":{"left":0.47606382,"top":0.282921,"width":0.018450798,"height":0.017557861},"on_screen":true,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":17,"bounds":{"left":0.47805852,"top":0.28611332,"width":0.014461436,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":17,"bounds":{"left":0.49584442,"top":0.2849162,"width":0.009973404,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20846-mcp-enable-the-ai-to-know-details-about-the-user","depth":17,"bounds":{"left":0.5071476,"top":0.282921,"width":0.14079122,"height":0.017557861},"on_screen":true,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20846-mcp-enable-the-ai-to-know-details-about-the-user","depth":18,"bounds":{"left":0.5091423,"top":0.28611332,"width":0.13680187,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":17,"bounds":{"left":0.6492686,"top":0.28052673,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lines changed: 350 additions & 24 deletions","depth":14,"bounds":{"left":0.7067819,"top":0.3367917,"width":0.019946808,"height":0.11412609},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Conversation (9)","depth":16,"bounds":{"left":0.33776596,"top":0.31883478,"width":0.0546875,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Conversation","depth":17,"bounds":{"left":0.35006648,"top":0.32841182,"width":0.028091755,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"bounds":{"left":0.38813165,"top":0.32841182,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9","depth":18,"bounds":{"left":0.39112368,"top":0.32841182,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"bounds":{"left":0.3941157,"top":0.32841182,"width":0.0016622341,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Commits (89)","depth":16,"bounds":{"left":0.39245346,"top":0.31883478,"width":0.04837101,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Commits","depth":17,"bounds":{"left":0.40475398,"top":0.32841182,"width":0.019115692,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"bounds":{"left":0.43650267,"top":0.32841182,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"89","depth":18,"bounds":{"left":0.43949467,"top":0.32841182,"width":0.005817819,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"bounds":{"left":0.4453125,"top":0.32841182,"width":0.0018284575,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Checks (2)","depth":16,"bounds":{"left":0.44082448,"top":0.31883478,"width":0.042386968,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks","depth":17,"bounds":{"left":0.453125,"top":0.32841182,"width":0.015957447,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"bounds":{"left":0.4788896,"top":0.32841182,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":18,"bounds":{"left":0.48188165,"top":0.32841182,"width":0.0028257978,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"bounds":{"left":0.48470744,"top":0.32841182,"width":0.0016622341,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Files changed (8)","depth":16,"bounds":{"left":0.48321143,"top":0.31883478,"width":0.056349736,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Files changed","depth":17,"bounds":{"left":0.49551198,"top":0.32841182,"width":0.029753989,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-4412156426783000773
|
7513437912552075342
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality
Security and quality
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
Review requested
Review requested
nikolaybiaivanov
nikolaybiaivanov
requested your review on this pull request.
Add your review
Add your review
Jy 20846 mcp enable the ai to know details about the user #12075 Edit title
Jy 20846 mcp enable the ai to know details about the user
#
12075
Edit title
Checks pending
Checks pending
Code
Code
Open
nikolaybiaivanov
nikolaybiaivanov
wants to merge 89 commits into
master
master
from
JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
Copy head branch name to clipboard
Lines changed: 350 additions & 24 deletions
Conversation (9)
Conversation
(
9
)
Commits (89)
Commits
(
89
)
Checks (2)
Checks
(
2
)
Files changed (8)
Files changed...
|
50538
|
NULL
|
NULL
|
NULL
|
|
50542
|
1786
|
15
|
2026-05-18T07:38:56.150890+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089936150_m2.jpg...
|
Firefox
|
Jy 20846 mcp enable the ai to know details about t Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12075
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.61532325,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":7,"bounds":{"left":0.07962101,"top":0.0518755,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":8,"bounds":{"left":0.07962101,"top":0.05347167,"width":0.0029920214,"height":0.21468475},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":11,"bounds":{"left":0.08494016,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":10,"bounds":{"left":0.099567816,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":13,"bounds":{"left":0.112865694,"top":0.06464485,"width":0.018949468,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":15,"bounds":{"left":0.11486037,"top":0.07063048,"width":0.014960106,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":13,"bounds":{"left":0.13680187,"top":0.06464485,"width":0.017785905,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":15,"bounds":{"left":0.13879654,"top":0.07063048,"width":0.008477394,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":11,"bounds":{"left":0.81698805,"top":0.06464485,"width":0.06565824,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":14,"bounds":{"left":0.82928854,"top":0.07063048,"width":0.011801862,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":14,"bounds":{"left":0.8424202,"top":0.07222666,"width":0.002493351,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":14,"bounds":{"left":0.84640956,"top":0.07063048,"width":0.021276595,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":11,"bounds":{"left":0.88464093,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":11,"bounds":{"left":0.8949468,"top":0.06464485,"width":0.008643617,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":10,"bounds":{"left":0.9115692,"top":0.06464485,"width":0.01662234,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"All issues(g then i)","depth":11,"bounds":{"left":0.93085104,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All pull requests","depth":11,"bounds":{"left":0.94414896,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All repositories","depth":11,"bounds":{"left":0.9574468,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":10,"bounds":{"left":0.97074467,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":11,"bounds":{"left":0.9840425,"top":0.06464485,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":10,"bounds":{"left":0.079288565,"top":0.051077414,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":11,"bounds":{"left":0.079288565,"top":0.05387071,"width":0.0787899,"height":0.023144454},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":13,"bounds":{"left":0.08494016,"top":0.09936153,"width":0.025099734,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":15,"bounds":{"left":0.095744684,"top":0.10574621,"width":0.011469414,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (29)","depth":13,"bounds":{"left":0.11269947,"top":0.09936153,"width":0.05501995,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":15,"bounds":{"left":0.12333777,"top":0.10574621,"width":0.02925532,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":15,"bounds":{"left":0.15525267,"top":0.113727055,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29","depth":15,"bounds":{"left":0.15824468,"top":0.113727055,"width":0.0056515955,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":15,"bounds":{"left":0.16389628,"top":0.113727055,"width":0.0018284575,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":13,"bounds":{"left":0.17037898,"top":0.09936153,"width":0.029089095,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":15,"bounds":{"left":0.18151596,"top":0.10574621,"width":0.014960106,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":13,"bounds":{"left":0.20212767,"top":0.09936153,"width":0.03025266,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":15,"bounds":{"left":0.21326463,"top":0.10574621,"width":0.016123671,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
5314934339551876850
|
577894485595967563
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50541
|
1785
|
17
|
2026-05-18T07:38:56.186950+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089936186_m1.jpg...
|
Firefox
|
Jy 20846 mcp enable the ai to know details about t Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12075
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":7,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":8,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":11,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":11,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":14,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":11,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":10,"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"All issues(g then i)","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All pull requests","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All repositories","depth":11,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":10,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":11,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":10,"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":11,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (29)","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":13,"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":15,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
5314934339551876850
|
577894485595967563
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions...
|
50539
|
NULL
|
NULL
|
NULL
|
|
50543
|
1786
|
16
|
2026-05-18T07:39:01.243354+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089941243_m2.jpg...
|
Firefox
|
Jy 20846 mcp enable the ai to know details about t Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12075/changes
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality
Security and quality
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
Jy 20846 mcp enable the ai to know details about the user #12075 Edit title
Jy 20846 mcp enable the ai to know details about the user
#
12075
Edit title
Preview
Preview
Checks pending
Checks pending
Code
Code
Open
nikolaybiaivanov
nikolaybiaivanov
wants to merge 89 commits into
master
master
from
JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
Copy head branch name to clipboard
Lines changed: 350 additions & 24 deletions
Conversation (9)
Conversation
(
9
)
Commits (89)
Commits
(
89
)
Checks (2)
Checks
(
2
)
Files changed (8)
Files changed
(
8
)
Pull Request Toolbar
Pull Request Toolbar
Collapse file tree
All commits
All commits
0 of 8 files viewed
Submit review
Submit
review
Open diff view settings
Open overview panel
Open comments panel
(
0
)
Filter files…
Filter options
File tree
File tree
app
Http/Middleware
McpTierMiddleware.php
McpTierMiddleware.php
Mcp
Servers
JiminnyServer.php...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.61532325,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":7,"bounds":{"left":0.07962101,"top":0.0,"width":0.0003324468,"height":0.0007980846},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":8,"bounds":{"left":0.07962101,"top":0.0,"width":0.0029920214,"height":0.21468475},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":11,"bounds":{"left":0.08494016,"top":0.0047885077,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":10,"bounds":{"left":0.099567816,"top":0.0047885077,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":13,"bounds":{"left":0.112865694,"top":0.0047885077,"width":0.018949468,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":15,"bounds":{"left":0.11486037,"top":0.010774142,"width":0.014960106,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":13,"bounds":{"left":0.13680187,"top":0.0047885077,"width":0.017785905,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":15,"bounds":{"left":0.13879654,"top":0.010774142,"width":0.008477394,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":11,"bounds":{"left":0.81698805,"top":0.0047885077,"width":0.06565824,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":14,"bounds":{"left":0.82928854,"top":0.010774142,"width":0.011801862,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":14,"bounds":{"left":0.8424202,"top":0.012370312,"width":0.002493351,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":14,"bounds":{"left":0.84640956,"top":0.010774142,"width":0.021276595,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":11,"bounds":{"left":0.88464093,"top":0.0047885077,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":11,"bounds":{"left":0.8949468,"top":0.0047885077,"width":0.008643617,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":10,"bounds":{"left":0.9115692,"top":0.0047885077,"width":0.01662234,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"All issues(g then i)","depth":11,"bounds":{"left":0.93085104,"top":0.0047885077,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All pull requests","depth":11,"bounds":{"left":0.94414896,"top":0.0047885077,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All repositories","depth":11,"bounds":{"left":0.9574468,"top":0.0047885077,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":10,"bounds":{"left":0.97074467,"top":0.0047885077,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":11,"bounds":{"left":0.9840425,"top":0.0047885077,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":10,"bounds":{"left":0.079288565,"top":0.0,"width":0.0003324468,"height":0.0007980846},"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":11,"bounds":{"left":0.079288565,"top":0.0,"width":0.0787899,"height":0.023144454},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":13,"bounds":{"left":0.08494016,"top":0.039505187,"width":0.025099734,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":15,"bounds":{"left":0.095744684,"top":0.045889866,"width":0.011469414,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (29)","depth":13,"bounds":{"left":0.11269947,"top":0.039505187,"width":0.05501995,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":15,"bounds":{"left":0.12333777,"top":0.045889866,"width":0.02925532,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":15,"bounds":{"left":0.15525267,"top":0.05387071,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29","depth":15,"bounds":{"left":0.15824468,"top":0.05387071,"width":0.0056515955,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":15,"bounds":{"left":0.16389628,"top":0.05387071,"width":0.0018284575,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":13,"bounds":{"left":0.17037898,"top":0.039505187,"width":0.029089095,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":15,"bounds":{"left":0.18151596,"top":0.045889866,"width":0.014960106,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":13,"bounds":{"left":0.20212767,"top":0.039505187,"width":0.03025266,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":15,"bounds":{"left":0.21326463,"top":0.045889866,"width":0.016123671,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wiki","depth":13,"bounds":{"left":0.23503989,"top":0.039505187,"width":0.023105053,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wiki","depth":15,"bounds":{"left":0.24601063,"top":0.045889866,"width":0.009142287,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security and quality","depth":13,"bounds":{"left":0.26080453,"top":0.039505187,"width":0.058011968,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security and quality","depth":15,"bounds":{"left":0.27244017,"top":0.045889866,"width":0.042719416,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Insights","depth":13,"bounds":{"left":0.32147607,"top":0.039505187,"width":0.03125,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Insights","depth":15,"bounds":{"left":0.33277926,"top":0.045889866,"width":0.016788565,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":13,"bounds":{"left":0.35538563,"top":0.039505187,"width":0.032081116,"height":0.026336791},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":15,"bounds":{"left":0.3665226,"top":0.045889866,"width":0.017785905,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Important update","depth":12,"bounds":{"left":0.09325133,"top":0.083798885,"width":0.0003324468,"height":0.016759777},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Important update","depth":13,"bounds":{"left":0.09325133,"top":0.08539505,"width":0.039228722,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.","depth":12,"bounds":{"left":0.09325133,"top":0.08539505,"width":0.2159242,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Review this update","depth":12,"bounds":{"left":0.30917552,"top":0.08539505,"width":0.04055851,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Review this update","depth":13,"bounds":{"left":0.30917552,"top":0.08539505,"width":0.04055851,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and manage your preferences in your","depth":12,"bounds":{"left":0.34973404,"top":0.08539505,"width":0.08261303,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"GitHub account settings","depth":12,"bounds":{"left":0.4323471,"top":0.08539505,"width":0.05219415,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub account settings","depth":13,"bounds":{"left":0.4323471,"top":0.08539505,"width":0.05219415,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":12,"bounds":{"left":0.48454124,"top":0.08539505,"width":0.0013297872,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dismiss banner","depth":10,"bounds":{"left":0.98636967,"top":0.079010375,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Jy 20846 mcp enable the ai to know details about the user #12075 Edit title","depth":13,"bounds":{"left":0.090259306,"top":0.132083,"width":0.3153258,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user","depth":14,"bounds":{"left":0.090259306,"top":0.13288109,"width":0.26512632,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"bounds":{"left":0.35804522,"top":0.13288109,"width":0.006482713,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12075","depth":15,"bounds":{"left":0.3645279,"top":0.13288109,"width":0.029089095,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit title","depth":14,"bounds":{"left":0.3949468,"top":0.13527533,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Preview","depth":13,"bounds":{"left":0.95827794,"top":0.14006385,"width":0.031083776,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Preview","depth":15,"bounds":{"left":0.96359706,"top":0.14485236,"width":0.01512633,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Checks pending","depth":15,"bounds":{"left":0.8715093,"top":0.13846768,"width":0.051861703,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks pending","depth":17,"bounds":{"left":0.88380986,"top":0.14445332,"width":0.03523936,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Code","depth":14,"bounds":{"left":0.9260306,"top":0.13846768,"width":0.02825798,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Code","depth":16,"bounds":{"left":0.9303524,"top":0.14445332,"width":0.011635638,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open","depth":14,"bounds":{"left":0.1008976,"top":0.1763767,"width":0.011968086,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"nikolaybiaivanov","depth":15,"bounds":{"left":0.11951463,"top":0.17318435,"width":0.03706782,"height":0.016759777},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"nikolaybiaivanov","depth":16,"bounds":{"left":0.11951463,"top":0.17478053,"width":0.03706782,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 89 commits into","depth":15,"bounds":{"left":0.15791224,"top":0.17478053,"width":0.06948138,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":16,"bounds":{"left":0.2287234,"top":0.17278531,"width":0.018284574,"height":0.017557861},"on_screen":true,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":17,"bounds":{"left":0.23071809,"top":0.17597765,"width":0.014295213,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":17,"bounds":{"left":0.24833776,"top":0.17478053,"width":0.009973404,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20846-mcp-enable-the-ai-to-know-details-about-the-user","depth":17,"bounds":{"left":0.25964096,"top":0.17278531,"width":0.14079122,"height":0.017557861},"on_screen":true,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20846-mcp-enable-the-ai-to-know-details-about-the-user","depth":18,"bounds":{"left":0.26163563,"top":0.17597765,"width":0.13680187,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":17,"bounds":{"left":0.40176198,"top":0.17039107,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lines changed: 350 additions & 24 deletions","depth":14,"bounds":{"left":0.95412236,"top":0.22665602,"width":0.019946808,"height":0.11412609},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Conversation (9)","depth":16,"bounds":{"left":0.090259306,"top":0.20869912,"width":0.054853722,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Conversation","depth":17,"bounds":{"left":0.10255984,"top":0.21827614,"width":0.02825798,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"bounds":{"left":0.14079122,"top":0.21827614,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9","depth":18,"bounds":{"left":0.14378324,"top":0.21827614,"width":0.0028257978,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"bounds":{"left":0.14660904,"top":0.21827614,"width":0.0018284575,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Commits (89)","depth":16,"bounds":{"left":0.14511304,"top":0.20869912,"width":0.04837101,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Commits","depth":17,"bounds":{"left":0.15741356,"top":0.21827614,"width":0.019115692,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"bounds":{"left":0.18916224,"top":0.21827614,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"89","depth":18,"bounds":{"left":0.19215426,"top":0.21827614,"width":0.005817819,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"bounds":{"left":0.19797207,"top":0.21827614,"width":0.0016622341,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Checks (2)","depth":16,"bounds":{"left":0.19348404,"top":0.20869912,"width":0.042386968,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks","depth":17,"bounds":{"left":0.20578457,"top":0.21827614,"width":0.015957447,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"bounds":{"left":0.2315492,"top":0.21827614,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":18,"bounds":{"left":0.23454122,"top":0.21827614,"width":0.0026595744,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"bounds":{"left":0.2372008,"top":0.21827614,"width":0.0018284575,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Files changed (8)","depth":16,"bounds":{"left":0.23587102,"top":0.20869912,"width":0.056349736,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":true,"is_selected":true},{"role":"AXStaticText","text":"Files changed","depth":17,"bounds":{"left":0.24817154,"top":0.21827614,"width":0.029753989,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"bounds":{"left":0.28789893,"top":0.21827614,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"8","depth":18,"bounds":{"left":0.29089096,"top":0.21827614,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"bounds":{"left":0.29388297,"top":0.21827614,"width":0.0016622341,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Pull Request Toolbar","depth":14,"bounds":{"left":0.090259306,"top":0.26376694,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Pull Request Toolbar","depth":15,"bounds":{"left":0.090259306,"top":0.26656026,"width":0.030086435,"height":0.08060654},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Collapse file tree","depth":14,"bounds":{"left":0.090259306,"top":0.2529928,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"All commits","depth":14,"bounds":{"left":0.1022274,"top":0.2529928,"width":0.040392287,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"All commits","depth":16,"bounds":{"left":0.11186835,"top":0.25818038,"width":0.02244016,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0 of 8 files viewed","depth":15,"bounds":{"left":0.8646942,"top":0.26536313,"width":0.01512633,"height":0.08060654},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Submit review","depth":14,"bounds":{"left":0.9025931,"top":0.2529928,"width":0.03856383,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Submit","depth":16,"bounds":{"left":0.9055851,"top":0.25818038,"width":0.014793883,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"review","depth":16,"bounds":{"left":0.920379,"top":0.25818038,"width":0.012466756,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Open diff view settings","depth":14,"bounds":{"left":0.9438165,"top":0.2529928,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open overview panel","depth":14,"bounds":{"left":0.96143615,"top":0.2529928,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open comments panel","depth":14,"bounds":{"left":0.97207445,"top":0.2529928,"width":0.017287234,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"(","depth":16,"bounds":{"left":0.98038566,"top":0.25818038,"width":0.0026595744,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":16,"bounds":{"left":0.9830452,"top":0.25818038,"width":0.0026595744,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":16,"bounds":{"left":0.9857048,"top":0.25818038,"width":0.0014960107,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXTextField","text":"Filter files…","depth":16,"bounds":{"left":0.1015625,"top":0.30207503,"width":0.06815159,"height":0.023942538},"on_screen":true,"help_text":"","role_description":"text field","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Filter options","depth":16,"bounds":{"left":0.17270611,"top":0.30127692,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"File tree","depth":15,"bounds":{"left":0.09059176,"top":0.339585,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"File tree","depth":16,"bounds":{"left":0.09059176,"top":0.3423783,"width":0.014295213,"height":0.0518755},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"app","depth":19,"bounds":{"left":0.1065492,"top":0.34557062,"width":0.008144947,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Http/Middleware","depth":21,"bounds":{"left":0.10920878,"top":0.3715084,"width":0.03557181,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"McpTierMiddleware.php","depth":23,"bounds":{"left":0.11186835,"top":0.39704707,"width":0.051529255,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"McpTierMiddleware.php","depth":24,"bounds":{"left":0.11186835,"top":0.39704707,"width":0.051529255,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Mcp","depth":21,"bounds":{"left":0.10920878,"top":0.4225858,"width":0.00930851,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Servers","depth":23,"bounds":{"left":0.11186835,"top":0.4481245,"width":0.016289894,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JiminnyServer.php","depth":25,"bounds":{"left":0.114527926,"top":0.47406226,"width":0.039727394,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
7005553328954942883
|
604916084164718671
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality
Security and quality
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
Jy 20846 mcp enable the ai to know details about the user #12075 Edit title
Jy 20846 mcp enable the ai to know details about the user
#
12075
Edit title
Preview
Preview
Checks pending
Checks pending
Code
Code
Open
nikolaybiaivanov
nikolaybiaivanov
wants to merge 89 commits into
master
master
from
JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
Copy head branch name to clipboard
Lines changed: 350 additions & 24 deletions
Conversation (9)
Conversation
(
9
)
Commits (89)
Commits
(
89
)
Checks (2)
Checks
(
2
)
Files changed (8)
Files changed
(
8
)
Pull Request Toolbar
Pull Request Toolbar
Collapse file tree
All commits
All commits
0 of 8 files viewed
Submit review
Submit
review
Open diff view settings
Open overview panel
Open comments panel
(
0
)
Filter files…
Filter options
File tree
File tree
app
Http/Middleware
McpTierMiddleware.php
McpTierMiddleware.php
Mcp
Servers
JiminnyServer.php...
|
50542
|
NULL
|
NULL
|
NULL
|
|
50544
|
1786
|
17
|
2026-05-18T07:39:04.152130+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089944152_m2.jpg...
|
Firefox
|
Jy 20846 mcp enable the ai to know details about t Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12075/changes
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality
Security and quality
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
Jy 20846 mcp enable the ai to know details about the user #12075 Edit title
Jy 20846 mcp enable the ai to know details about the user
#
12075
Edit title
Preview
Preview
Checks pending
Checks pending
Code
Code
Open
nikolaybiaivanov
nikolaybiaivanov
wants to merge 89 commits into
master
master
from
JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
Copy head branch name to clipboard
Lines changed: 350 additions & 24 deletions
Conversation (9)
Conversation
(
9
)
Commits (89)
Commits
(
89
)
Checks (2)
Checks
(
2
)...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.61532325,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":7,"bounds":{"left":0.07962101,"top":0.0,"width":0.0003324468,"height":0.0007980846},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":8,"bounds":{"left":0.07962101,"top":0.0,"width":0.0029920214,"height":0.21468475},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":11,"bounds":{"left":0.08494016,"top":0.0,"width":0.010638298,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":10,"bounds":{"left":0.099567816,"top":0.0,"width":0.010638298,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":13,"bounds":{"left":0.112865694,"top":0.0,"width":0.018949468,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":15,"bounds":{"left":0.11486037,"top":0.0,"width":0.014960106,"height":0.013567438},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":13,"bounds":{"left":0.13680187,"top":0.0,"width":0.017785905,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":15,"bounds":{"left":0.13879654,"top":0.0,"width":0.008477394,"height":0.013567438},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":11,"bounds":{"left":0.81698805,"top":0.0,"width":0.06565824,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":14,"bounds":{"left":0.82928854,"top":0.0,"width":0.011801862,"height":0.013567438},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":14,"bounds":{"left":0.8424202,"top":0.0,"width":0.002493351,"height":0.011572227},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":14,"bounds":{"left":0.84640956,"top":0.0,"width":0.021276595,"height":0.013567438},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":11,"bounds":{"left":0.88464093,"top":0.0,"width":0.010638298,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":11,"bounds":{"left":0.8949468,"top":0.0,"width":0.008643617,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":10,"bounds":{"left":0.9115692,"top":0.0,"width":0.01662234,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"All issues(g then i)","depth":11,"bounds":{"left":0.93085104,"top":0.0,"width":0.010638298,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All pull requests","depth":11,"bounds":{"left":0.94414896,"top":0.0,"width":0.010638298,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All repositories","depth":11,"bounds":{"left":0.9574468,"top":0.0,"width":0.010638298,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":10,"bounds":{"left":0.97074467,"top":0.0,"width":0.010638298,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":11,"bounds":{"left":0.9840425,"top":0.0,"width":0.010638298,"height":0.025538707},"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":10,"bounds":{"left":0.079288565,"top":0.0,"width":0.0003324468,"height":0.0007980846},"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":11,"bounds":{"left":0.079288565,"top":0.0,"width":0.0787899,"height":0.023144454},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":13,"bounds":{"left":0.08494016,"top":0.0,"width":0.025099734,"height":0.026336791},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":15,"bounds":{"left":0.095744684,"top":0.0,"width":0.011469414,"height":0.013567438},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (29)","depth":13,"bounds":{"left":0.11269947,"top":0.0,"width":0.05501995,"height":0.026336791},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":15,"bounds":{"left":0.12333777,"top":0.0,"width":0.02925532,"height":0.013567438},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":15,"bounds":{"left":0.15525267,"top":0.0,"width":0.0029920214,"height":0.013567438},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29","depth":15,"bounds":{"left":0.15824468,"top":0.0,"width":0.0056515955,"height":0.013567438},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":15,"bounds":{"left":0.16389628,"top":0.0,"width":0.0018284575,"height":0.013567438},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":13,"bounds":{"left":0.17037898,"top":0.0,"width":0.029089095,"height":0.026336791},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":15,"bounds":{"left":0.18151596,"top":0.0,"width":0.014960106,"height":0.013567438},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":13,"bounds":{"left":0.20212767,"top":0.0,"width":0.03025266,"height":0.026336791},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":15,"bounds":{"left":0.21326463,"top":0.0,"width":0.016123671,"height":0.013567438},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wiki","depth":13,"bounds":{"left":0.23503989,"top":0.0,"width":0.023105053,"height":0.026336791},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wiki","depth":15,"bounds":{"left":0.24601063,"top":0.0,"width":0.009142287,"height":0.013567438},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security and quality","depth":13,"bounds":{"left":0.26080453,"top":0.0,"width":0.058011968,"height":0.026336791},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security and quality","depth":15,"bounds":{"left":0.27244017,"top":0.0,"width":0.042719416,"height":0.013567438},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Insights","depth":13,"bounds":{"left":0.32147607,"top":0.0,"width":0.03125,"height":0.026336791},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Insights","depth":15,"bounds":{"left":0.33277926,"top":0.0,"width":0.016788565,"height":0.013567438},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":13,"bounds":{"left":0.35538563,"top":0.0,"width":0.032081116,"height":0.026336791},"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":15,"bounds":{"left":0.3665226,"top":0.0,"width":0.017785905,"height":0.013567438},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Important update","depth":12,"bounds":{"left":0.09325133,"top":0.021548284,"width":0.0003324468,"height":0.016759777},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Important update","depth":13,"bounds":{"left":0.09325133,"top":0.023144454,"width":0.039228722,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.","depth":12,"bounds":{"left":0.09325133,"top":0.023144454,"width":0.2159242,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Review this update","depth":12,"bounds":{"left":0.30917552,"top":0.023144454,"width":0.04055851,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Review this update","depth":13,"bounds":{"left":0.30917552,"top":0.023144454,"width":0.04055851,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and manage your preferences in your","depth":12,"bounds":{"left":0.34973404,"top":0.023144454,"width":0.08261303,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"GitHub account settings","depth":12,"bounds":{"left":0.4323471,"top":0.023144454,"width":0.05219415,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub account settings","depth":13,"bounds":{"left":0.4323471,"top":0.0207502,"width":0.05219415,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":12,"bounds":{"left":0.48454124,"top":0.0207502,"width":0.0013297872,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dismiss banner","depth":10,"bounds":{"left":0.98636967,"top":0.014365523,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Jy 20846 mcp enable the ai to know details about the user #12075 Edit title","depth":13,"bounds":{"left":0.090259306,"top":0.06743815,"width":0.3153258,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user","depth":14,"bounds":{"left":0.090259306,"top":0.06823623,"width":0.26512632,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"bounds":{"left":0.35804522,"top":0.06823623,"width":0.006482713,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12075","depth":15,"bounds":{"left":0.3645279,"top":0.06823623,"width":0.029089095,"height":0.030327214},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit title","depth":14,"bounds":{"left":0.3949468,"top":0.07063048,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Preview","depth":13,"bounds":{"left":0.95827794,"top":0.075418994,"width":0.031083776,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Preview","depth":15,"bounds":{"left":0.96359706,"top":0.080207504,"width":0.01512633,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Checks pending","depth":15,"bounds":{"left":0.8715093,"top":0.073822826,"width":0.051861703,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks pending","depth":17,"bounds":{"left":0.88380986,"top":0.07980846,"width":0.03523936,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Code","depth":14,"bounds":{"left":0.9260306,"top":0.073822826,"width":0.02825798,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Code","depth":16,"bounds":{"left":0.9303524,"top":0.07980846,"width":0.011635638,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open","depth":14,"bounds":{"left":0.1008976,"top":0.11173184,"width":0.011968086,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"nikolaybiaivanov","depth":15,"bounds":{"left":0.11951463,"top":0.10853951,"width":0.03706782,"height":0.016759777},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"nikolaybiaivanov","depth":16,"bounds":{"left":0.11951463,"top":0.110135674,"width":0.03706782,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 89 commits into","depth":15,"bounds":{"left":0.15791224,"top":0.110135674,"width":0.06948138,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":16,"bounds":{"left":0.2287234,"top":0.10654429,"width":0.018284574,"height":0.017557861},"on_screen":true,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":17,"bounds":{"left":0.23071809,"top":0.10973663,"width":0.014295213,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":17,"bounds":{"left":0.24833776,"top":0.10853951,"width":0.009973404,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20846-mcp-enable-the-ai-to-know-details-about-the-user","depth":17,"bounds":{"left":0.25964096,"top":0.10654429,"width":0.14079122,"height":0.017557861},"on_screen":true,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20846-mcp-enable-the-ai-to-know-details-about-the-user","depth":18,"bounds":{"left":0.26163563,"top":0.10973663,"width":0.13680187,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":17,"bounds":{"left":0.40176198,"top":0.10415004,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lines changed: 350 additions & 24 deletions","depth":14,"bounds":{"left":0.95412236,"top":0.16041501,"width":0.019946808,"height":0.11412609},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Conversation (9)","depth":16,"bounds":{"left":0.090259306,"top":0.1424581,"width":0.054853722,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Conversation","depth":17,"bounds":{"left":0.10255984,"top":0.15203512,"width":0.02825798,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"bounds":{"left":0.14079122,"top":0.15203512,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"9","depth":18,"bounds":{"left":0.14378324,"top":0.15203512,"width":0.0028257978,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"bounds":{"left":0.14660904,"top":0.15203512,"width":0.0018284575,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Commits (89)","depth":16,"bounds":{"left":0.14511304,"top":0.1424581,"width":0.04837101,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Commits","depth":17,"bounds":{"left":0.15741356,"top":0.15203512,"width":0.019115692,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"bounds":{"left":0.18916224,"top":0.15203512,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"89","depth":18,"bounds":{"left":0.19215426,"top":0.15203512,"width":0.005817819,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"bounds":{"left":0.19797207,"top":0.15203512,"width":0.0016622341,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Checks (2)","depth":16,"bounds":{"left":0.19348404,"top":0.1424581,"width":0.042386968,"height":0.031923383},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks","depth":17,"bounds":{"left":0.20578457,"top":0.15203512,"width":0.015957447,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"bounds":{"left":0.2315492,"top":0.15203512,"width":0.0029920214,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2","depth":18,"bounds":{"left":0.23454122,"top":0.15203512,"width":0.0026595744,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"bounds":{"left":0.2372008,"top":0.15203512,"width":0.0018284575,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-8372356333809841830
|
7522445111537332303
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Close tab
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality
Security and quality
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
Jy 20846 mcp enable the ai to know details about the user #12075 Edit title
Jy 20846 mcp enable the ai to know details about the user
#
12075
Edit title
Preview
Preview
Checks pending
Checks pending
Code
Code
Open
nikolaybiaivanov
nikolaybiaivanov
wants to merge 89 commits into
master
master
from
JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
Copy head branch name to clipboard
Lines changed: 350 additions & 24 deletions
Conversation (9)
Conversation
(
9
)
Commits (89)
Commits
(
89
)
Checks (2)
Checks
(
2
)...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50545
|
1786
|
18
|
2026-05-18T07:39:07.213061+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089947213_m2.jpg...
|
Firefox
|
Jy 20846 mcp enable the ai to know details about t Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12075/changes
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
github.com
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation...
|
[{"role":"AXStaticText","text& [{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.08361037,"top":0.5826017,"width":0.07596409,"height":0.032322425},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"github.com","depth":4,"bounds":{"left":0.08361037,"top":0.60415006,"width":0.019614361,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-2071179990532172411
|
-575027353482268436
|
visual_change
|
accessibility
|
NULL
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
github.com
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation...
|
50544
|
NULL
|
NULL
|
NULL
|
|
50546
|
1785
|
18
|
2026-05-18T07:39:07.638153+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089947638_m1.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088#pullrequestrevie github.com/jiminny/app/pull/12088#pullrequestreview-4308146139...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have no unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality
Security and quality
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
Jy 20918 remove redis switch for priority reindexing #12088 Edit title
Jy 20918 remove redis switch for priority reindexing
#
12088
Edit title
View statusView status
Loading
Loading merge status
Code
Code
Open
Vasil-Jiminny
Vasil-Jiminny
wants to merge 7 commits into
master
master
from
JY-20918-remove-redis-switch-for-priority-reindexing
JY-20918-remove-redis-switch-for-priority-reindexing
Copy head branch name to clipboard
Conversation
Conversation
Commits (7)
Commits
(
7
)
Checks
Checks
Files changed
Files changed
Conversation
Conversation
@Vasil-Jiminny
Show options
Vasil-Jiminny commented May 15, 2026 •
Vasil-Jiminny
Vasil-Jiminny
commented
May 15, 2026
May 15, 2026
•
edited
edited
JIRA: JY-20918
JIRA:
JY-20918
JY-20918
Changes:
Changes:
There is a redis key named ‘updates-with-priority-enabled' that may be used to force push all activities for priority reindexing.
The key has been rarely (if ever) used, but it injects 'magic’ into how we control the reindexing process, and may introduce serious performance penalties of the application if user incorrectly.
Here it's being removed. Indexing priority is decided explicitly at the time of scheduling an entity update.
Add or remove reactions
Vasil-Jiminny
Vasil-Jiminny
added
5
commits
May 15, 2026 17:11
May 15, 2026 17:11
@Vasil-Jiminny
Remove Redis control variable "updates-with-priority-enabled". Simpli…
Remove Redis control variable "updates-with-priority-enabled". Simpli…
Commit message body
e3dad9d
e3dad9d
@Vasil-Jiminny...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":7,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":8,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":10,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":9,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":9,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":9,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"All issues(g then i)","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All pull requests","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All repositories","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have no unread notifications(g then n)","depth":9,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":9,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":9,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":10,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (29)","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wiki","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wiki","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security and quality","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security and quality","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Insights","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Insights","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Important update","depth":10,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Important update","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.","depth":10,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Review this update","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Review this update","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and manage your preferences in your","depth":10,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"GitHub account settings","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub account settings","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":10,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dismiss banner","depth":9,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Jy 20918 remove redis switch for priority reindexing #12088 Edit title","depth":12,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12088","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit title","depth":13,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"View statusView status","depth":12,"on_screen":false,"role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Loading","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Loading merge status","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Code","depth":12,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Code","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Vasil-Jiminny","depth":14,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vasil-Jiminny","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 7 commits into","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":14,"on_screen":false,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20918-remove-redis-switch-for-priority-reindexing","depth":15,"on_screen":false,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20918-remove-redis-switch-for-priority-reindexing","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":15,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Conversation","depth":14,"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Conversation","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Commits (7)","depth":14,"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Commits","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"7","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Checks","depth":14,"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Files changed","depth":14,"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Files changed","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Conversation","depth":11,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@Vasil-Jiminny","depth":11,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show options","depth":14,"on_screen":false,"help_text":"","role_description":"summary","subrole":"AXSummary","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Vasil-Jiminny commented May 15, 2026 •","depth":13,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXLink","text":"Vasil-Jiminny","depth":15,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vasil-Jiminny","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"commented","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"May 15, 2026","depth":14,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"May 15, 2026","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"•","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"edited","depth":16,"on_screen":false,"help_text":"","role_description":"summary","subrole":"AXSummary","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"edited","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"JIRA: JY-20918","depth":15,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"JIRA:","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20918","depth":16,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20918","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Changes:","depth":15,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Changes:","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"There is a redis key named ‘updates-with-priority-enabled' that may be used to force push all activities for priority reindexing.","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The key has been rarely (if ever) used, but it injects 'magic’ into how we control the reindexing process, and may introduce serious performance penalties of the application if user incorrectly.","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Here it's being removed. Indexing priority is decided explicitly at the time of scheduling an entity update.","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Add or remove reactions","depth":15,"on_screen":false,"help_text":"","role_description":"summary","subrole":"AXSummary","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Vasil-Jiminny","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vasil-Jiminny","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"added","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"5","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"commits","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"May 15, 2026 17:11","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"May 15, 2026 17:11","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@Vasil-Jiminny","depth":11,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Remove Redis control variable \"updates-with-priority-enabled\". Simpli…","depth":13,"on_screen":false,"help_text":"Remove Redis control variable \"updates-with-priority-enabled\". Simplify the leftover method(s).","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Remove Redis control variable \"updates-with-priority-enabled\". Simpli…","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Commit message body","depth":13,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"e3dad9d","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"e3dad9d","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@Vasil-Jiminny","depth":11,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-2479949604554611390
|
7517659220335808842
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Close tab
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have no unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality
Security and quality
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
Jy 20918 remove redis switch for priority reindexing #12088 Edit title
Jy 20918 remove redis switch for priority reindexing
#
12088
Edit title
View statusView status
Loading
Loading merge status
Code
Code
Open
Vasil-Jiminny
Vasil-Jiminny
wants to merge 7 commits into
master
master
from
JY-20918-remove-redis-switch-for-priority-reindexing
JY-20918-remove-redis-switch-for-priority-reindexing
Copy head branch name to clipboard
Conversation
Conversation
Commits (7)
Commits
(
7
)
Checks
Checks
Files changed
Files changed
Conversation
Conversation
@Vasil-Jiminny
Show options
Vasil-Jiminny commented May 15, 2026 •
Vasil-Jiminny
Vasil-Jiminny
commented
May 15, 2026
May 15, 2026
•
edited
edited
JIRA: JY-20918
JIRA:
JY-20918
JY-20918
Changes:
Changes:
There is a redis key named ‘updates-with-priority-enabled' that may be used to force push all activities for priority reindexing.
The key has been rarely (if ever) used, but it injects 'magic’ into how we control the reindexing process, and may introduce serious performance penalties of the application if user incorrectly.
Here it's being removed. Indexing priority is decided explicitly at the time of scheduling an entity update.
Add or remove reactions
Vasil-Jiminny
Vasil-Jiminny
added
5
commits
May 15, 2026 17:11
May 15, 2026 17:11
@Vasil-Jiminny
Remove Redis control variable "updates-with-priority-enabled". Simpli…
Remove Redis control variable "updates-with-priority-enabled". Simpli…
Commit message body
e3dad9d
e3dad9d
@Vasil-Jiminny...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50548
|
1786
|
19
|
2026-05-18T07:39:09.989285+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089949989_m2.jpg...
|
Firefox
|
JY 20893 chunk control per update target by Vasil- JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12086#pullrequestrevie github.com/jiminny/app/pull/12086#pullrequestreview-4308125516...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Close tab
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have no unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.54988027,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":7,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":8,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":11,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":10,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":11,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":10,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":10,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"All issues(g then i)","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All pull requests","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All repositories","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have no unread notifications(g then n)","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":10,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":10,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
954972610915175312
|
577894416876490958
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Close tab
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have no unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50547
|
1785
|
19
|
2026-05-18T07:39:10.007196+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089950007_m1.jpg...
|
Firefox
|
JY 20893 chunk control per update target by Vasil- JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12086#pullrequestrevie github.com/jiminny/app/pull/12086#pullrequestreview-4308125516...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Close tab
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have no unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":7,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":8,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":11,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":10,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":11,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":10,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":10,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"All issues(g then i)","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All pull requests","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All repositories","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have no unread notifications(g then n)","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":10,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":10,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (29)","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-8627801689581834102
|
577894416876490830
|
click
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Close tab
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have no unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)...
|
50546
|
NULL
|
NULL
|
NULL
|
|
50549
|
1786
|
20
|
2026-05-18T07:39:10.704690+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089950704_m2.jpg...
|
Firefox
|
JY 20893 chunk control per update target by Vasil- JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12086#pullrequestrevie github.com/jiminny/app/pull/12086#pullrequestreview-4308125516...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Close tab
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have no unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality
Security and quality
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
JY 20893 chunk control per update target #12086 Edit title
JY 20893 chunk control per update target
#
12086
Edit title
Checks pending
Checks pending
Code
Code
Open
Vasil-Jiminny
Vasil-Jiminny
wants to merge 18 commits into
master
master
from
JY-20893-chunk-control-per-update-target
JY-20893-chunk-control-per-update-target
Copy head branch name to clipboard
Lines changed: 158 additions & 35 deletions
Conversation
Conversation
Commits (18)
Commits
(
18
)
Checks
Checks
Files changed
Files changed
Open
JY 20893 chunk control per update target #12086 Vasil-Jiminny wants to merge 18 commits into master from JY-20893-chunk-control-per-update-target Copy head branch name to clipboard
JY 20893 chunk control per update target
JY 20893 chunk control per update target
#
12086
Vasil-Jiminny
Vasil-Jiminny
wants to merge 18 commits into
master
master
from
JY-20893-chunk-control-per-update-target
JY-20893-chunk-control-per-update-target
Copy head branch name to clipboard
Conversation
Conversation
@Vasil-Jiminny
Show options
Vasil-Jiminny commented 3 days ago •
Vasil-Jiminny
Vasil-Jiminny
commented
3 days ago
3 days ago
•...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.54988027,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":7,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":8,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":11,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":10,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":11,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":10,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":10,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"All issues(g then i)","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All pull requests","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All repositories","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have no unread notifications(g then n)","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":10,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":10,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (29)","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wiki","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wiki","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security and quality","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security and quality","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Insights","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Insights","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Important update","depth":11,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Important update","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Review this update","depth":11,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Review this update","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and manage your preferences in your","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"GitHub account settings","depth":11,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub account settings","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dismiss banner","depth":10,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"JY 20893 chunk control per update target #12086 Edit title","depth":13,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"JY 20893 chunk control per update target","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12086","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit title","depth":14,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Checks pending","depth":13,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks pending","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Code","depth":13,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Code","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Vasil-Jiminny","depth":15,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vasil-Jiminny","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 18 commits into","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":15,"on_screen":false,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20893-chunk-control-per-update-target","depth":16,"on_screen":false,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20893-chunk-control-per-update-target","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":16,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lines changed: 158 additions & 35 deletions","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Conversation","depth":16,"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Conversation","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Commits (18)","depth":16,"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Commits","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"18","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Checks","depth":16,"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Files changed","depth":16,"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Files changed","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open","depth":14,"bounds":{"left":0.34840426,"top":0.0726257,"width":0.011968086,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"JY 20893 chunk control per update target #12086 Vasil-Jiminny wants to merge 18 commits into master from JY-20893-chunk-control-per-update-target Copy head branch name to clipboard","depth":14,"bounds":{"left":0.36702126,"top":0.058260176,"width":0.22922207,"height":0.042298485},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXLink","text":"JY 20893 chunk control per update target","depth":16,"bounds":{"left":0.36702126,"top":0.05865922,"width":0.09474734,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target","depth":17,"bounds":{"left":0.36702126,"top":0.06304868,"width":0.09474734,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":16,"bounds":{"left":0.4644282,"top":0.06304868,"width":0.0028257978,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12086","depth":16,"bounds":{"left":0.46725398,"top":0.06304868,"width":0.013630319,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Vasil-Jiminny","depth":18,"bounds":{"left":0.36702126,"top":0.08339984,"width":0.02642952,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vasil-Jiminny","depth":19,"bounds":{"left":0.36702126,"top":0.08339984,"width":0.02642952,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 18 commits into","depth":18,"bounds":{"left":0.39478058,"top":0.08339984,"width":0.059840426,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":18,"bounds":{"left":0.4559508,"top":0.08180367,"width":0.018450798,"height":0.015163607},"on_screen":true,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":19,"bounds":{"left":0.45794547,"top":0.083798885,"width":0.014461436,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":19,"bounds":{"left":0.47573137,"top":0.08339984,"width":0.008643617,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20893-chunk-control-per-update-target","depth":19,"bounds":{"left":0.48570478,"top":0.08180367,"width":0.09990027,"height":0.015163607},"on_screen":true,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20893-chunk-control-per-update-target","depth":20,"bounds":{"left":0.48769948,"top":0.083798885,"width":0.09591091,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":19,"bounds":{"left":0.58693486,"top":0.07821229,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Conversation","depth":12,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Conversation","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"@Vasil-Jiminny","depth":12,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Show options","depth":15,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"Vasil-Jiminny commented 3 days ago •","depth":14,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXLink","text":"Vasil-Jiminny","depth":16,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vasil-Jiminny","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"commented","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"3 days ago","depth":15,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"3 days ago","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"•","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
5964460758306015828
|
2960861466914877514
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Close tab
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have no unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality
Security and quality
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
JY 20893 chunk control per update target #12086 Edit title
JY 20893 chunk control per update target
#
12086
Edit title
Checks pending
Checks pending
Code
Code
Open
Vasil-Jiminny
Vasil-Jiminny
wants to merge 18 commits into
master
master
from
JY-20893-chunk-control-per-update-target
JY-20893-chunk-control-per-update-target
Copy head branch name to clipboard
Lines changed: 158 additions & 35 deletions
Conversation
Conversation
Commits (18)
Commits
(
18
)
Checks
Checks
Files changed
Files changed
Open
JY 20893 chunk control per update target #12086 Vasil-Jiminny wants to merge 18 commits into master from JY-20893-chunk-control-per-update-target Copy head branch name to clipboard
JY 20893 chunk control per update target
JY 20893 chunk control per update target
#
12086
Vasil-Jiminny
Vasil-Jiminny
wants to merge 18 commits into
master
master
from
JY-20893-chunk-control-per-update-target
JY-20893-chunk-control-per-update-target
Copy head branch name to clipboard
Conversation
Conversation
@Vasil-Jiminny
Show options
Vasil-Jiminny commented 3 days ago •
Vasil-Jiminny
Vasil-Jiminny
commented
3 days ago
3 days ago
•...
|
50548
|
NULL
|
NULL
|
NULL
|
|
50550
|
1786
|
21
|
2026-05-18T07:39:13.735846+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089953735_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
( # Preparation for Refi….. in 4h 21m100% C4 & ( # Preparation for Refi….. in 4h 21m100% C4 & • Mon 18 May 10:39:13JY 20893 chunk control per update target #12086Vasil-Jiminny wants to merge 18 commits into master from JY-20893-chunk-control-per-update-target• NewActivityLaterMoreSlackJiminny...# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...^ Direct messagesG. Vasil Vasilev #f.. Nikolay YankovGalya DimitrovaR. Aneliya Angelova8. Stoyan TomovA. Stefka Stoyan...Sà Todor Stamatov 7&. Mario GeorgievC. Nikolay Ivanov&o James Graham2. Stoyan Tanev. Steliyan Georgiev& Petko KashinskiLukas Kovalik y...#:AppsG Jira Cloud® ToastMistonWindowHelp@ Describe what you are looking forToastHomeAboutmerged b Friday, May 15th ~ hor) afterToday~Toast APP 10:00 AMReview#12088 Jy 20918 removeredis switch for priorityreindexing2 days old • 7 fileschanged • @Vasil Vasilev#12086 JY 20893 chunkcontrol per update targetShow moreAdded bv Toast for GitHubMergeaor#12066 JY-20725 add HSrate limit handlling onactivities rematching6 davs old • 12 nleschangedResolve ConflictsappMessage Toast+ Aa €• Vasil-Jiminny requested a review from vkulov 43 minutes agoO Short the implementation of accessor methods. No functional changes, .Ovkulov approved these changes 13 minutes agoo € Merge branch 'master' into JY-20893-chunk-control-per-update-targetO LakyLak approved these changes 3 minutes ago.₫ This branch has not been deployedNo deploymentsChanges approved2 annrovina reviews bv reviewers with write access.2 approvals ›8 2 pending reviews >• Some checks haven't completed yet• 1 oendina. 1 in oroaress. 1 skiooed. 1 exoected. 8 successtul checksinantintshose•0 ci/circleci: test Waiting for status to be reported — CircleCl is running your tests• @ SonarCloud Code Analvsis Expected — Waiting for status to be reported1 in nroaroce chock v• • build accept deplov Started 11 minutes ago — Workflow: build accept deplov• Claude Code / claude (pull_request_review) Skipped 3 minutes agov ci/circleci: build-backend — Your tests passed on CircleCI!Enable auto-mergeYou can also merce this with the command line. View command line instructions.X Заес79aView reviewed changesVerified • c50964fView reviewed changesRequiredHighlight All Match Case [ Match Diacritics Whole Words2 of 8 matches...
|
NULL
|
3343906785738737266
|
NULL
|
visual_change
|
ocr
|
NULL
|
( # Preparation for Refi….. in 4h 21m100% C4 & ( # Preparation for Refi….. in 4h 21m100% C4 & • Mon 18 May 10:39:13JY 20893 chunk control per update target #12086Vasil-Jiminny wants to merge 18 commits into master from JY-20893-chunk-control-per-update-target• NewActivityLaterMoreSlackJiminny...# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...^ Direct messagesG. Vasil Vasilev #f.. Nikolay YankovGalya DimitrovaR. Aneliya Angelova8. Stoyan TomovA. Stefka Stoyan...Sà Todor Stamatov 7&. Mario GeorgievC. Nikolay Ivanov&o James Graham2. Stoyan Tanev. Steliyan Georgiev& Petko KashinskiLukas Kovalik y...#:AppsG Jira Cloud® ToastMistonWindowHelp@ Describe what you are looking forToastHomeAboutmerged b Friday, May 15th ~ hor) afterToday~Toast APP 10:00 AMReview#12088 Jy 20918 removeredis switch for priorityreindexing2 days old • 7 fileschanged • @Vasil Vasilev#12086 JY 20893 chunkcontrol per update targetShow moreAdded bv Toast for GitHubMergeaor#12066 JY-20725 add HSrate limit handlling onactivities rematching6 davs old • 12 nleschangedResolve ConflictsappMessage Toast+ Aa €• Vasil-Jiminny requested a review from vkulov 43 minutes agoO Short the implementation of accessor methods. No functional changes, .Ovkulov approved these changes 13 minutes agoo € Merge branch 'master' into JY-20893-chunk-control-per-update-targetO LakyLak approved these changes 3 minutes ago.₫ This branch has not been deployedNo deploymentsChanges approved2 annrovina reviews bv reviewers with write access.2 approvals ›8 2 pending reviews >• Some checks haven't completed yet• 1 oendina. 1 in oroaress. 1 skiooed. 1 exoected. 8 successtul checksinantintshose•0 ci/circleci: test Waiting for status to be reported — CircleCl is running your tests• @ SonarCloud Code Analvsis Expected — Waiting for status to be reported1 in nroaroce chock v• • build accept deplov Started 11 minutes ago — Workflow: build accept deplov• Claude Code / claude (pull_request_review) Skipped 3 minutes agov ci/circleci: build-backend — Your tests passed on CircleCI!Enable auto-mergeYou can also merce this with the command line. View command line instructions.X Заес79aView reviewed changesVerified • c50964fView reviewed changesRequiredHighlight All Match Case [ Match Diacritics Whole Words2 of 8 matches...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50551
|
1785
|
20
|
2026-05-18T07:39:14.409218+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089954409_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)tches=15]21s DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan'mailbox:batch:process --max-batches=15 >*/proc/1/fd/1' 2>&1docker_1amp_112026-05-18 07:37:07 Running ['artisan' activity:purge-stale]...... 14S DONEdocker_lamp_11 '/usr/local/bin/php' 'artisan'activity:purge-stale › */proc/1/fd/12>&1docker_lamp_1docker_lamp_1docker_lamp_12026-05-18 07:37:21 Running ['artisan'"error":"invalid_request"mailbox:text-relay:sync]{"error_description": "Invalid impersonation \u0026quot;sub\u0026quot;field: @"docker_lamp_113docker_lamp_1docker_1amp_110s DONE• '/usr/local/bin/php' 'artisan'mailbox:text-relay:sync > */proc/1/fd/1'2>81docker_lamp_12026-05-18 07:37:32 Running ['artisan'conference:pre-meeting-notification]20s DONEdocker_lamp_1l '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification> '/proc/1/fd/1' 2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:start] .. 17s DONEdocker_lamp_1" '/usr/local/bin/php' 'artisan'conference:monitor:start > */proc/1/fd/1'2>81docker_1amp_12026-05-18 07:38:09 Running ['artisan' conference:monitor:end].... 2OS DONEdocker_lamp_1/1'l '/usr/local/bin/php' 'artisan' conference:monitor:end › */proc/1/fd2>&1docker_lamp_12026-05-18 07:38:30 Running ['artisan' jiminny:fix-hubspot-tokens]OS DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > */proc/1/fd/1' 2>&1docker_lamp_12026-05-18 07:38:51 Running ['artisan' conference:pre-meeting-reminder] in background82.66ms DONEdocker_1amp_1• ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder>/proc/1/fd/1'2>&1 ; '/usr/local/bin/php' 'artisan'schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") › '/dev/null'docker_1amp_12026-05-18 07:38:51 Running ['artisan' hubspot:journal-poll --start]in background33.66ms DONEdocker_1amp_1" ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php'schedule:finish"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "§?") > '/dev/null' 2>&1 &$ 0.Preparation for Refi... in 4h 21mDOCKER (docker-compose)O 82APP (-zsh)*3XIRunY2PROD (ssh)'do-release-upgrade'to upgrade to it.100% (78• Mon 18 May 10:39:14screenpipe"181O $4PROD*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X T3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry 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 parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ I17 EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [|FRONTENDEXTENSIONV View in Docker Desktop@ View ConfigEnable Watch...
|
NULL
|
3308732242941531021
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)tches=15]21s DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan'mailbox:batch:process --max-batches=15 >*/proc/1/fd/1' 2>&1docker_1amp_112026-05-18 07:37:07 Running ['artisan' activity:purge-stale]...... 14S DONEdocker_lamp_11 '/usr/local/bin/php' 'artisan'activity:purge-stale › */proc/1/fd/12>&1docker_lamp_1docker_lamp_1docker_lamp_12026-05-18 07:37:21 Running ['artisan'"error":"invalid_request"mailbox:text-relay:sync]{"error_description": "Invalid impersonation \u0026quot;sub\u0026quot;field: @"docker_lamp_113docker_lamp_1docker_1amp_110s DONE• '/usr/local/bin/php' 'artisan'mailbox:text-relay:sync > */proc/1/fd/1'2>81docker_lamp_12026-05-18 07:37:32 Running ['artisan'conference:pre-meeting-notification]20s DONEdocker_lamp_1l '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification> '/proc/1/fd/1' 2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:start] .. 17s DONEdocker_lamp_1" '/usr/local/bin/php' 'artisan'conference:monitor:start > */proc/1/fd/1'2>81docker_1amp_12026-05-18 07:38:09 Running ['artisan' conference:monitor:end].... 2OS DONEdocker_lamp_1/1'l '/usr/local/bin/php' 'artisan' conference:monitor:end › */proc/1/fd2>&1docker_lamp_12026-05-18 07:38:30 Running ['artisan' jiminny:fix-hubspot-tokens]OS DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens > */proc/1/fd/1' 2>&1docker_lamp_12026-05-18 07:38:51 Running ['artisan' conference:pre-meeting-reminder] in background82.66ms DONEdocker_1amp_1• ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder>/proc/1/fd/1'2>&1 ; '/usr/local/bin/php' 'artisan'schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") › '/dev/null'docker_1amp_12026-05-18 07:38:51 Running ['artisan' hubspot:journal-poll --start]in background33.66ms DONEdocker_1amp_1" ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php'schedule:finish"framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "§?") > '/dev/null' 2>&1 &$ 0.Preparation for Refi... in 4h 21mDOCKER (docker-compose)O 82APP (-zsh)*3XIRunY2PROD (ssh)'do-release-upgrade'to upgrade to it.100% (78• Mon 18 May 10:39:14screenpipe"181O $4PROD*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X T3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry 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 parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ I17 EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [|FRONTENDEXTENSIONV View in Docker Desktop@ View ConfigEnable Watch...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50552
|
1786
|
22
|
2026-05-18T07:39:16.496134+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089956496_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
A & Preparation for Refi….. in 4h 21m100% C4 & A & Preparation for Refi….. in 4h 21m100% C4 &• Mon 18 May 10:39:16JY 20893 chunk control per update target #12086Vasil-Jiminny wants to merge 18 commits into master from JY-20893-chunk-control-per-update-targetHomeActivityFilesLaterMoreSlackVIewJiminny…..# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...^ Direct messages€. Vasil Vasilev =f.. Nikolay YankovP. Galya DimitrovaR. Aneliya Angelova8. Stoyan Tomov. Stefka StoyanovaSà Todor Stamatov 7&. Mario GeorgievC. Nikolay Ivanov&o James Graham2. Stoyan Tanev. Steliyan Georgiev& Petko KashinskiLukas Kovalik y...#:AppsG Jira Cloud® ToastHistoryWindowHelp@ Describe what you are looking forC. Vasil Vasilev E• Messagest Add canvasUr FilesX PinsLlasacsearch и пагята са споделени сьои контеинерите са разхвъоляниLukas Kovalik 1:31 PMда, мислех си такаVasil Vasilev # 1:31 PMно прод средите са изолираниLukas Kovalik 1:31PMмерсиVasil Vasilev # 1:31 PMTodayvVasil Vasilev # 10:17 AMNvvaш anupoт (oditod)трябват ми няколко ревюта за разни ЕСhttps://github.com/jiminny/app/pull/12086https://github.com/jiminny/app/pull/12088/changesNewVasil Vasilev 10:38 AMолаголаряMessage Vasil Vasilev In a meeting • Goo...+ Aa I• Vasil-Jiminny requested a review from vkulov 43 minutes agoO a Short the implementation of accessor methods. No functional changes, . ..Ovkulov approved these changes 13 minutes agoo € Merge branch 'master' into JY-20893-chunk-control-per-update-targetO LakyLak approved these changes 3 minutes ago.₫ This branch has not been deployedNo deploymentsChanges approved2 annrovina reviews bv reviewers with write access.2 approvals ›8 2 pending reviews >• Some checks haven't completed yet• 1 oendina. 1 in oroaress. 1 skiooed. 1 exoected. 8 successtul checksinanmintnhanley• 0 ci/circleci: test Waiting for status to be reported — CircleCl is running your tests• @ SonarCloud Code Analvsis Expected — Waiting for status to be reported1 in nroaroce chock v• • build accept deplov Started 11 minutes ago — Workflow: build accept deplov• Claude Code / claude (pull_request_review) Skipped 3 minutes agov ci/circleci: build-backend — Your tests passed on CircleCl!Enable auto-mergeYou can also merce this with the command line. View command line instructions.X Заес79aView reviewed changesVerified • c50964fView reviewed changesRequiredHighlight All Match Case• Match Diacritics Whole Words2 of 8 matches...
|
NULL
|
8417335125197239369
|
NULL
|
click
|
ocr
|
NULL
|
A & Preparation for Refi….. in 4h 21m100% C4 & A & Preparation for Refi….. in 4h 21m100% C4 &• Mon 18 May 10:39:16JY 20893 chunk control per update target #12086Vasil-Jiminny wants to merge 18 commits into master from JY-20893-chunk-control-per-update-targetHomeActivityFilesLaterMoreSlackVIewJiminny…..# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...^ Direct messages€. Vasil Vasilev =f.. Nikolay YankovP. Galya DimitrovaR. Aneliya Angelova8. Stoyan Tomov. Stefka StoyanovaSà Todor Stamatov 7&. Mario GeorgievC. Nikolay Ivanov&o James Graham2. Stoyan Tanev. Steliyan Georgiev& Petko KashinskiLukas Kovalik y...#:AppsG Jira Cloud® ToastHistoryWindowHelp@ Describe what you are looking forC. Vasil Vasilev E• Messagest Add canvasUr FilesX PinsLlasacsearch и пагята са споделени сьои контеинерите са разхвъоляниLukas Kovalik 1:31 PMда, мислех си такаVasil Vasilev # 1:31 PMно прод средите са изолираниLukas Kovalik 1:31PMмерсиVasil Vasilev # 1:31 PMTodayvVasil Vasilev # 10:17 AMNvvaш anupoт (oditod)трябват ми няколко ревюта за разни ЕСhttps://github.com/jiminny/app/pull/12086https://github.com/jiminny/app/pull/12088/changesNewVasil Vasilev 10:38 AMолаголаряMessage Vasil Vasilev In a meeting • Goo...+ Aa I• Vasil-Jiminny requested a review from vkulov 43 minutes agoO a Short the implementation of accessor methods. No functional changes, . ..Ovkulov approved these changes 13 minutes agoo € Merge branch 'master' into JY-20893-chunk-control-per-update-targetO LakyLak approved these changes 3 minutes ago.₫ This branch has not been deployedNo deploymentsChanges approved2 annrovina reviews bv reviewers with write access.2 approvals ›8 2 pending reviews >• Some checks haven't completed yet• 1 oendina. 1 in oroaress. 1 skiooed. 1 exoected. 8 successtul checksinanmintnhanley• 0 ci/circleci: test Waiting for status to be reported — CircleCl is running your tests• @ SonarCloud Code Analvsis Expected — Waiting for status to be reported1 in nroaroce chock v• • build accept deplov Started 11 minutes ago — Workflow: build accept deplov• Claude Code / claude (pull_request_review) Skipped 3 minutes agov ci/circleci: build-backend — Your tests passed on CircleCl!Enable auto-mergeYou can also merce this with the command line. View command line instructions.X Заес79aView reviewed changesVerified • c50964fView reviewed changesRequiredHighlight All Match Case• Match Diacritics Whole Words2 of 8 matches...
|
50550
|
NULL
|
NULL
|
NULL
|
|
50553
|
1785
|
21
|
2026-05-18T07:39:20.112525+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089960112_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)field:@"docker_lamp_11}docker_lamp_1docker_1amp_1... 10s DONE• '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:32 Running ['artisan'conference: pre-meeting-notification]20s DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan'conference:pre-meeting-notification'/proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:startl.. 17s DONEdocker_lamp_1fd/1'• '/usr/local/bin/php' 'artisan'conference:monitor:start > '/proc/1/2>&1docker_1amp_12026-05-18 07:38:09 Running ['artisan'conference:monitor:end].... 2OsDONEdocker_lamp_1/1'1 '/usr/local/bin/php' 'artisan'conference:monitor:end > */proc/1/fd2>&1docker_lamp_1|2026-05-18 07:38:30 Running ['artisan'jiminny:fix-hubspot-tokens]2OS DONEdocker_lamp_1 | , '/usr/local/bin/php' 'artisan'jiminny:fix-hubspot-tokens › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:38:51 Running ['artisan' conference:pre-meeting-reminder] in background82.66ms DONEdocker_1amp_1• ('/usr/local/bin/php' 'artisan'/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan'conference:pre-meeting-reminder>'schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "S?") › '/dev/null' 2>&1 &docker_1amp_12026-05-18 07:38:51 Running ['artisan'hubspot:journal-poll --start]in background33.66ms DONEdocker_1amp_11• ('/usr/local/bin/php' 'artisan' hubspot: journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php''artisan'schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "§?") > '/dev/null' 2>&1 &docker_lamp_12026-05-18 07:38:51 Running ['artisan' crm:bullhorn:ping --heartbeat]• social account(s) to be processeddocker_1amp_1docker_lamp_1docker_lamp_1docker_1amp_11 Done!1 & Starting HubSpot journal polling service...27S DONEdocker_lamp_1l '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1docker_lamp_1docker_lamp_1run_artisan_schedule: Done waiting for schedule:runPreparation for Refi... in 4h 21m100% (78• Mon 18 May 10:39:20DOCKER (docker-compose)O 82181APP (-zsh)screenpipe"*3PROD (ssh)Run'do-release-upgrade'to upgrade to it.*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry 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 parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ I17EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [|View in Docker Desktop@ View ConfigEnable Watch...
|
NULL
|
745237370945136940
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)field:@"docker_lamp_11}docker_lamp_1docker_1amp_1... 10s DONE• '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:32 Running ['artisan'conference: pre-meeting-notification]20s DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan'conference:pre-meeting-notification'/proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:startl.. 17s DONEdocker_lamp_1fd/1'• '/usr/local/bin/php' 'artisan'conference:monitor:start > '/proc/1/2>&1docker_1amp_12026-05-18 07:38:09 Running ['artisan'conference:monitor:end].... 2OsDONEdocker_lamp_1/1'1 '/usr/local/bin/php' 'artisan'conference:monitor:end > */proc/1/fd2>&1docker_lamp_1|2026-05-18 07:38:30 Running ['artisan'jiminny:fix-hubspot-tokens]2OS DONEdocker_lamp_1 | , '/usr/local/bin/php' 'artisan'jiminny:fix-hubspot-tokens › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:38:51 Running ['artisan' conference:pre-meeting-reminder] in background82.66ms DONEdocker_1amp_1• ('/usr/local/bin/php' 'artisan'/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan'conference:pre-meeting-reminder>'schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "S?") › '/dev/null' 2>&1 &docker_1amp_12026-05-18 07:38:51 Running ['artisan'hubspot:journal-poll --start]in background33.66ms DONEdocker_1amp_11• ('/usr/local/bin/php' 'artisan' hubspot: journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php''artisan'schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "§?") > '/dev/null' 2>&1 &docker_lamp_12026-05-18 07:38:51 Running ['artisan' crm:bullhorn:ping --heartbeat]• social account(s) to be processeddocker_1amp_1docker_lamp_1docker_lamp_1docker_1amp_11 Done!1 & Starting HubSpot journal polling service...27S DONEdocker_lamp_1l '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1docker_lamp_1docker_lamp_1run_artisan_schedule: Done waiting for schedule:runPreparation for Refi... in 4h 21m100% (78• Mon 18 May 10:39:20DOCKER (docker-compose)O 82181APP (-zsh)screenpipe"*3PROD (ssh)Run'do-release-upgrade'to upgrade to it.*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry 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 parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ I17EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [|View in Docker Desktop@ View ConfigEnable Watch...
|
50551
|
NULL
|
NULL
|
NULL
|
|
50554
|
1785
|
22
|
2026-05-18T07:39:23.139996+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089963139_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)field:@"docker_lamp_11}docker_lamp_1docker_1amp_1... 10s DONE• '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:32 Running ['artisan'conference: pre-meeting-notification]20s DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan'conference:pre-meeting-notification'/proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:startl.. 17s DONEdocker_lamp_1fd/1'• '/usr/local/bin/php' 'artisan'conference:monitor:start > '/proc/1/2>&1docker_1amp_12026-05-18 07:38:09 Running ['artisan'conference:monitor:end].... 2OsDONEdocker_lamp_1/1'1 '/usr/local/bin/php' 'artisan'conference:monitor:end > */proc/1/fd2>&1docker_lamp_1|2026-05-18 07:38:30 Running ['artisan'jiminny:fix-hubspot-tokens]2OS DONEdocker_lamp_1 | , '/usr/local/bin/php' 'artisan'jiminny:fix-hubspot-tokens › */proc/1/fd/1'2>8&1docker_lamp_12026-05-18 07:38:51 Running ['artisan' conference:pre-meeting-reminder] in background82.66ms DONEdocker_lamp_1• ('/usr/local/bin/php' 'artisan'/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan'conference:pre-meeting-reminder>'schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") › '/dev/null'2>81 &docker_1amp_12026-05-18 07:38:51 Running ['artisan'hubspot:journal-poll --start]in background33.66ms DONEdocker_1amp_11• ('/usr/local/bin/php' 'artisan' hubspot: journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php''artisan'schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "§?") > '/dev/null' 2>&1 &docker_lamp_12026-05-18 07:38:51 Running ['artisan' crm:bullhorn:ping --heartbeat]• social account(s) to be processeddocker_1amp_1docker_lamp_1docker_lamp_1docker_1amp_11 Done!1 & Starting HubSpot journal polling service...27S DONEdocker_lamp_1l '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1docker_lamp_1docker_lamp_1run_artisan_schedule: Done waiting for schedule:runPreparation for Refi... in 4h 21m100% (78• Mon 18 May 10:39:23DOCKER (docker-compose)O ×2181APP (-zsh)*3screenpipe"Y2PROD (ssh)Run'do-release-upgrade'to upgrade to it.*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry 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 parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ I17EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|View in Docker Desktop@ View ConfigEnable Watch...
|
NULL
|
-2303017858646784552
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)field:@"docker_lamp_11}docker_lamp_1docker_1amp_1... 10s DONE• '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:32 Running ['artisan'conference: pre-meeting-notification]20s DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan'conference:pre-meeting-notification'/proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:startl.. 17s DONEdocker_lamp_1fd/1'• '/usr/local/bin/php' 'artisan'conference:monitor:start > '/proc/1/2>&1docker_1amp_12026-05-18 07:38:09 Running ['artisan'conference:monitor:end].... 2OsDONEdocker_lamp_1/1'1 '/usr/local/bin/php' 'artisan'conference:monitor:end > */proc/1/fd2>&1docker_lamp_1|2026-05-18 07:38:30 Running ['artisan'jiminny:fix-hubspot-tokens]2OS DONEdocker_lamp_1 | , '/usr/local/bin/php' 'artisan'jiminny:fix-hubspot-tokens › */proc/1/fd/1'2>8&1docker_lamp_12026-05-18 07:38:51 Running ['artisan' conference:pre-meeting-reminder] in background82.66ms DONEdocker_lamp_1• ('/usr/local/bin/php' 'artisan'/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan'conference:pre-meeting-reminder>'schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") › '/dev/null'2>81 &docker_1amp_12026-05-18 07:38:51 Running ['artisan'hubspot:journal-poll --start]in background33.66ms DONEdocker_1amp_11• ('/usr/local/bin/php' 'artisan' hubspot: journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php''artisan'schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "§?") > '/dev/null' 2>&1 &docker_lamp_12026-05-18 07:38:51 Running ['artisan' crm:bullhorn:ping --heartbeat]• social account(s) to be processeddocker_1amp_1docker_lamp_1docker_lamp_1docker_1amp_11 Done!1 & Starting HubSpot journal polling service...27S DONEdocker_lamp_1l '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1docker_lamp_1docker_lamp_1run_artisan_schedule: Done waiting for schedule:runPreparation for Refi... in 4h 21m100% (78• Mon 18 May 10:39:23DOCKER (docker-compose)O ×2181APP (-zsh)*3screenpipe"Y2PROD (ssh)Run'do-release-upgrade'to upgrade to it.*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry 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 parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ I17EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|View in Docker Desktop@ View ConfigEnable Watch...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50555
|
1785
|
23
|
2026-05-18T07:39:35.195922+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089975195_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)field:@"docker_lamp_11}docker_lamp_1docker_1amp_1... 10s DONE• '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:32 Running ['artisan'conference: pre-meeting-notification]20s DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan'conference:pre-meeting-notification'/proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:startl.. 17s DONEdocker_lamp_1fd/1'• '/usr/local/bin/php' 'artisan'conference:monitor:start > '/proc/1/2>&1docker_1amp_12026-05-18 07:38:09 Running ['artisan'conference:monitor:end].... 2OsDONEdocker_lamp_1/1'1 '/usr/local/bin/php' 'artisan'conference:monitor:end > */proc/1/fd2>&1docker_lamp_1|2026-05-18 07:38:30 Running ['artisan'jiminny:fix-hubspot-tokens]2OS DONEdocker_lamp_1 | , '/usr/local/bin/php' 'artisan'jiminny:fix-hubspot-tokens › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:38:51 Running ['artisan' conference:pre-meeting-reminder] in background82.66ms DONEdocker_1amp_1• ('/usr/local/bin/php' 'artisan'/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan'conference:pre-meeting-reminder>'schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "S?") › '/dev/null' 2>&1 &docker_1amp_12026-05-18 07:38:51 Running ['artisan'hubspot:journal-poll --start]in background33.66ms DONEdocker_1amp_11• ('/usr/local/bin/php' 'artisan' hubspot: journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php''artisan'schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "§?") > '/dev/null' 2>&1 &docker_lamp_12026-05-18 07:38:51 Running ['artisan' crm:bullhorn:ping --heartbeat]• social account(s) to be processeddocker_1amp_1docker_lamp_1docker_lamp_1docker_1amp_11 Done!1 & Starting HubSpot journal polling service...27S DONEdocker_lamp_1l '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1docker_lamp_1docker_lamp_1run_artisan_schedule: Done waiting for schedule:runPreparation for Refi... in 4h 21mDOCKER (docker-compose)О 82APP (-zsh)*3RunY2PROD (ssh)'do-release-upgrade'to upgrade to it.100% (78• Mon 18 May 10:39:35screenpipe"181O $4PROD*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject. tom file in Users/lukas or its parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ IEXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [|STAGEFRONTENDEXTENSIONView in Docker Desktopo View ConfigEnable Watch...
|
NULL
|
-1916119278955404954
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)field:@"docker_lamp_11}docker_lamp_1docker_1amp_1... 10s DONE• '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:32 Running ['artisan'conference: pre-meeting-notification]20s DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan'conference:pre-meeting-notification'/proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:startl.. 17s DONEdocker_lamp_1fd/1'• '/usr/local/bin/php' 'artisan'conference:monitor:start > '/proc/1/2>&1docker_1amp_12026-05-18 07:38:09 Running ['artisan'conference:monitor:end].... 2OsDONEdocker_lamp_1/1'1 '/usr/local/bin/php' 'artisan'conference:monitor:end > */proc/1/fd2>&1docker_lamp_1|2026-05-18 07:38:30 Running ['artisan'jiminny:fix-hubspot-tokens]2OS DONEdocker_lamp_1 | , '/usr/local/bin/php' 'artisan'jiminny:fix-hubspot-tokens › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:38:51 Running ['artisan' conference:pre-meeting-reminder] in background82.66ms DONEdocker_1amp_1• ('/usr/local/bin/php' 'artisan'/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan'conference:pre-meeting-reminder>'schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "S?") › '/dev/null' 2>&1 &docker_1amp_12026-05-18 07:38:51 Running ['artisan'hubspot:journal-poll --start]in background33.66ms DONEdocker_1amp_11• ('/usr/local/bin/php' 'artisan' hubspot: journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php''artisan'schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "§?") > '/dev/null' 2>&1 &docker_lamp_12026-05-18 07:38:51 Running ['artisan' crm:bullhorn:ping --heartbeat]• social account(s) to be processeddocker_1amp_1docker_lamp_1docker_lamp_1docker_1amp_11 Done!1 & Starting HubSpot journal polling service...27S DONEdocker_lamp_1l '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1docker_lamp_1docker_lamp_1run_artisan_schedule: Done waiting for schedule:runPreparation for Refi... in 4h 21mDOCKER (docker-compose)О 82APP (-zsh)*3RunY2PROD (ssh)'do-release-upgrade'to upgrade to it.100% (78• Mon 18 May 10:39:35screenpipe"181O $4PROD*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject. tom file in Users/lukas or its parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ IEXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [|STAGEFRONTENDEXTENSIONView in Docker Desktopo View ConfigEnable Watch...
|
50554
|
NULL
|
NULL
|
NULL
|
|
50557
|
1786
|
23
|
2026-05-18T07:39:46.700811+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089986700_m2.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
A & Preparation for Refi….. in 4h 21m100% C4 & A & Preparation for Refi….. in 4h 21m100% C4 & • Mon 18 May 10:39:46JY 20893 chunk control per update target #12086Vasil-Jiminny wants to merge 18 commits into master from JY-20893-chunk-control-per-update-targetHomeActivityFilesLaterMoreslackVIewJiminny…..# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...^ Direct messages€. Vasil Vasilev =f.. Nikolay YankovP. Galya DimitrovaR. Aneliya Angelova8. Stoyan Tomov. Stefka StoyanovaSà Todor Stamatov 7&. Mario GeorgievC. Nikolay Ivanov&o James Graham2. Stoyan Tanev. Steliyan Georgiev& Petko KashinskiLukas Kovalik y...#:AppsG Jira Cloud® ToastHistoryWindowHelp@ Describe what you are looking forC. Vasil Vasilev E• Messagest Add canvasQ FilesVasil Vasiev = 131PMно продFriday, May 15th ~ ани,Lukas Kovalik 1:31 PM& PinsVasil Vasilev # 1:31 PMToday~Vasil Vasilev # 10:17 AMJукаш, привет (edited)трябват ми няколко ревюта за разни ЕСразделени са на относително малкиhttps://github.com/jiminny/app/pull/12086https://github.com/jiminny/app/pull/12088IchangesVasil Vasilev # 10:38 AMVasil Vasilev = 10:39 AMBUNяXполучавам в sаск нотификанииMessage Vasil Vasilev In a meeting • Goo...+ Aa• Vasil-Jiminny requested a review from vkulov 43 minutes agoO Short the implementation of accessor methods. No functional changes, .Ovkulov approved these changes 13 minutes agoo € Merge branch 'master' into JY-20893-chunk-control-per-update-targetO LakyLak approved these changes 3 minutes ago.₫ This branch has not been deployedNo deploymentsChanges approved2 annrovina reviews bv reviewers with write access.2 approvals ›8 2 pending reviews >• Some checks haven't completed yet• 1 oendina. 1 in oroaress. 1 skiooed. 1 exoected. 8 successtul checksinantintshose•0 ci/circleci: test Waiting for status to be reported — CircleCl is running your tests• @ SonarCloud Code Analvsis Expected — Waiting for status to be reported1 in nroaroce chock v• • build accept deplov Started 11 minutes ago — Workflow: build accept deplov•@ Claude Code / claude (pull_request_review) Skipped 3 minutes agov ci/circleci: build-backend — Your tests passed on CircleCI!Enable auto-mergeYou can also merce this with the command line. View command line instructions.X Заес79aView reviewed changesVerified • c50964fView reviewed changesRequiredHighlight All Match CaseMatch Diacritics Whole Words2 of 8 matches...
|
NULL
|
-5949832931768963947
|
NULL
|
click
|
ocr
|
NULL
|
A & Preparation for Refi….. in 4h 21m100% C4 & A & Preparation for Refi….. in 4h 21m100% C4 & • Mon 18 May 10:39:46JY 20893 chunk control per update target #12086Vasil-Jiminny wants to merge 18 commits into master from JY-20893-chunk-control-per-update-targetHomeActivityFilesLaterMoreslackVIewJiminny…..# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...^ Direct messages€. Vasil Vasilev =f.. Nikolay YankovP. Galya DimitrovaR. Aneliya Angelova8. Stoyan Tomov. Stefka StoyanovaSà Todor Stamatov 7&. Mario GeorgievC. Nikolay Ivanov&o James Graham2. Stoyan Tanev. Steliyan Georgiev& Petko KashinskiLukas Kovalik y...#:AppsG Jira Cloud® ToastHistoryWindowHelp@ Describe what you are looking forC. Vasil Vasilev E• Messagest Add canvasQ FilesVasil Vasiev = 131PMно продFriday, May 15th ~ ани,Lukas Kovalik 1:31 PM& PinsVasil Vasilev # 1:31 PMToday~Vasil Vasilev # 10:17 AMJукаш, привет (edited)трябват ми няколко ревюта за разни ЕСразделени са на относително малкиhttps://github.com/jiminny/app/pull/12086https://github.com/jiminny/app/pull/12088IchangesVasil Vasilev # 10:38 AMVasil Vasilev = 10:39 AMBUNяXполучавам в sаск нотификанииMessage Vasil Vasilev In a meeting • Goo...+ Aa• Vasil-Jiminny requested a review from vkulov 43 minutes agoO Short the implementation of accessor methods. No functional changes, .Ovkulov approved these changes 13 minutes agoo € Merge branch 'master' into JY-20893-chunk-control-per-update-targetO LakyLak approved these changes 3 minutes ago.₫ This branch has not been deployedNo deploymentsChanges approved2 annrovina reviews bv reviewers with write access.2 approvals ›8 2 pending reviews >• Some checks haven't completed yet• 1 oendina. 1 in oroaress. 1 skiooed. 1 exoected. 8 successtul checksinantintshose•0 ci/circleci: test Waiting for status to be reported — CircleCl is running your tests• @ SonarCloud Code Analvsis Expected — Waiting for status to be reported1 in nroaroce chock v• • build accept deplov Started 11 minutes ago — Workflow: build accept deplov•@ Claude Code / claude (pull_request_review) Skipped 3 minutes agov ci/circleci: build-backend — Your tests passed on CircleCI!Enable auto-mergeYou can also merce this with the command line. View command line instructions.X Заес79aView reviewed changesVerified • c50964fView reviewed changesRequiredHighlight All Match CaseMatch Diacritics Whole Words2 of 8 matches...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50556
|
1785
|
24
|
2026-05-18T07:39:46.720728+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089986720_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)field:@"docker_lamp_11}docker_lamp_1docker_1amp_1... 10s DONE• '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:32 Running ['artisan'conference: pre-meeting-notification]20s DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan'conference:pre-meeting-notification'/proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:startl.. 17s DONEdocker_lamp_1fd/1'• '/usr/local/bin/php' 'artisan'conference:monitor:start > '/proc/1/2>&1docker_1amp_12026-05-18 07:38:09 Running ['artisan'conference:monitor:end].... 2OsDONEdocker_lamp_1/1'1 '/usr/local/bin/php' 'artisan'conference:monitor:end > */proc/1/fd2>&1docker_lamp_1|2026-05-18 07:38:30 Running ['artisan'jiminny:fix-hubspot-tokens]2OS DONEdocker_lamp_1 | , '/usr/local/bin/php' 'artisan'jiminny:fix-hubspot-tokens › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:38:51 Running ['artisan' conference:pre-meeting-reminder] in background82.66ms DONEdocker_1amp_1• ('/usr/local/bin/php' 'artisan'/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan'conference:pre-meeting-reminder>'schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "S?") › '/dev/null' 2>&1 &docker_1amp_12026-05-18 07:38:51 Running ['artisan'hubspot:journal-poll --start]in background33.66ms DONEdocker_1amp_11• ('/usr/local/bin/php' 'artisan' hubspot: journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php''artisan'schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "§?") > '/dev/null' 2>&1 &docker_lamp_12026-05-18 07:38:51 Running ['artisan' crm:bullhorn:ping --heartbeat]• social account(s) to be processeddocker_1amp_1docker_lamp_1docker_lamp_1docker_1amp_11 Done!1 & Starting HubSpot journal polling service...27S DONEdocker_lamp_1l '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1docker_lamp_1docker_lamp_1run_artisan_schedule: Done waiting for schedule:runPreparation for Refi... in 4h 21mDOCKER (docker-compose)О 82APP (-zsh)*3RunY2PROD (ssh)'do-release-upgrade'to upgrade to it.100% (78• Mon 18 May 10:39:46screenpipe"181O $4PROD*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject. tom file in Users/lukas or its parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ I17EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [|STAGEFRONTENDEXTENSIONView in Docker Desktopo View ConfigEnable Watch...
|
NULL
|
5167039900791621254
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)field:@"docker_lamp_11}docker_lamp_1docker_1amp_1... 10s DONE• '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:32 Running ['artisan'conference: pre-meeting-notification]20s DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan'conference:pre-meeting-notification'/proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:startl.. 17s DONEdocker_lamp_1fd/1'• '/usr/local/bin/php' 'artisan'conference:monitor:start > '/proc/1/2>&1docker_1amp_12026-05-18 07:38:09 Running ['artisan'conference:monitor:end].... 2OsDONEdocker_lamp_1/1'1 '/usr/local/bin/php' 'artisan'conference:monitor:end > */proc/1/fd2>&1docker_lamp_1|2026-05-18 07:38:30 Running ['artisan'jiminny:fix-hubspot-tokens]2OS DONEdocker_lamp_1 | , '/usr/local/bin/php' 'artisan'jiminny:fix-hubspot-tokens › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:38:51 Running ['artisan' conference:pre-meeting-reminder] in background82.66ms DONEdocker_1amp_1• ('/usr/local/bin/php' 'artisan'/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan'conference:pre-meeting-reminder>'schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "S?") › '/dev/null' 2>&1 &docker_1amp_12026-05-18 07:38:51 Running ['artisan'hubspot:journal-poll --start]in background33.66ms DONEdocker_1amp_11• ('/usr/local/bin/php' 'artisan' hubspot: journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php''artisan'schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "§?") > '/dev/null' 2>&1 &docker_lamp_12026-05-18 07:38:51 Running ['artisan' crm:bullhorn:ping --heartbeat]• social account(s) to be processeddocker_1amp_1docker_lamp_1docker_lamp_1docker_1amp_11 Done!1 & Starting HubSpot journal polling service...27S DONEdocker_lamp_1l '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1docker_lamp_1docker_lamp_1run_artisan_schedule: Done waiting for schedule:runPreparation for Refi... in 4h 21mDOCKER (docker-compose)О 82APP (-zsh)*3RunY2PROD (ssh)'do-release-upgrade'to upgrade to it.100% (78• Mon 18 May 10:39:46screenpipe"181O $4PROD*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject. tom file in Users/lukas or its parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ I17EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [|STAGEFRONTENDEXTENSIONView in Docker Desktopo View ConfigEnable Watch...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50558
|
1785
|
25
|
2026-05-18T07:39:51.711196+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089991711_m1.jpg...
|
iTerm2
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)field:@"docker_lamp_11}docker_lamp_1docker_1amp_1... 10s DONE• '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:32 Running ['artisan'conference: pre-meeting-notification]20s DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan'conference:pre-meeting-notification'/proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:startl.. 17s DONEdocker_lamp_1fd/1'• '/usr/local/bin/php' 'artisan'conference:monitor:start > '/proc/1/2>&1docker_1amp_12026-05-18 07:38:09 Running ['artisan'conference:monitor:end].... 2OsDONEdocker_lamp_1/1'1 '/usr/local/bin/php' 'artisan'conference:monitor:end > */proc/1/fd2>&1docker_lamp_1|2026-05-18 07:38:30 Running ['artisan'jiminny:fix-hubspot-tokens]2OS DONEdocker_lamp_1 | , '/usr/local/bin/php' 'artisan'jiminny:fix-hubspot-tokens › */proc/1/fd/1'2>8&1docker_lamp_12026-05-18 07:38:51 Running ['artisan' conference:pre-meeting-reminder] in background82.66ms DONEdocker_lamp_1• ('/usr/local/bin/php' 'artisan'/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan'conference:pre-meeting-reminder>'schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "S?") › '/dev/null' 2>&1 &docker_1amp_12026-05-18 07:38:51 Running ['artisan'hubspot:journal-poll --start]in background33.66ms DONEdocker_1amp_11• ('/usr/local/bin/php' 'artisan' hubspot: journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php''artisan'schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "§?") > '/dev/null' 2>&1 &docker_lamp_12026-05-18 07:38:51 Running ['artisan' crm:bullhorn:ping --heartbeat]• social account(s) to be processeddocker_1amp_1docker_lamp_1docker_lamp_1docker_1amp_11 Done!1 & Starting HubSpot journal polling service...27S DONEdocker_lamp_1l '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1docker_lamp_1docker_lamp_1run_artisan_schedule: Done waiting for schedule:runPreparation for Refi... in 4h 21m100% (78• Mon 18 May 10:39:51DOCKER (docker-compose)О 82181APP (-zsh)*3screenpipe"Y2PROD (ssh)Run'do-release-upgrade'to upgrade to it.*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry 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 parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ I17EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|View in Docker Desktop@ View ConfigEnable Watch...
|
NULL
|
2651558860926307579
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)field:@"docker_lamp_11}docker_lamp_1docker_1amp_1... 10s DONE• '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:32 Running ['artisan'conference: pre-meeting-notification]20s DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan'conference:pre-meeting-notification'/proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:startl.. 17s DONEdocker_lamp_1fd/1'• '/usr/local/bin/php' 'artisan'conference:monitor:start > '/proc/1/2>&1docker_1amp_12026-05-18 07:38:09 Running ['artisan'conference:monitor:end].... 2OsDONEdocker_lamp_1/1'1 '/usr/local/bin/php' 'artisan'conference:monitor:end > */proc/1/fd2>&1docker_lamp_1|2026-05-18 07:38:30 Running ['artisan'jiminny:fix-hubspot-tokens]2OS DONEdocker_lamp_1 | , '/usr/local/bin/php' 'artisan'jiminny:fix-hubspot-tokens › */proc/1/fd/1'2>8&1docker_lamp_12026-05-18 07:38:51 Running ['artisan' conference:pre-meeting-reminder] in background82.66ms DONEdocker_lamp_1• ('/usr/local/bin/php' 'artisan'/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan'conference:pre-meeting-reminder>'schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "S?") › '/dev/null' 2>&1 &docker_1amp_12026-05-18 07:38:51 Running ['artisan'hubspot:journal-poll --start]in background33.66ms DONEdocker_1amp_11• ('/usr/local/bin/php' 'artisan' hubspot: journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php''artisan'schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "§?") > '/dev/null' 2>&1 &docker_lamp_12026-05-18 07:38:51 Running ['artisan' crm:bullhorn:ping --heartbeat]• social account(s) to be processeddocker_1amp_1docker_lamp_1docker_lamp_1docker_1amp_11 Done!1 & Starting HubSpot journal polling service...27S DONEdocker_lamp_1l '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1docker_lamp_1docker_lamp_1run_artisan_schedule: Done waiting for schedule:runPreparation for Refi... in 4h 21m100% (78• Mon 18 May 10:39:51DOCKER (docker-compose)О 82181APP (-zsh)*3screenpipe"Y2PROD (ssh)Run'do-release-upgrade'to upgrade to it.*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry 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 parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ I17EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|View in Docker Desktop@ View ConfigEnable Watch...
|
50556
|
NULL
|
NULL
|
NULL
|
|
50559
|
1785
|
26
|
2026-05-18T07:40:03.749138+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779090003749_m1.jpg...
|
PhpStorm
|
faVsco.js – TestPipedriveOfficialSdkCommand.php
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)field:@"docker_lamp_11}docker_lamp_1docker_1amp_1... 10s DONE• '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:32 Running ['artisan'conference: pre-meeting-notification]20s DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan'conference:pre-meeting-notification'/proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:start].. 17s DONEdocker_lamp_1fd/1'• '/usr/local/bin/php' 'artisan'conference:monitor:start > '/proc/1/2>&1docker_1amp_12026-05-18 07:38:09 Running ['artisan'conference:monitor:end].... 2OsDONEdocker_lamp_1/1'1 '/usr/local/bin/php' 'artisan'conference:monitor:end > */proc/1/fd2>&1docker_lamp_1|2026-05-18 07:38:30 Running ['artisan'jiminny:fix-hubspot-tokens]2OS DONEdocker_lamp_1 | , '/usr/local/bin/php' 'artisan'jiminny:fix-hubspot-tokens › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:38:51 Running ['artisan' conference:pre-meeting-reminder] in background82.66ms DONEdocker_1amp_1• ('/usr/local/bin/php' 'artisan'/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan'conference:pre-meeting-reminder>'schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "S?") › '/dev/null' 2>&1 &docker_1amp_12026-05-18 07:38:51 Running ['artisan'hubspot:journal-poll --start]in background33.66ms DONEdocker_1amp_11• ('/usr/local/bin/php' 'artisan' hubspot: journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php''artisan'schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "§?") > '/dev/null' 2>&1 &docker_lamp_12026-05-18 07:38:51 Running ['artisan' crm:bullhorn:ping --heartbeat]• social account(s) to be processeddocker_1amp_1docker_lamp_1docker_lamp_1docker_1amp_11 Done!1 & Starting HubSpot journal polling service...27S DONEdocker_lamp_1l '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1docker_lamp_1docker_lamp_1run_artisan_schedule: Done waiting for schedule:runPreparation for Refi….. in 4 h 20 m100% (78• Mon 18 May 10:40:03DOCKER (docker-compose)О 82181APP (-zsh)*3screenpipe"Y2PROD (ssh)Run'do-release-upgrade'to upgrade to it.*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject. tom file in Users/lukas or its parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ I17EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [|View in Docker Desktopo View ConfigEnable Watch...
|
NULL
|
-3556179572734709304
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)field:@"docker_lamp_11}docker_lamp_1docker_1amp_1... 10s DONE• '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:32 Running ['artisan'conference: pre-meeting-notification]20s DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan'conference:pre-meeting-notification'/proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:start].. 17s DONEdocker_lamp_1fd/1'• '/usr/local/bin/php' 'artisan'conference:monitor:start > '/proc/1/2>&1docker_1amp_12026-05-18 07:38:09 Running ['artisan'conference:monitor:end].... 2OsDONEdocker_lamp_1/1'1 '/usr/local/bin/php' 'artisan'conference:monitor:end > */proc/1/fd2>&1docker_lamp_1|2026-05-18 07:38:30 Running ['artisan'jiminny:fix-hubspot-tokens]2OS DONEdocker_lamp_1 | , '/usr/local/bin/php' 'artisan'jiminny:fix-hubspot-tokens › */proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:38:51 Running ['artisan' conference:pre-meeting-reminder] in background82.66ms DONEdocker_1amp_1• ('/usr/local/bin/php' 'artisan'/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php' 'artisan'conference:pre-meeting-reminder>'schedule:finish "framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "S?") › '/dev/null' 2>&1 &docker_1amp_12026-05-18 07:38:51 Running ['artisan'hubspot:journal-poll --start]in background33.66ms DONEdocker_1amp_11• ('/usr/local/bin/php' 'artisan' hubspot: journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php''artisan'schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "§?") > '/dev/null' 2>&1 &docker_lamp_12026-05-18 07:38:51 Running ['artisan' crm:bullhorn:ping --heartbeat]• social account(s) to be processeddocker_1amp_1docker_lamp_1docker_lamp_1docker_1amp_11 Done!1 & Starting HubSpot journal polling service...27S DONEdocker_lamp_1l '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat > '/proc/1/fd/1' 2>&1docker_lamp_1docker_lamp_1run_artisan_schedule: Done waiting for schedule:runPreparation for Refi….. in 4 h 20 m100% (78• Mon 18 May 10:40:03DOCKER (docker-compose)О 82181APP (-zsh)*3screenpipe"Y2PROD (ssh)Run'do-release-upgrade'to upgrade to it.*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject. tom file in Users/lukas or its parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ I17EXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsEXTENSIONPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [|View in Docker Desktopo View ConfigEnable Watch...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50560
|
1786
|
24
|
2026-05-18T07:40:04.901838+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779090004901_m2.jpg...
|
PhpStorm
|
faVsco.js – TestPipedriveOfficialSdkCommand.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormProiect vVIewINavicareCodeLaravelKeractorP PhostormProiect vVIewINavicareCodeLaravelKeractorPreparation Tor Kell... In 4h 20m100% L2• Mon 18 May 10:40:04FV faVsco.js?° pipedrive-sdk-pocC ActivityController.ong© SyncProfileMetadata.php©syncleammeradata.ong1estPlpeariveomricialsakcommand.orCConvertLeadActivities.ong=custom.log4 SF [jiminny@localhost]& console [STAGING]Purgelookupcache.onp© SyncToPlanhat.phpA HS_local [jiminny@localhost]# console (PROD1fii users (PROD]Cascade© TestPipedriveOfficialSdkCommand.php xO Migrating to PipedriMao community suk metnoas to otticlal son vz ecuivalentsUpoateopponunityspecrications.onoc createrlaybookcreatedevent.ong©) AcuivityLeadConverted.pnp©) salestorce/service.php• Test v2 SDK method mappingsuse Jiminny models redh>@ Dealinsights>@Devpnp api.ohox" TeamController.phpACcept Renect> 0 Dialersc) IntearationApp/Service.php(C) CreateCommentedEvent.phpC) CreateSmsSentEvent.phoD DTOSActivityFieldsApi;use Pipedrive verstons velape beatrielasapt,C) PlanhatactivityListener.php(C)AskAnythinaPromptService.php(C) AutomatedReportsRepository.ohpC Elasticsearch(C)AutomatedReportsCommand.ohvphp api y2.ohdC) RequestGenerateReport.Job.ohv› Enqagementstatsш GeckoExportC) AutomatedReportResult.oho(C) AutomatedRenort.ohoV EditTeamModal.vueuse Pipearive versions vi Ap1 Personrlelasapluse Pipearive versions vI Ap1 Fersonsapluse Pioedrive versions vi confiquration:/eutticlalsakcommand.php)W LivestreamMallboxesCreateTeamRequest.phpC) UserinvitationDTO.onguse rrpearive verszons Ve ApL AcCLViclesApLa MidrateorganizaPlavbacktihemesSrouter->aroundf'middleware'= 'auth:aoi'l staticM Plavbooks42 A5 X3 X16 ^PlaylistsSrouter->arouodf 'orefix''/settings'], static function (Router Srouter): v 18use rrpearive verszons Ve Ap1 AcuLvicyrleLasapluse Pipedrive versions\v2\Api\DealFieldsApi:use Pipearive versions vz Ap1 UealSAp1*use Pipedrive versions\v2\Api\PersonFieldsApi:Command dockoations'], static function (Router $r• M PostmarkSrouter->aroundi'orefix'333'/', [OrganizationController::class, 'store'])> M PronhetAv Reportszations.store');use Pipearive versions vz Ap1 PersonsAp1*use Pipedrivel versions|v2\ Confiquration:• docker exec docker lamo 1 oho artisan iiminnv:test-oivedrive-official-sdk 19© AutomatedReportsCommand.phpC) AutomatedRenortsRetentionPolicvCorSrouter->group(['prefix' => '{team}', 'middleware' => ['teamMember'])2210class TestPipedrive0fficialSdkCommand extends Command© AutomatedReportsSendCommand.ph(C) CroateMockAck.liminnvRenortResult@© DeleteReportCommand.php© GenerateMarketingReport.php© Team.php© Usage.php>07 Slack_ TeamsH):// Integrations24 6protected Ssianature = "niminnv:test-pipedrive-official-sok «teamid-'…26 61$router->group(['middleware' => 'permission:' . PermissionEnum::MANAGE_INTEG.2files 1941-20>6 usagesAsk anvthina (*4L)(IntegrationController::class, 'all']) /ar->m1ddLeware middleware:'permission:, PermissionEnum:REAN TNTEGPATTONdtandintoanstione indovt).privata aaray edfgsylt Accept File *- X Reject File 0*@ + 3 of 3 files →+ &CodeSWE-1.6ServicesToC exv M DatabasevAEU#consolev&jiminny@localhostA HS_localA SFA PRODA console 1 s 879 ms(iil users 2 s 554 msV A STAGING& console zs 11 msDockerOutputGiô jiminny.social_accounts xdi w1row1116241.19555731|+0 ..wRun &e Skip2) Reject allAccept alle idsociable 1dW provider_user_id! provider_user_token(• provider refresh tokenI expiresM refresh token expiresprovider!O state1 auth_scopeI retry afterI created atundated atV1U:AQLBAHS -L2 TNK2yuuuaLq142hWb9crUNKTpk4=-109r5nXap_6AE0hDhDQVa1nvWCHEVnpVSEAAAAFB8BqKahk:G9WOBBwagbzBtAgEAMGgGCSqGS1D3D0EHATAeB9LghkgB/0MEAS4wEQQMnG8KNCZLI5EnLRPXA9EQgDsGP1CKfI5MU/0e136BtN5FCQa56mYUy24_AAoadh2ysV=ka6egLasOinp-5G4JE/frJURMV8VIW-FY149HRYyABXmXSBhEaYU_dFmDH8GF=vzSseJXE5bds_ZAyVd5034113:[TELEGRAM_TOKEN]b2bfc1779091997ninedriveconnectedlbase.deals:full.activities:full.contacts:full.search:read2023-09-08 09:44:292026-05-15 15:44•31ortcuts conflicts: Clone Caret Below and 1 more shortcut conflict with macOS shortcuts. Modify these shortcuts or change macOS system settings. // Modify Shortcuts // Don't Show Again (15 minutes ago)W Windsurf Teams 14:1 UTF-8 P® 4 spaces...
|
NULL
|
-1546068040887250725
|
NULL
|
visual_change
|
ocr
|
NULL
|
PhostormProiect vVIewINavicareCodeLaravelKeractorP PhostormProiect vVIewINavicareCodeLaravelKeractorPreparation Tor Kell... In 4h 20m100% L2• Mon 18 May 10:40:04FV faVsco.js?° pipedrive-sdk-pocC ActivityController.ong© SyncProfileMetadata.php©syncleammeradata.ong1estPlpeariveomricialsakcommand.orCConvertLeadActivities.ong=custom.log4 SF [jiminny@localhost]& console [STAGING]Purgelookupcache.onp© SyncToPlanhat.phpA HS_local [jiminny@localhost]# console (PROD1fii users (PROD]Cascade© TestPipedriveOfficialSdkCommand.php xO Migrating to PipedriMao community suk metnoas to otticlal son vz ecuivalentsUpoateopponunityspecrications.onoc createrlaybookcreatedevent.ong©) AcuivityLeadConverted.pnp©) salestorce/service.php• Test v2 SDK method mappingsuse Jiminny models redh>@ Dealinsights>@Devpnp api.ohox" TeamController.phpACcept Renect> 0 Dialersc) IntearationApp/Service.php(C) CreateCommentedEvent.phpC) CreateSmsSentEvent.phoD DTOSActivityFieldsApi;use Pipedrive verstons velape beatrielasapt,C) PlanhatactivityListener.php(C)AskAnythinaPromptService.php(C) AutomatedReportsRepository.ohpC Elasticsearch(C)AutomatedReportsCommand.ohvphp api y2.ohdC) RequestGenerateReport.Job.ohv› Enqagementstatsш GeckoExportC) AutomatedReportResult.oho(C) AutomatedRenort.ohoV EditTeamModal.vueuse Pipearive versions vi Ap1 Personrlelasapluse Pipearive versions vI Ap1 Fersonsapluse Pioedrive versions vi confiquration:/eutticlalsakcommand.php)W LivestreamMallboxesCreateTeamRequest.phpC) UserinvitationDTO.onguse rrpearive verszons Ve ApL AcCLViclesApLa MidrateorganizaPlavbacktihemesSrouter->aroundf'middleware'= 'auth:aoi'l staticM Plavbooks42 A5 X3 X16 ^PlaylistsSrouter->arouodf 'orefix''/settings'], static function (Router Srouter): v 18use rrpearive verszons Ve Ap1 AcuLvicyrleLasapluse Pipedrive versions\v2\Api\DealFieldsApi:use Pipearive versions vz Ap1 UealSAp1*use Pipedrive versions\v2\Api\PersonFieldsApi:Command dockoations'], static function (Router $r• M PostmarkSrouter->aroundi'orefix'333'/', [OrganizationController::class, 'store'])> M PronhetAv Reportszations.store');use Pipearive versions vz Ap1 PersonsAp1*use Pipedrivel versions|v2\ Confiquration:• docker exec docker lamo 1 oho artisan iiminnv:test-oivedrive-official-sdk 19© AutomatedReportsCommand.phpC) AutomatedRenortsRetentionPolicvCorSrouter->group(['prefix' => '{team}', 'middleware' => ['teamMember'])2210class TestPipedrive0fficialSdkCommand extends Command© AutomatedReportsSendCommand.ph(C) CroateMockAck.liminnvRenortResult@© DeleteReportCommand.php© GenerateMarketingReport.php© Team.php© Usage.php>07 Slack_ TeamsH):// Integrations24 6protected Ssianature = "niminnv:test-pipedrive-official-sok «teamid-'…26 61$router->group(['middleware' => 'permission:' . PermissionEnum::MANAGE_INTEG.2files 1941-20>6 usagesAsk anvthina (*4L)(IntegrationController::class, 'all']) /ar->m1ddLeware middleware:'permission:, PermissionEnum:REAN TNTEGPATTONdtandintoanstione indovt).privata aaray edfgsylt Accept File *- X Reject File 0*@ + 3 of 3 files →+ &CodeSWE-1.6ServicesToC exv M DatabasevAEU#consolev&jiminny@localhostA HS_localA SFA PRODA console 1 s 879 ms(iil users 2 s 554 msV A STAGING& console zs 11 msDockerOutputGiô jiminny.social_accounts xdi w1row1116241.19555731|+0 ..wRun &e Skip2) Reject allAccept alle idsociable 1dW provider_user_id! provider_user_token(• provider refresh tokenI expiresM refresh token expiresprovider!O state1 auth_scopeI retry afterI created atundated atV1U:AQLBAHS -L2 TNK2yuuuaLq142hWb9crUNKTpk4=-109r5nXap_6AE0hDhDQVa1nvWCHEVnpVSEAAAAFB8BqKahk:G9WOBBwagbzBtAgEAMGgGCSqGS1D3D0EHATAeB9LghkgB/0MEAS4wEQQMnG8KNCZLI5EnLRPXA9EQgDsGP1CKfI5MU/0e136BtN5FCQa56mYUy24_AAoadh2ysV=ka6egLasOinp-5G4JE/frJURMV8VIW-FY149HRYyABXmXSBhEaYU_dFmDH8GF=vzSseJXE5bds_ZAyVd5034113:[TELEGRAM_TOKEN]b2bfc1779091997ninedriveconnectedlbase.deals:full.activities:full.contacts:full.search:read2023-09-08 09:44:292026-05-15 15:44•31ortcuts conflicts: Clone Caret Below and 1 more shortcut conflict with macOS shortcuts. Modify these shortcuts or change macOS system settings. // Modify Shortcuts // Don't Show Again (15 minutes ago)W Windsurf Teams 14:1 UTF-8 P® 4 spaces...
|
50557
|
NULL
|
NULL
|
NULL
|
|
50561
|
1786
|
25
|
2026-05-18T07:40:08.604749+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779090008604_m2.jpg...
|
PhpStorm
|
faVsco.js – TestPipedriveOfficialSdkCommand.php
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormProiectVIewINavicareCodeLaravelKeractorPre PhostormProiectVIewINavicareCodeLaravelKeractorPreparation Tor Kell... In 4h 20m100% Lz• Mon 18 May 10:40:08FV faVsco.js?° pipedrive-sdk-pocC ActivityController.ong© SyncProfileMetadata.php©syncleammetadata.ong1estPlpeariveomricialsakcommand.orCConvertLeadActivities.ong=custom.logA SF [jiminny@localhost]« console [STAGING1Purgelookupcache.onp© SyncToPlanhat.phpA HS_local [jiminny@localhost]# console [PKob)fii users (PROD]© TestPipedriveOfficialSdkCommand.php X• Migrating to PipedriUpoateopponunityspecrications.onoc createrlaybookcreatedevent.ong©) AcuivityLeadConverted.pnp©) salestorce/service.php>@ Dealinsights>@Devpnp api.ono x" TeamController.php> 0 Dialersc) IntearationApp/Service.php(C) CreateCommentedEvent.phpC) CreateSmsSentEvent.phoD DTOSC) PlanhatactivityListener.php(C)AskAnythinaPromptService.php(C) AutomatedReportsRepository.ohpC ElasticsearchEnqagementstats(C)AutomatedReportsCommand.ohvphp api y2.ohdC) RequestGenerateReport.Job.ohvш GeckoExportC) AutomatedReportResult.oho(C) AutomatedRenort.ohoV EditTeamModal.vueW LivestreamCreateTeamRequest.phpC) UserinvitationDTO.ongMallboxesa MidratePlavbacktihemesM PlavbooksPlaylists• M Postmark333> M PronhetAv ReportsorganizaSrouter->aroundf'middleware= 'auth:aoi'l static42 A5 X3 X16 ^Srouter->arouodf 'orefix''/settings'], static function (Router Srouter): v 18Srouter->aroundi'orefix'ations'], static function (Router $r'/', [OrganizationController::class, 'store'])zations.store');© AutomatedReportsCommand.phpC) AutomatedRenortsRetentionPolicvCorSrouter->group(['prefix' => '{team}', 'middleware' => ['teamMember'])2210use Jiminny models redm® Map community SDK methods to official SDK v2 equivalentsTest v2 SDK method mappingsACcept RenectActivityFieldsApi;use Pipedrive verszonsivelapt beatrtecasaptyuse Pipearive versions vi Ap1 Personrlelasapluse Pipearive versions vI Ap1 Fersonsapluse Pioedrive versions vi Confiquration:use rrpearive verszons ve ApL AccLViclesapLuse rrpearive verszons Ve Ap1 AccLvicyrleLasaoLuse Pipedrive versions\v2\Api DealFieldsApi:use Pipearive versions vz Ap1 UealSAp1*use Pipedrive versions\v2\Api PersonFieldsApi:Thoughts >• TestPipedriveOfficialSdkCommand.phpThoughtsError while editing TestPipedrive0fficialSdkCommand.php ›Thoughts >Read TestPipedriveOfricialSdkCommand.php #L380-409Inouchts>• TestPipedriveOfficialSdkCommand.phpThoughtsuse Pipearive versions vz Ap1 PersonsAp1*use Pipedrivel versions|v2\ Confiquration:Command dockerO docker exec docker lamo 1 pho artisan iiminnv:test-oipedrive-official-sdk 19class TestPipedrive0fficialSdkCommand extends Command© AutomatedReportsSendCommand.ph(C) CroateMockAck.liminnvRenortResult@© DeleteReportCommand.php© GenerateMarketingReport.php© Team.php© Usage.php>07 Slack_ TeamsH):// Integrations24 626 6tprotected Ssianature = "niminnv:test-pipedrive-official-sok «teamid-'…neotecter Siecacintion e Test néticial pinadaive snk (rinedfaive/ninedeive) writh e2files 1941-20>$router->group(['middleware' => 'permission:' . PermissionEnum::MANAGE_INTEGR6 usagesAsk anvthina (*4L)[IntegrationController::class, 'all']) /ar->m1ddLeware middleware:'permission:, PermissionEnum:REAN TNTEGPATTONdtandintoanstione indovt).privata aaray edfgsylt Accept File *- X Reject File 0*@ + 3 of 3 files →+ &codeSWE-1.6ServicesToC exv M DatabasevAEU#consolev&jiminny@localhostA HS_localA SFA PRODA console 1 s 879 ms(iil users 2 s 554 msV A STAGING& console zs 11 msDockerOutputGiô jiminny.social_accounts xdi w1rowv1116241.19555731|+0 ..w+2-62) Reject allAccept alle idsociable 1dW provider_user_id! provider_user_token(• provider refresh tokenI expiresM refresh token expiresprovider!O state1 auth_scopeI retry afterI created atundated atV1U:AQLBAHS -L2 TNK2yuuuaLq142hWb9crUNKTpk4=-109r5nXap_6AE0hDhDQVa1nvWCHEVnpVSEAAAAFB8BqKahk:G9WOBBwagbzBtAgEAMGgGCSqGS1D3D0EHATAeB9LghkgB/0MEAS4wEQQMnG8KNCZLI5EnLRPXA9EQgDsGP1CKfI5MU/0e136BtN5FCQa56mYUy24_AAoadh2ysV=ka6egLasOinp-5G4JE/frJURMV8VIW-FY149HRYyABXmXSBhEaYU_dFmDH8GF=vzSseJXE5bds_ZAyVd5034113:[TELEGRAM_TOKEN]b2bfc1779091997<nulninedriveconnectedibase.deals:full.activities:full.contacts:full.search:read2023-09-08 09:44:292026-05-15 15:44•31ortcuts conflicts: Clone Caret Below and 1 more shortcut conflict with macOS shortcuts. Modify these shortcuts or change macOS system settings. // Modify Shortcuts // Don't Show Again (16 minutes ago)W Windsurf Teams 14:1 UTF-8 a 4 spaces...
|
NULL
|
5041318493514782197
|
NULL
|
visual_change
|
ocr
|
NULL
|
PhostormProiectVIewINavicareCodeLaravelKeractorPre PhostormProiectVIewINavicareCodeLaravelKeractorPreparation Tor Kell... In 4h 20m100% Lz• Mon 18 May 10:40:08FV faVsco.js?° pipedrive-sdk-pocC ActivityController.ong© SyncProfileMetadata.php©syncleammetadata.ong1estPlpeariveomricialsakcommand.orCConvertLeadActivities.ong=custom.logA SF [jiminny@localhost]« console [STAGING1Purgelookupcache.onp© SyncToPlanhat.phpA HS_local [jiminny@localhost]# console [PKob)fii users (PROD]© TestPipedriveOfficialSdkCommand.php X• Migrating to PipedriUpoateopponunityspecrications.onoc createrlaybookcreatedevent.ong©) AcuivityLeadConverted.pnp©) salestorce/service.php>@ Dealinsights>@Devpnp api.ono x" TeamController.php> 0 Dialersc) IntearationApp/Service.php(C) CreateCommentedEvent.phpC) CreateSmsSentEvent.phoD DTOSC) PlanhatactivityListener.php(C)AskAnythinaPromptService.php(C) AutomatedReportsRepository.ohpC ElasticsearchEnqagementstats(C)AutomatedReportsCommand.ohvphp api y2.ohdC) RequestGenerateReport.Job.ohvш GeckoExportC) AutomatedReportResult.oho(C) AutomatedRenort.ohoV EditTeamModal.vueW LivestreamCreateTeamRequest.phpC) UserinvitationDTO.ongMallboxesa MidratePlavbacktihemesM PlavbooksPlaylists• M Postmark333> M PronhetAv ReportsorganizaSrouter->aroundf'middleware= 'auth:aoi'l static42 A5 X3 X16 ^Srouter->arouodf 'orefix''/settings'], static function (Router Srouter): v 18Srouter->aroundi'orefix'ations'], static function (Router $r'/', [OrganizationController::class, 'store'])zations.store');© AutomatedReportsCommand.phpC) AutomatedRenortsRetentionPolicvCorSrouter->group(['prefix' => '{team}', 'middleware' => ['teamMember'])2210use Jiminny models redm® Map community SDK methods to official SDK v2 equivalentsTest v2 SDK method mappingsACcept RenectActivityFieldsApi;use Pipedrive verszonsivelapt beatrtecasaptyuse Pipearive versions vi Ap1 Personrlelasapluse Pipearive versions vI Ap1 Fersonsapluse Pioedrive versions vi Confiquration:use rrpearive verszons ve ApL AccLViclesapLuse rrpearive verszons Ve Ap1 AccLvicyrleLasaoLuse Pipedrive versions\v2\Api DealFieldsApi:use Pipearive versions vz Ap1 UealSAp1*use Pipedrive versions\v2\Api PersonFieldsApi:Thoughts >• TestPipedriveOfficialSdkCommand.phpThoughtsError while editing TestPipedrive0fficialSdkCommand.php ›Thoughts >Read TestPipedriveOfricialSdkCommand.php #L380-409Inouchts>• TestPipedriveOfficialSdkCommand.phpThoughtsuse Pipearive versions vz Ap1 PersonsAp1*use Pipedrivel versions|v2\ Confiquration:Command dockerO docker exec docker lamo 1 pho artisan iiminnv:test-oipedrive-official-sdk 19class TestPipedrive0fficialSdkCommand extends Command© AutomatedReportsSendCommand.ph(C) CroateMockAck.liminnvRenortResult@© DeleteReportCommand.php© GenerateMarketingReport.php© Team.php© Usage.php>07 Slack_ TeamsH):// Integrations24 626 6tprotected Ssianature = "niminnv:test-pipedrive-official-sok «teamid-'…neotecter Siecacintion e Test néticial pinadaive snk (rinedfaive/ninedeive) writh e2files 1941-20>$router->group(['middleware' => 'permission:' . PermissionEnum::MANAGE_INTEGR6 usagesAsk anvthina (*4L)[IntegrationController::class, 'all']) /ar->m1ddLeware middleware:'permission:, PermissionEnum:REAN TNTEGPATTONdtandintoanstione indovt).privata aaray edfgsylt Accept File *- X Reject File 0*@ + 3 of 3 files →+ &codeSWE-1.6ServicesToC exv M DatabasevAEU#consolev&jiminny@localhostA HS_localA SFA PRODA console 1 s 879 ms(iil users 2 s 554 msV A STAGING& console zs 11 msDockerOutputGiô jiminny.social_accounts xdi w1rowv1116241.19555731|+0 ..w+2-62) Reject allAccept alle idsociable 1dW provider_user_id! provider_user_token(• provider refresh tokenI expiresM refresh token expiresprovider!O state1 auth_scopeI retry afterI created atundated atV1U:AQLBAHS -L2 TNK2yuuuaLq142hWb9crUNKTpk4=-109r5nXap_6AE0hDhDQVa1nvWCHEVnpVSEAAAAFB8BqKahk:G9WOBBwagbzBtAgEAMGgGCSqGS1D3D0EHATAeB9LghkgB/0MEAS4wEQQMnG8KNCZLI5EnLRPXA9EQgDsGP1CKfI5MU/0e136BtN5FCQa56mYUy24_AAoadh2ysV=ka6egLasOinp-5G4JE/frJURMV8VIW-FY149HRYyABXmXSBhEaYU_dFmDH8GF=vzSseJXE5bds_ZAyVd5034113:[TELEGRAM_TOKEN]b2bfc1779091997<nulninedriveconnectedibase.deals:full.activities:full.contacts:full.search:read2023-09-08 09:44:292026-05-15 15:44•31ortcuts conflicts: Clone Caret Below and 1 more shortcut conflict with macOS shortcuts. Modify these shortcuts or change macOS system settings. // Modify Shortcuts // Don't Show Again (16 minutes ago)W Windsurf Teams 14:1 UTF-8 a 4 spaces...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50562
|
1786
|
26
|
2026-05-18T07:40:26.833241+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779090026833_m2.jpg...
|
Firefox
|
JY 20893 chunk control per update target by Vasil- JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12086#pullrequestrevie github.com/jiminny/app/pull/12086#pullrequestreview-4308125516...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Close tab
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality
Security and quality
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
JY 20893 chunk control per update target #12086 Edit title
JY 20893 chunk control per update target
#
12086
Edit title
Checks pending
Checks pending
Code
Code
Open
Vasil-Jiminny
Vasil-Jiminny
wants to merge 18 commits into
master
master
from
JY-20893-chunk-control-per-update-target
JY-20893-chunk-control-per-update-target
Copy head branch name to clipboard
Lines changed: 158 additions & 35 deletions
Conversation (15)
Conversation
(
15
)
Commits (18)
Commits
(
18
)
Checks (3)
Checks
(
3
)
Files changed (6)
Files changed
(
6
)
Open
JY 20893 chunk control per update target #12086 Vasil-Jiminny wants to merge 18 commits into master from JY-20893-chunk-control-per-update-target Copy head branch name to clipboard
JY 20893 chunk control per update target
JY 20893 chunk control per update target
#
12086
Vasil-Jiminny
Vasil-Jiminny
wants to merge 18 commits into
master
master
from...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"bounds":{"left":0.0,"top":0.0518755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.06304868,"width":0.10106383,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.09577015,"width":0.15658244,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.12849163,"width":0.064494684,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"bounds":{"left":0.0,"top":0.15003991,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.16121309,"width":0.18068483,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"bounds":{"left":0.0,"top":0.18276137,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"bounds":{"left":0.013297873,"top":0.19393456,"width":0.029920213,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"bounds":{"left":0.0,"top":0.21548285,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.22665602,"width":0.09158909,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.2482043,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.25937748,"width":0.039228722,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"bounds":{"left":0.0,"top":0.28092578,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"bounds":{"left":0.013297873,"top":0.29209897,"width":0.042719416,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.31364724,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.32482043,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"bounds":{"left":0.0,"top":0.3463687,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"bounds":{"left":0.013297873,"top":0.3575419,"width":0.07679521,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"bounds":{"left":0.0,"top":0.3790902,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"bounds":{"left":0.013297873,"top":0.39026338,"width":0.08543883,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"bounds":{"left":0.0,"top":0.41181165,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"bounds":{"left":0.013297873,"top":0.42298484,"width":0.21791889,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.4445331,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.4557063,"width":0.04537899,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":4,"bounds":{"left":0.0,"top":0.4772546,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.4884278,"width":0.15259309,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"bounds":{"left":0.0,"top":0.509976,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"bounds":{"left":0.013297873,"top":0.5211492,"width":0.07413564,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.54269755,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.16472739,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Close tab","depth":5,"bounds":{"left":0.06732048,"top":0.54988027,"width":0.007978723,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXRadioButton","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.575419,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.5865922,"width":0.18168218,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.60814047,"width":0.07962101,"height":0.032721467},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app","depth":5,"bounds":{"left":0.013297873,"top":0.61931366,"width":0.19847074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"New Tab","depth":4,"bounds":{"left":0.0028257978,"top":0.6424581,"width":0.07413564,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Customize sidebar","depth":6,"bounds":{"left":0.0028257978,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.013796543,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Tabs from other devices","depth":6,"bounds":{"left":0.024933511,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open history (⇧⌘H)","depth":6,"bounds":{"left":0.036070477,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXCheckBox","text":"Open bookmarks (⌘B)","depth":6,"bounds":{"left":0.04720745,"top":0.97007185,"width":0.010638298,"height":0.025538707},"on_screen":true,"help_text":"","role_description":"toggle button","subrole":"AXToggle","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Skip to content","depth":7,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Skip to content","depth":8,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Open menu","depth":11,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"Homepage (g then d)","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"jiminny","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"jiminny","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"app","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"app","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Search or jump to…","depth":10,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Type","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"/","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to search","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Chat with Copilot","depth":11,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXMenuButton","text":"Open Copilot…","depth":10,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXMenuButton","text":"Create new...","depth":10,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"All issues(g then i)","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All pull requests","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"All repositories","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXLink","text":"You have unread notifications(g then n)","depth":10,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Open user navigation menu","depth":10,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"Repository navigation","depth":10,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Repository navigation","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Code","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Code","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Pull requests (29)","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pull requests","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"29","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Agents","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Agents","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Actions","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Actions","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Wiki","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Wiki","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Security and quality","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Security and quality","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Insights","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Insights","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Settings","depth":13,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Settings","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Important update","depth":11,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Important update","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Review this update","depth":11,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Review this update","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and manage your preferences in your","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"GitHub account settings","depth":11,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"GitHub account settings","depth":12,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":11,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Dismiss banner","depth":10,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXHeading","text":"JY 20893 chunk control per update target #12086 Edit title","depth":13,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"JY 20893 chunk control per update target","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12086","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Edit title","depth":14,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXButton","text":"Checks pending","depth":13,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks pending","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"Code","depth":13,"on_screen":false,"help_text":"","role_description":"menu button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Code","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open","depth":13,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Vasil-Jiminny","depth":15,"on_screen":false,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vasil-Jiminny","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 18 commits into","depth":15,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":15,"on_screen":false,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":16,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"JY-20893-chunk-control-per-update-target","depth":16,"on_screen":false,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20893-chunk-control-per-update-target","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Copy head branch name to clipboard","depth":16,"on_screen":false,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Lines changed: 158 additions & 35 deletions","depth":14,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Conversation (15)","depth":16,"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Conversation","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"15","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Commits (18)","depth":16,"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Commits","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"18","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Checks (3)","depth":16,"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Checks","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"3","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Files changed (6)","depth":16,"on_screen":false,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Files changed","depth":17,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"(","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"6","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":")","depth":18,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Open","depth":14,"bounds":{"left":0.34840426,"top":0.0726257,"width":0.011968086,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"JY 20893 chunk control per update target #12086 Vasil-Jiminny wants to merge 18 commits into master from JY-20893-chunk-control-per-update-target Copy head branch name to clipboard","depth":14,"bounds":{"left":0.36702126,"top":0.058260176,"width":0.22922207,"height":0.042298485},"on_screen":true,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXLink","text":"JY 20893 chunk control per update target","depth":16,"bounds":{"left":0.36702126,"top":0.05865922,"width":0.09474734,"height":0.01915403},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY 20893 chunk control per update target","depth":17,"bounds":{"left":0.36702126,"top":0.06304868,"width":0.09474734,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"#","depth":16,"bounds":{"left":0.4644282,"top":0.06304868,"width":0.0028257978,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"12086","depth":16,"bounds":{"left":0.46725398,"top":0.06304868,"width":0.013630319,"height":0.013567438},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Vasil-Jiminny","depth":18,"bounds":{"left":0.36702126,"top":0.08339984,"width":0.02642952,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Vasil-Jiminny","depth":19,"bounds":{"left":0.36702126,"top":0.08339984,"width":0.02642952,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"wants to merge 18 commits into","depth":18,"bounds":{"left":0.39478058,"top":0.08339984,"width":0.059840426,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"master","depth":18,"bounds":{"left":0.4559508,"top":0.08180367,"width":0.018450798,"height":0.015163607},"on_screen":true,"role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"master","depth":19,"bounds":{"left":0.45794547,"top":0.083798885,"width":0.014461436,"height":0.011572227},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"from","depth":19,"bounds":{"left":0.47573137,"top":0.08339984,"width":0.008643617,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
3975825758089423589
|
-5109588927877320630
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app
Pull requests · jiminny/app
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20912] Fallback mechanism for users with active SF tokens for CRM Matching - Jira
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app
Close tab
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
Jy 20846 mcp enable the ai to know details about the user by nikolaybiaivanov · Pull Request #12075 · jiminny/app
New Tab
Customize sidebar
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Skip to content
Skip to content
Open menu
Homepage (g then d)
jiminny
jiminny
app
app
Search or jump to…
Type
/
to search
Chat with Copilot
Open Copilot…
Create new...
All issues(g then i)
All pull requests
All repositories
You have unread notifications(g then n)
Open user navigation menu
Repository navigation
Repository navigation
Code
Code
Pull requests (29)
Pull requests
(
29
)
Agents
Agents
Actions
Actions
Wiki
Wiki
Security and quality
Security and quality
Insights
Insights
Settings
Settings
Important update
Important update
On April 24 we'll start using GitHub Copilot interaction data for AI model training unless you opt out.
Review this update
Review this update
and manage your preferences in your
GitHub account settings
GitHub account settings
.
Dismiss banner
JY 20893 chunk control per update target #12086 Edit title
JY 20893 chunk control per update target
#
12086
Edit title
Checks pending
Checks pending
Code
Code
Open
Vasil-Jiminny
Vasil-Jiminny
wants to merge 18 commits into
master
master
from
JY-20893-chunk-control-per-update-target
JY-20893-chunk-control-per-update-target
Copy head branch name to clipboard
Lines changed: 158 additions & 35 deletions
Conversation (15)
Conversation
(
15
)
Commits (18)
Commits
(
18
)
Checks (3)
Checks
(
3
)
Files changed (6)
Files changed
(
6
)
Open
JY 20893 chunk control per update target #12086 Vasil-Jiminny wants to merge 18 commits into master from JY-20893-chunk-control-per-update-target Copy head branch name to clipboard
JY 20893 chunk control per update target
JY 20893 chunk control per update target
#
12086
Vasil-Jiminny
Vasil-Jiminny
wants to merge 18 commits into
master
master
from...
|
50561
|
NULL
|
NULL
|
NULL
|
|
50563
|
1785
|
27
|
2026-05-18T07:40:28.006771+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779090028006_m1.jpg...
|
Firefox
|
JY 20893 chunk control per update target by Vasil- JY 20893 chunk control per update target by Vasil-Jiminny · Pull Request #12086 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12086#pullrequestrevie github.com/jiminny/app/pull/12086#pullrequestreview-4308125516...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20891] Sidekick SMS issue - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20891] Sidekick SMS issue - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Usage | Windsurf","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Usage | Windsurf","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[SRD-6853] Moxso - Potential deal stages bug - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipelines - jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipelines - jiminny/app","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Feed — jiminny — Sentry","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Feed — jiminny — Sentry","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[JY-20906] Review of Pipedrive SDK - Jira","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pipedrive API Reference and Documentation","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Pipedrive API Reference and Documentation","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"pipedrive/client-php: Pipedrive API client for PHP","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - lukas.kovalik@jiminny.com - Jiminny Mail","depth":5,"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Pull requests · jiminny/app","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-8736634495291549852
|
-5168709706523709108
|
visual_change
|
accessibility
|
NULL
|
Platform Sprint 4 Q2 - Platform Team - Scrum Board Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
Platform Sprint 4 Q2 - Platform Team - Scrum Board - Jira
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
JY-20891 add support for secondary email by LakyLak · Pull Request #12073 · jiminny/app
[JY-20891] Sidekick SMS issue - Jira
[JY-20891] Sidekick SMS issue - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
[JY-20915] Add environment-specific email domains for text relay to prevent duplicate processing - Jira
Usage | Windsurf
Usage | Windsurf
[SRD-6853] Moxso - Potential deal stages bug - Jira
[SRD-6853] Moxso - Potential deal stages bug - Jira
Pipelines - jiminny/app
Pipelines - jiminny/app
Feed — jiminny — Sentry
Feed — jiminny — Sentry
[JY-20906] Review of Pipedrive SDK - Jira
[JY-20906] Review of Pipedrive SDK - Jira
Pipedrive API Reference and Documentation
Pipedrive API Reference and Documentation
pipedrive/client-php: Pipedrive API client for PHP
pipedrive/client-php: Pipedrive API client for PHP
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
[jiminny/infrastructure] JY-20623 Add SQS queue for panorama reports (PR #728) - [EMAIL] - Jiminny Mail
Pull requests · jiminny/app...
|
50559
|
NULL
|
NULL
|
NULL
|
|
50564
|
1785
|
28
|
2026-05-18T07:40:30.529594+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779090030529_m1.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088#pullrequestrevie github.com/jiminny/app/pull/12088#pullrequestreview-4308146139...
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)docker_lamp_11}docker_lamp_1...10sDONEdocker_lamp_1• '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > */proc/1/fd/1' 2>&1docker_lamp_12026-05-18 07:37:32 Running ['artisan' conference:pre-meeting-notification]20s DONEdocker_1amp_1l '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification'/proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:start].. 17S DONEdocker_lamp_1fd/1'2>&1l '/usr/local/bin/php' 'artisan' conference:monitor:start › */proc/1/docker_lamp_12026-05-18 07:38:09 Running ['artisan'conference:monitor:end].... 2docker_lamp_1/1'1 '/usr/local/bin/php' 'artisan'conference:monitor:end > */proc/1/fd2>&1docker_lamp_12026-05-18 07:38:30 Running ['artisan' jiminny:fix-hubspot-tokens]2Os DONEdocker_lamp_1 | / '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens › '/proc/1/fd/1' 2>&1docker_lamp_12026-05-18 07:38:51 Running ['artisan'conference:pre-meeting-reminder] in background 82.66msdocker_lamp_1l ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder ›/proc/1/fd/1' 2>&1; '/usr/local/bin/php' 'artisan""framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &docker_lamp_1 |2026-05-18 07:38:51 Running ['artisan' hubspot: journal-poll --start]in background33.66ms DONEdocker_lamp_1l ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php'schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null'docker_lamp_12026-05-18 07:38:51 Running ['artisan' crm:bullhorn:ping --heartbeat]O social account(s) to be processeddocker_lamp_1docker_1amp_1docker_lamp_1docker_lamp_1I Done!1 2 Starting HubSpot journal polling service...27S DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat › '/proc/1/fd/1' 2>&1docker_lamp_1docker_lamp_1run_artisan_schedule: Done waiting for schedule:rundocker_lamp_1-View in Docker Desktop@ View ConfigEnable Watch> 0.Preparation for Refi…. in 4h 20 m100%8• Mon 18 May 10:40:30DOCKER (docker-compose)О ₴2APP (-zsh)screenpipe"*3PROD (ssh)Run'do-release-upgrade'to upgrade to it.*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ IEXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [|FRONTENDEXTENSION...
|
NULL
|
4509546228843839007
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelpDOCKER81DEV (-zsh)11DOCKER (docker-compose)docker_lamp_11}docker_lamp_1...10sDONEdocker_lamp_1• '/usr/local/bin/php' 'artisan' mailbox:text-relay:sync > */proc/1/fd/1' 2>&1docker_lamp_12026-05-18 07:37:32 Running ['artisan' conference:pre-meeting-notification]20s DONEdocker_1amp_1l '/usr/local/bin/php' 'artisan' conference:pre-meeting-notification'/proc/1/fd/1'2>&1docker_lamp_12026-05-18 07:37:52 Running ['artisan'conference:monitor:start].. 17S DONEdocker_lamp_1fd/1'2>&1l '/usr/local/bin/php' 'artisan' conference:monitor:start › */proc/1/docker_lamp_12026-05-18 07:38:09 Running ['artisan'conference:monitor:end].... 2docker_lamp_1/1'1 '/usr/local/bin/php' 'artisan'conference:monitor:end > */proc/1/fd2>&1docker_lamp_12026-05-18 07:38:30 Running ['artisan' jiminny:fix-hubspot-tokens]2Os DONEdocker_lamp_1 | / '/usr/local/bin/php' 'artisan' jiminny:fix-hubspot-tokens › '/proc/1/fd/1' 2>&1docker_lamp_12026-05-18 07:38:51 Running ['artisan'conference:pre-meeting-reminder] in background 82.66msdocker_lamp_1l ('/usr/local/bin/php' 'artisan' conference:pre-meeting-reminder ›/proc/1/fd/1' 2>&1; '/usr/local/bin/php' 'artisan""framework/schedule-805efb160ee8d9da02e60364ace7970eb2b35f31" "$?") > '/dev/null' 2>&1 &docker_lamp_1 |2026-05-18 07:38:51 Running ['artisan' hubspot: journal-poll --start]in background33.66ms DONEdocker_lamp_1l ('/usr/local/bin/php' 'artisan' hubspot:journal-poll --start > '/proc/1/fd/1' 2>&1 ; '/usr/local/bin/php'schedule:finish "framework/schedule-e26d77f915d2c55fe91ca4148a230e32eaa1865e" "$?") > '/dev/null'docker_lamp_12026-05-18 07:38:51 Running ['artisan' crm:bullhorn:ping --heartbeat]O social account(s) to be processeddocker_lamp_1docker_1amp_1docker_lamp_1docker_lamp_1I Done!1 2 Starting HubSpot journal polling service...27S DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan' crm:bullhorn:ping --heartbeat › '/proc/1/fd/1' 2>&1docker_lamp_1docker_lamp_1run_artisan_schedule: Done waiting for schedule:rundocker_lamp_1-View in Docker Desktop@ View ConfigEnable Watch> 0.Preparation for Refi…. in 4h 20 m100%8• Mon 18 May 10:40:30DOCKER (docker-compose)О ₴2APP (-zsh)screenpipe"*3PROD (ssh)Run'do-release-upgrade'to upgrade to it.*** System restart required ***Last login: Thu May 14 07:41:362026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (-zsh)Last login: Sat May 16 18:04:33on ttys001Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parents@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ I|T4STAGE (ssh)See [URL_WITH_CREDENTIALS] ~ $ IEXT (-zsh)Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.tomlfile in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [|FRONTENDEXTENSION...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50566
|
1786
|
27
|
2026-05-18T07:40:30.529617+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779090030529_m2.jpg...
|
Firefox
|
Jy 20918 remove redis switch for priority reindexi Jy 20918 remove redis switch for priority reindexing by Vasil-Jiminny · Pull Request #12088 · jiminny/app — Work...
|
1
|
github.com/jiminny/app/pull/12088#pullrequestrevie github.com/jiminny/app/pull/12088#pullrequestreview-4308146139...
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
rireroxEdit•••D+→ cVIewmistory bookmarksProtllesTo rireroxEdit•••D+→ cVIewmistory bookmarksProtllesToolsWindowmelp• github.com/jiminny/app/pull/12086#pullrequestreview-4308125516Platform Sprint 4 Q2 - Platform Te()JY-20891 add support for seconda[UY-20891] Sidekick SMS issue - JJY-20915) Add environment-spedUsage | Windsurf(SRD-6853) Moxso - Potential deaPipelines - jiminny/appl Feed - jiminny - SentryfJY-209061 Review of Pipedrive SP Pipedrive API Reference and Docur•pipedrive/client-php: Pipedrive APfiiminny/infrastructurel.JY-20623Pull requests - jiminny/app(JY-209121 Fallback mechanism fcS 1IY-209061 Review of Pinedrive Sf. JY 20893 chunk control per up xaail-Jim chynK Rarouer ugote t Jmet by.• Jy 20918 remove redis switch for df Jy 20846 mcp enable the ai to kno+ New TabiPreparation for Refi... in 4h 20m A 100% C4 &• Mon 18 May 10:40:3083 OperJY 20893 chunk control per update target #12086Vasil-Jiminny wants to merge 18 commits into master from JY-20893-chunk-control-per-update-target• Vasil-Jiminny requested a review from vkulov 44 minutes agoO Short the implementation of accessor methods. No functional changes, .@ O uulov approved these changes 1a minutes agoo € Merge branch 'master' into JY-20893-chunk-control-per-update-target@ Lakylak approvedl these changes 4 minutes agoX Заес79aView reviewed changesVerified • c50964fView reviewed changesThis branch has not been denlovediNo deployments|Changes approved2 annrovina reviews bv reviewers with write access.2 approvals ›8 2 pending reviews >• Some checks haven't completed yet• 1 oendina. 1 in oroaress. 1 skiooed. 1 exoected. 8 successtul checksinantintshose•0 ci/circleci: test Waiting for status to be reported — CircleCl is running your tests• @ SonarCloud Code Analvsis Expected — Waiting for status to be reported1 in nroaroce chock v• • build accept deplov Started 12 minutes aao — Workflow: build accept deplovRequired•@ Claude Code / claude (pull_request_review) Skipped 4 minutes agov ci/circleci: build-backend — Your tests passed on CircleCI!Enable auto-mergeYou can also merce this with the command line. View command line instructions.X scheduledBatches^ V V Highlight All Match Case [] Match Diacritics Whole Words 2 of 8 matches...
|
NULL
|
-6520128209043524780
|
NULL
|
click
|
ocr
|
NULL
|
rireroxEdit•••D+→ cVIewmistory bookmarksProtllesTo rireroxEdit•••D+→ cVIewmistory bookmarksProtllesToolsWindowmelp• github.com/jiminny/app/pull/12086#pullrequestreview-4308125516Platform Sprint 4 Q2 - Platform Te()JY-20891 add support for seconda[UY-20891] Sidekick SMS issue - JJY-20915) Add environment-spedUsage | Windsurf(SRD-6853) Moxso - Potential deaPipelines - jiminny/appl Feed - jiminny - SentryfJY-209061 Review of Pipedrive SP Pipedrive API Reference and Docur•pipedrive/client-php: Pipedrive APfiiminny/infrastructurel.JY-20623Pull requests - jiminny/app(JY-209121 Fallback mechanism fcS 1IY-209061 Review of Pinedrive Sf. JY 20893 chunk control per up xaail-Jim chynK Rarouer ugote t Jmet by.• Jy 20918 remove redis switch for df Jy 20846 mcp enable the ai to kno+ New TabiPreparation for Refi... in 4h 20m A 100% C4 &• Mon 18 May 10:40:3083 OperJY 20893 chunk control per update target #12086Vasil-Jiminny wants to merge 18 commits into master from JY-20893-chunk-control-per-update-target• Vasil-Jiminny requested a review from vkulov 44 minutes agoO Short the implementation of accessor methods. No functional changes, .@ O uulov approved these changes 1a minutes agoo € Merge branch 'master' into JY-20893-chunk-control-per-update-target@ Lakylak approvedl these changes 4 minutes agoX Заес79aView reviewed changesVerified • c50964fView reviewed changesThis branch has not been denlovediNo deployments|Changes approved2 annrovina reviews bv reviewers with write access.2 approvals ›8 2 pending reviews >• Some checks haven't completed yet• 1 oendina. 1 in oroaress. 1 skiooed. 1 exoected. 8 successtul checksinantintshose•0 ci/circleci: test Waiting for status to be reported — CircleCl is running your tests• @ SonarCloud Code Analvsis Expected — Waiting for status to be reported1 in nroaroce chock v• • build accept deplov Started 12 minutes aao — Workflow: build accept deplovRequired•@ Claude Code / claude (pull_request_review) Skipped 4 minutes agov ci/circleci: build-backend — Your tests passed on CircleCI!Enable auto-mergeYou can also merce this with the command line. View command line instructions.X scheduledBatches^ V V Highlight All Match Case [] Match Diacritics Whole Words 2 of 8 matches...
|
NULL
|
NULL
|
NULL
|
NULL
|