|
50485
|
1784
|
45
|
2026-05-18T07:35:43.789247+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089743789_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
|
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...
|
[{"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"}]...
|
-721665598310351921
|
3483076824933470301
|
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...
|
50483
|
NULL
|
NULL
|
NULL
|
|
50486
|
1783
|
51
|
2026-05-18T07:35:44.903823+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089744903_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
|
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
github.com/jiminny/app/pull/12086#pullrequestreview-4308125516
github.com/jiminny/app/pull/12086#pullrequestreview-4308125516
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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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
Gemini said
Gemini said
Summary of Changes
Summary of Changes
The selected diff updates
TargetEntitiesSelectorTest
by replacing hardcoded class constants with local variables (
$mainChunkSize
and
$staleChunkSize
) to make the tests more flexible, while explicitly tightening the expected call counts on mock objects.
Detailed Modifications
Detailed Modifications
1. Test Parameterization
1. Test Parameterization
Introduced Local Variables:
Replaced references to
TargetEntitiesSelector::ES_CHUNK_SIZE
with
$mainChunkSize = 200
and
TargetEntitiesSelector::SMALL_CHUNK_SIZE
with
$staleChunkSize = 50
.
Dynamic Range and Offset Calculations:
Updated array ranges, Redis...
|
[{"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":"github.com/jiminny/app/pull/12086#pullrequestreview-4308125516","depth":4,"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"github.com/jiminny/app/pull/12086#pullrequestreview-4308125516","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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</selection>” selected.","depth":23,"on_screen":false,"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":"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":"Summary of Changes","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Summary of Changes","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The selected diff updates","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TargetEntitiesSelectorTest","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"by replacing hardcoded class constants with local variables (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$mainChunkSize","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$staleChunkSize","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") to make the tests more flexible, while explicitly tightening the expected call counts on mock objects.","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Detailed Modifications","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Detailed Modifications","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"1. Test Parameterization","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1. Test Parameterization","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Introduced Local Variables:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Replaced references to","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TargetEntitiesSelector::ES_CHUNK_SIZE","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$mainChunkSize = 200","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TargetEntitiesSelector::SMALL_CHUNK_SIZE","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$staleChunkSize = 50","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Dynamic Range and Offset Calculations:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated array ranges, Redis","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
7668849231413976454
|
-1061417073247644662
|
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
github.com/jiminny/app/pull/12086#pullrequestreview-4308125516
github.com/jiminny/app/pull/12086#pullrequestreview-4308125516
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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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
Gemini said
Gemini said
Summary of Changes
Summary of Changes
The selected diff updates
TargetEntitiesSelectorTest
by replacing hardcoded class constants with local variables (
$mainChunkSize
and
$staleChunkSize
) to make the tests more flexible, while explicitly tightening the expected call counts on mock objects.
Detailed Modifications
Detailed Modifications
1. Test Parameterization
1. Test Parameterization
Introduced Local Variables:
Replaced references to
TargetEntitiesSelector::ES_CHUNK_SIZE
with
$mainChunkSize = 200
and
TargetEntitiesSelector::SMALL_CHUNK_SIZE
with
$staleChunkSize = 50
.
Dynamic Range and Offset Calculations:
Updated array ranges, Redis...
|
50484
|
NULL
|
NULL
|
NULL
|
|
50487
|
1784
|
46
|
2026-05-18T07:35:44.906229+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089744906_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
|
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
github.com/jiminny/app/pull/12086#pullrequestreview-4308125516
github.com/jiminny/app/pull/12086#pullrequestreview-4308125516
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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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
Gemini said
Gemini said
Summary of Changes
Summary of Changes
The selected diff updates
TargetEntitiesSelectorTest
by replacing hardcoded class constants with local variables (
$mainChunkSize
and
$staleChunkSize
) to make the tests more flexible, while explicitly tightening the expected call counts on mock objects.
Detailed Modifications
Detailed Modifications
1. Test Parameterization
1. Test Parameterization
Introduced Local Variables:...
|
[{"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":"github.com/jiminny/app/pull/12086#pullrequestreview-4308125516","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":"github.com/jiminny/app/pull/12086#pullrequestreview-4308125516","depth":5,"bounds":{"left":0.013297873,"top":0.55387074,"width":0.116855055,"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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</selection>” selected.","depth":23,"on_screen":false,"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":"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":"Summary of Changes","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Summary of Changes","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The selected diff updates","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TargetEntitiesSelectorTest","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"by replacing hardcoded class constants with local variables (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$mainChunkSize","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$staleChunkSize","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") to make the tests more flexible, while explicitly tightening the expected call counts on mock objects.","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Detailed Modifications","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Detailed Modifications","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"1. Test Parameterization","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1. Test Parameterization","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Introduced Local Variables:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
1207912313492948556
|
-1061417073247644598
|
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
github.com/jiminny/app/pull/12086#pullrequestreview-4308125516
github.com/jiminny/app/pull/12086#pullrequestreview-4308125516
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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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
Gemini said
Gemini said
Summary of Changes
Summary of Changes
The selected diff updates
TargetEntitiesSelectorTest
by replacing hardcoded class constants with local variables (
$mainChunkSize
and
$staleChunkSize
) to make the tests more flexible, while explicitly tightening the expected call counts on mock objects.
Detailed Modifications
Detailed Modifications
1. Test Parameterization
1. Test Parameterization
Introduced Local Variables:...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50488
|
1784
|
47
|
2026-05-18T07:35:48.699855+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089748699_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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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
Gemini said
Gemini said
Summary of Changes
Summary of Changes
The selected diff updates
TargetEntitiesSelectorTest
by replacing hardcoded class constants with local variables (
$mainChunkSize
and
$staleChunkSize
) to make the tests more flexible, while explicitly tightening the expected call counts on mock objects.
Detailed Modifications
Detailed Modifications
1. Test Parameterization
1. Test Parameterization
Introduced Local Variables:
Replaced references to
TargetEntitiesSelector::ES_CHUNK_SIZE
with
$mainChunkSize = 200
and
TargetEntitiesSelector::SMALL_CHUNK_SIZE
with
$staleChunkSize = 50
.
Dynamic Range and Offset Calculations:
Updated array ranges, Redis
spop
arguments, and iteration offsets to derive dynamically from these local variables instead of hardcoded class constants.
2. Mock Expectation Hardening
2. Mock Expectation Hardening
getAllScheduledBatches
:
Changed expectations from
atLeastOnce()
to explicit strict counts:
exactly(5)
in
testTargetStaleChunksFirst
once()
in
testOnlyHighPriorityEntitiesToProcess
isBatchStillInProgress...
|
[{"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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</selection>” selected.","depth":23,"on_screen":false,"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":"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":"Summary of Changes","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Summary of Changes","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The selected diff updates","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TargetEntitiesSelectorTest","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"by replacing hardcoded class constants with local variables (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$mainChunkSize","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$staleChunkSize","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") to make the tests more flexible, while explicitly tightening the expected call counts on mock objects.","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Detailed Modifications","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Detailed Modifications","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"1. Test Parameterization","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1. Test Parameterization","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Introduced Local Variables:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Replaced references to","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TargetEntitiesSelector::ES_CHUNK_SIZE","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$mainChunkSize = 200","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TargetEntitiesSelector::SMALL_CHUNK_SIZE","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$staleChunkSize = 50","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Dynamic Range and Offset Calculations:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated array ranges, Redis","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"spop","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arguments, and iteration offsets to derive dynamically from these local variables instead of hardcoded class constants.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"2. Mock Expectation Hardening","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2. Mock Expectation Hardening","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"getAllScheduledBatches","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Changed expectations from","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"atLeastOnce()","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to explicit strict counts:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"exactly(5)","depth":29,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in","depth":28,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"testTargetStaleChunksFirst","depth":29,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"once()","depth":29,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in","depth":28,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"testOnlyHighPriorityEntitiesToProcess","depth":29,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"isBatchStillInProgress","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-2717992120241676960
|
8161954963607131210
|
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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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
Gemini said
Gemini said
Summary of Changes
Summary of Changes
The selected diff updates
TargetEntitiesSelectorTest
by replacing hardcoded class constants with local variables (
$mainChunkSize
and
$staleChunkSize
) to make the tests more flexible, while explicitly tightening the expected call counts on mock objects.
Detailed Modifications
Detailed Modifications
1. Test Parameterization
1. Test Parameterization
Introduced Local Variables:
Replaced references to
TargetEntitiesSelector::ES_CHUNK_SIZE
with
$mainChunkSize = 200
and
TargetEntitiesSelector::SMALL_CHUNK_SIZE
with
$staleChunkSize = 50
.
Dynamic Range and Offset Calculations:
Updated array ranges, Redis
spop
arguments, and iteration offsets to derive dynamically from these local variables instead of hardcoded class constants.
2. Mock Expectation Hardening
2. Mock Expectation Hardening
getAllScheduledBatches
:
Changed expectations from
atLeastOnce()
to explicit strict counts:
exactly(5)
in
testTargetStaleChunksFirst
once()
in
testOnlyHighPriorityEntitiesToProcess
isBatchStillInProgress...
|
50487
|
NULL
|
NULL
|
NULL
|
|
50489
|
1783
|
52
|
2026-05-18T07:35:50.886875+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089750886_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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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
Gemini said
Gemini said
Summary of Changes
Summary of Changes
The selected diff updates
TargetEntitiesSelectorTest
by replacing hardcoded class constants with local variables (
$mainChunkSize
and
$staleChunkSize...
|
[{"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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</selection>” selected.","depth":23,"on_screen":false,"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":"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":"Summary of Changes","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Summary of Changes","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The selected diff updates","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TargetEntitiesSelectorTest","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"by replacing hardcoded class constants with local variables (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$mainChunkSize","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$staleChunkSize","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-5400175485834824297
|
-3367260082461338550
|
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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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
Gemini said
Gemini said
Summary of Changes
Summary of Changes
The selected diff updates
TargetEntitiesSelectorTest
by replacing hardcoded class constants with local variables (
$mainChunkSize
and
$staleChunkSize...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50490
|
1784
|
48
|
2026-05-18T07:35:50.913605+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089750913_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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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
Gemini said
Gemini said
Summary of Changes
Summary of Changes
The selected diff updates
TargetEntitiesSelectorTest
by replacing hardcoded class constants with local variables (
$mainChunkSize
and
$staleChunkSize
) to make the tests more flexible, while explicitly tightening the expected call counts on mock objects.
Detailed Modifications
Detailed Modifications
1. Test Parameterization
1. Test Parameterization
Introduced Local Variables:
Replaced references to
TargetEntitiesSelector::ES_CHUNK_SIZE
with
$mainChunkSize = 200
and
TargetEntitiesSelector::SMALL_CHUNK_SIZE
with
$staleChunkSize = 50
.
Dynamic Range and Offset Calculations:
Updated array ranges, Redis
spop
arguments, and iteration offsets to derive dynamically from these local variables instead of hardcoded class constants.
2. Mock Expectation Hardening
2. Mock Expectation Hardening
getAllScheduledBatches
:
Changed expectations from
atLeastOnce()
to explicit strict counts:
exactly(5)
in
testTargetStaleChunksFirst
once()
in
testOnlyHighPriorityEntitiesToProcess
isBatchStillInProgress
:
Changed expectation from
atLeast(2)
to
exactly(14)
.
extractEntityIdsFromBatch
:...
|
[{"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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</selection>” selected.","depth":23,"on_screen":false,"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":"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":"Summary of Changes","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Summary of Changes","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"The selected diff updates","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TargetEntitiesSelectorTest","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"by replacing hardcoded class constants with local variables (","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$mainChunkSize","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$staleChunkSize","depth":25,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":") to make the tests more flexible, while explicitly tightening the expected call counts on mock objects.","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"Detailed Modifications","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Detailed Modifications","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"1. Test Parameterization","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"1. Test Parameterization","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Introduced Local Variables:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Replaced references to","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TargetEntitiesSelector::ES_CHUNK_SIZE","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$mainChunkSize = 200","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"and","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"TargetEntitiesSelector::SMALL_CHUNK_SIZE","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"with","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"$staleChunkSize = 50","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Dynamic Range and Offset Calculations:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Updated array ranges, Redis","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"spop","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"arguments, and iteration offsets to derive dynamically from these local variables instead of hardcoded class constants.","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXHeading","text":"2. Mock Expectation Hardening","depth":23,"on_screen":false,"help_text":"","role_description":"heading","subrole":"AXUnknown"},{"role":"AXStaticText","text":"2. Mock Expectation Hardening","depth":24,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"getAllScheduledBatches","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Changed expectations from","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"atLeastOnce()","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to explicit strict counts:","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"exactly(5)","depth":29,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in","depth":28,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"testTargetStaleChunksFirst","depth":29,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"once()","depth":29,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"in","depth":28,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"testOnlyHighPriorityEntitiesToProcess","depth":29,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"isBatchStillInProgress","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Changed expectation from","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"atLeast(2)","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"to","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"exactly(14)","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":".","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"extractEntityIdsFromBatch","depth":27,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":":","depth":26,"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
2665672553406021484
|
8161954963607131210
|
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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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 20893 chunk control per update target by Vasil-</tabTitle>” with “<selection>@@ -20,6 +20,9 @@ class TargetEntitiesSelectorTest extends TestCase202021public function testTargetStaleChunksFirst(): void21public function testTargetStaleChunksFirst(): void22 {22 {23+$mainChunkSize = 200;24+$staleChunkSize = 50;25+23$batchStatusManager = $this->createMock(BatchStatusInterface::class);26$batchStatusManager = $this->createMock(BatchStatusInterface::class);242725$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];28$this->scheduledBatches = ['scheduled-batch-1', 'scheduled-batch-2'];@@ -28,13 +31,13 @@ public function testTargetStaleChunksFirst(): void28'scheduled-batch-2' => false,31'scheduled-batch-2' => false,29 ];32 ];30// Exactly one batch33// Exactly one batch31-$scheduledEntityIds = range(101, TargetEntitiesSelector::ES_CHUNK_SIZE + 100);34+$scheduledEntityIds = range(101, $mainChunkSize + 100);323533-$batchStatusManager->expects($this->atLeastOnce())36+$batchStatusManager->expects($this->exactly(5))34 ->method('getAllScheduledBatches')37 ->method('getAllScheduledBatches')35 ->willReturnCallback(fn () => $this->scheduledBatches);38 ->willReturnCallback(fn () => $this->scheduledBatches);363937-$batchStatusManager->expects($this->atLeast(2))40+$batchStatusManager->expects($this->exactly(14))38 ->method('isBatchStillInProgress')41 ->method('isBatchStillInProgress')39 ->willReturnCallback(function ($batchName) {42 ->willReturnCallback(function ($batchName) {40return $this->batchesInProgress[$batchName];43return $this->batchesInProgress[$batchName];@@ -45,13 +48,13 @@ public function testTargetStaleChunksFirst(): void45 * I.e. 100 items in chunks of 10 will produce 10 iterations,48 * I.e. 100 items in chunks of 10 will produce 10 iterations,46 * full batch of 250 ill be processed in 5 chunks of 50 items49 * full batch of 250 ill be processed in 5 chunks of 50 items47 */50 */48-$z = (int) floor(TargetEntitiesSelector::ES_CHUNK_SIZE / TargetEntitiesSelector::SMALL_CHUNK_SIZE);51+$z = (int) floor($mainChunkSize / $staleChunkSize);495250-$batchStatusManager->expects($this->atLeast($z))53+$batchStatusManager->expects($this->exactly($z + 1))51 ->method('extractEntityIdsFromBatch')54 ->method('extractEntityIdsFromBatch')52- ->with('scheduled-batch-2', TargetEntitiesSelector::SMALL_CHUNK_SIZE)55+ ->with('scheduled-batch-2', $staleChunkSize)53- ->willReturnCallback(function () use (&$scheduledEntityIds) {56+ ->willReturnCallback(function () use (&$scheduledEntityIds, $staleChunkSize) {54-return array_splice($scheduledEntityIds, 0, TargetEntitiesSelector::SMALL_CHUNK_SIZE);57+return array_splice($scheduledEntityIds, 0, $staleChunkSize);55 });58 });565957 Redis::shouldReceive('get')60 Redis::shouldReceive('get')@@ -63,15 +66,15 @@ public function testTargetStaleChunksFirst(): void63$highPriorityEnd = 5030;66$highPriorityEnd = 5030;64$highPriorityRange = range($highPriorityStart, $highPriorityEnd);67$highPriorityRange = range($highPriorityStart, $highPriorityEnd);656866-$normalPrioritySize = TargetEntitiesSelector::ES_CHUNK_SIZE - count($highPriorityRange);69+$normalPrioritySize = $mainChunkSize - count($highPriorityRange);677068$normalPriorityStart = 1;71$normalPriorityStart = 1;69$normalPriorityEnd = 50;72$normalPriorityEnd = 50;70$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);73$normalPriorityRange = range($normalPriorityStart, $normalPriorityEnd);717472 Redis::shouldReceive('spop')75 Redis::shouldReceive('spop')73 ->once()76 ->once()74- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)77+ ->with('activities-for-update-priority', $mainChunkSize)75 ->andReturn($highPriorityRange);78 ->andReturn($highPriorityRange);767977 Redis::shouldReceive('spop')80 Redis::shouldReceive('spop')@@ -87,8 +90,8 @@ public function testTargetStaleChunksFirst(): void87$normalPriority = $selectionList->getNormalPriorityEntityId();90$normalPriority = $selectionList->getNormalPriorityEntityId();88$highPriority = $selectionList->getHighPriorityEntityIds();91$highPriority = $selectionList->getHighPriorityEntityIds();899290-$startOffsetId = 101 + (($i - 1) * TargetEntitiesSelector::SMALL_CHUNK_SIZE);93+$startOffsetId = 101 + (($i - 1) * $staleChunkSize);91-$endOffsetId = 100 + ($i * TargetEntitiesSelector::SMALL_CHUNK_SIZE);94+$endOffsetId = 100 + ($i * $staleChunkSize);929593if ($i < ($z + 1)) {96if ($i < ($z + 1)) {94/**97/**@@ -126,8 +129,10 @@ public function testTargetStaleChunksFirst(): void126129127public function testOnlyHighPriorityEntitiesToProcess(): void130public function testOnlyHighPriorityEntitiesToProcess(): void128 {131 {132+$mainChunkSize = 200;133+129$batchStatusManager = $this->createMock(BatchStatusInterface::class);134$batchStatusManager = $this->createMock(BatchStatusInterface::class);130-$batchStatusManager->expects($this->atLeastOnce())135+$batchStatusManager->expects($this->once())131 ->method('getAllScheduledBatches')136 ->method('getAllScheduledBatches')132 ->willReturn([]);137 ->willReturn([]);133138@@ -137,12 +142,12 @@ public function testOnlyHighPriorityEntitiesToProcess(): void137142138 Redis::shouldReceive('spop')143 Redis::shouldReceive('spop')139 ->never()144 ->never()140- ->with('activities-for-update', TargetEntitiesSelector::ES_CHUNK_SIZE);145+ ->with('activities-for-update', $mainChunkSize);141146142 Redis::shouldReceive('spop')147 Redis::shouldReceive('spop')143 ->once()148 ->once()144- ->with('activities-for-update-priority', TargetEntitiesSelector::ES_CHUNK_SIZE)149+ ->with('activities-for-update-priority', $mainChunkSize)145- ->andReturn(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE));150+ ->andReturn(range(1, $mainChunkSize));146151147$selector = $this->getSelector($batchStatusManager);152$selector = $this->getSelector($batchStatusManager);148153@@ -153,7 +158,7 @@ public function testOnlyHighPriorityEntitiesToProcess(): void153$this->assertEmpty($normalPriority);158$this->assertEmpty($normalPriority);154$this->assertNotEmpty($highPriority);159$this->assertNotEmpty($highPriority);155160156-$this->assertEquals(range(1, TargetEntitiesSelector::ES_CHUNK_SIZE), $highPriority);161+$this->assertEquals(range(1, $mainChunkSize), $highPriority);157 }162 }158163159private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector164private function getSelector(BatchStatusInterface $batchStatusManager): TargetEntitiesSelector</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
Gemini said
Gemini said
Summary of Changes
Summary of Changes
The selected diff updates
TargetEntitiesSelectorTest
by replacing hardcoded class constants with local variables (
$mainChunkSize
and
$staleChunkSize
) to make the tests more flexible, while explicitly tightening the expected call counts on mock objects.
Detailed Modifications
Detailed Modifications
1. Test Parameterization
1. Test Parameterization
Introduced Local Variables:
Replaced references to
TargetEntitiesSelector::ES_CHUNK_SIZE
with
$mainChunkSize = 200
and
TargetEntitiesSelector::SMALL_CHUNK_SIZE
with
$staleChunkSize = 50
.
Dynamic Range and Offset Calculations:
Updated array ranges, Redis
spop
arguments, and iteration offsets to derive dynamically from these local variables instead of hardcoded class constants.
2. Mock Expectation Hardening
2. Mock Expectation Hardening
getAllScheduledBatches
:
Changed expectations from
atLeastOnce()
to explicit strict counts:
exactly(5)
in
testTargetStaleChunksFirst
once()
in
testOnlyHighPriorityEntitiesToProcess
isBatchStillInProgress
:
Changed expectation from
atLeast(2)
to
exactly(14)
.
extractEntityIdsFromBatch
:...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50491
|
1783
|
53
|
2026-05-18T07:35:54.585620+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089754585_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
Ask Gemini
Google Account: [EMAIL]
Summarize page
Summarize page
Skip to content...
|
[{"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":"AXTextArea","text":"Ask Gemini","depth":8,"on_screen":true,"help_text":"","role_description":"text entry area","subrole":"AXUnknown","is_enabled":true,"is_focused":true,"is_selected":false},{"role":"AXButton","text":"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":"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}]...
|
-5275118438236080882
|
-2862855697915522865
|
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
Ask Gemini
Google Account: [EMAIL]
Summarize page
Summarize page
Skip to content...
|
50489
|
NULL
|
NULL
|
NULL
|
|
50510
|
1785
|
1
|
2026-05-18T07:37:34.155761+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089854155_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...
|
[{"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}]...
|
884172475669393868
|
-5745083585060245380
|
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...
|
50509
|
NULL
|
NULL
|
NULL
|
|
50512
|
1786
|
1
|
2026-05-18T07:37:36.375192+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089856375_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...
|
[{"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"}]...
|
-8867922803625904691
|
-8051013742918731442
|
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...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50513
|
1785
|
2
|
2026-05-18T07:37:37.189449+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089857189_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...
|
[{"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"}]...
|
-9214146089824048763
|
-2778979027348997976
|
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...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
50514
|
1785
|
3
|
2026-05-18T07:37:40.079707+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089860079_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-c4b github.com/jiminny/app/pull/12088/changes#diff-c4b70240be9f6f110085428e74a6d3b81d3ce32fb5c1cbbb95e084e8f18d5c90...
|
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...
|
[{"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}]...
|
2936270504387697926
|
-2880870096156569522
|
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...
|
50513
|
NULL
|
NULL
|
NULL
|
|
50515
|
1786
|
2
|
2026-05-18T07:37:40.090779+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779089860090_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...
|
[{"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}]...
|
1244749851906770857
|
6342501940698206414
|
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...
|
50512
|
NULL
|
NULL
|
NULL
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
50565
|
1785
|
29
|
2026-05-18T07:40:33.732256+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-18/1779 /Users/lukas/.screenpipe/data/data/2026-05-18/1779090033732_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/changes
|
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...
|
[{"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}]...
|
-1116929359960712351
|
5788915388856008797
|
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...
|
50564
|
NULL
|
NULL
|
NULL
|