EPMRPP-113709 || Introduce the retry_of property for JS agents - #260

Closed
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents
Closed

EPMRPP-113709 || Introduce the retry_of property for JS agents#260
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Conversation

@maria-hambardzumian

@maria-hambardzumianmaria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features
    • Retry test items now automatically populate the retryOf property with the UUID of the previous attempt, enabling improved retry chain tracking and visibility.

@maria-hambardzumian

maria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
ContributorAuthor

Snyk checks have passed. No issues have been found so far.

StatusScan Engine Critical High Medium LowTotal (0)
Open Source Security0000 0 issues
Code Security0000 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@coderabbitai

coderabbitaiBot commented Apr 15, 2026

Copy link
Copy Markdown

Walkthrough

The changes implement retry chain tracking for test items, automatically populating a retryOf property with the UUID of the previous attempt when a test is retried. The implementation adds internal map management, extends type definitions, includes comprehensive test coverage, and documents the new feature.

Changes

Cohort / File(s)Summary
Type Definitions
index.d.ts
Extended StartTestItemOptions with retry, retryOf, codeRef, parameters, uniqueId, and testCaseId properties; added retry and retryOf to FinishTestItemOptions.
Core Implementation
lib/report-portal-client.js
Added itemRetriesChainLastTempIdMap to track the most recent tempId per retry-chain key; updated startTestItem to populate retryOf from the previous attempt's realId when creating a retried item; extended cleanup logic to remove the new map entry.
Test Coverage
__tests__/report-portal-client.spec.js
Added cleanItemRetriesChain test and extended startTestItem tests to validate retry-chain behavior, including correct retryOf population, multi-retry sequences, and tracking of first retry-chain tempIds.
Documentation
CHANGELOG.md
Documented the new retryOf property behavior in the changelog under "Added" section.

Sequence Diagram

sequenceDiagram
participant Client
participant itemRetriesChainLastTempIdMap as Retry Chain Map
participant itemRetriesChainMap as Item Retries Map
participant API as REST API
Client->>Client: startTestItem(retry: true)
Client->>itemRetriesChainLastTempIdMap: Look up previous tempId
itemRetriesChainLastTempIdMap-->>Client: Return previous tempId
Client->>itemRetriesChainMap: Get previous item's realId
itemRetriesChainMap-->>Client: Return realId
Client->>Client: Set retryOf = realId
Client->>API: Create item with retryOf
API-->>Client: Return new item with realId
Client->>itemRetriesChainLastTempIdMap: Update with new tempId
itemRetriesChainLastTempIdMap-->>Client: Stored for next retry
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Poem

🐰 A chain of retries, now perfectly tracked,
With UUIDs linking each test back,
The rabbit's map remembers what came before,
Each retry knows where to look—and more!
From tempId to realId, the path is clear,
Retry chains flourish without fear! 🔗

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe pull request title clearly summarizes the main change: introducing the retry_of property for JS agents, which is the primary objective reflected in all modified files (CHANGELOG.md, tests, type definitions, and implementation).
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
CHANGELOG.md (1)

1-2: Consider adding a version header for unreleased changes.

The new entry is added under ### Added without a version header (e.g., ## [Unreleased] or ## [5.5.11]). Previous entries follow the pattern ## [version] - date. This helps maintain consistency and clarifies which version will include this feature.

📝 Suggested format
+## [Unreleased]
### Added
- `retryOf` property automatically populated with the UUID of the previous retry attempt when starting a retried test item.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@CHANGELOG.md` around lines 1 - 2, Add a version header above the "### Added"
section to follow the existing changelog pattern (e.g., insert "## [Unreleased]"
or the target version like "## [5.5.11] - YYYY-MM-DD") so the new entry about
the `retryOf` property is grouped under a proper release heading; ensure the
`### Added` block remains intact and the `retryOf` line stays unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@CHANGELOG.md`:
- Around line 1-2: Add a version header above the "### Added" section to follow
the existing changelog pattern (e.g., insert "## [Unreleased]" or the target
version like "## [5.5.11] - YYYY-MM-DD") so the new entry about the `retryOf`
property is grouped under a proper release heading; ensure the `### Added` block
remains intact and the `retryOf` line stays unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 52a5ffab-882d-4d95-8c9b-72d6f94a6a41

📥 Commits

Reviewing files that changed from the base of the PR and between 2f6da92 and d746500.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • __tests__/report-portal-client.spec.js
  • index.d.ts
  • lib/report-portal-client.js

@AmsterGet

Copy link
Copy Markdown
Member

Closed in favor of #264

@AmsterGet
AmsterGet deleted the feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents branch July 13, 2026 10:56
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@maria-hambardzumian@AmsterGet
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

EPMRPP-113709 || Introduce the retry_of property for JS agents - #260

Closed
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents
Closed

EPMRPP-113709 || Introduce the retry_of property for JS agents#260
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Conversation

@maria-hambardzumian

@maria-hambardzumianmaria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features
    • Retry test items now automatically populate the retryOf property with the UUID of the previous attempt, enabling improved retry chain tracking and visibility.

@maria-hambardzumian

maria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
ContributorAuthor

Snyk checks have passed. No issues have been found so far.

StatusScan Engine Critical High Medium LowTotal (0)
Open Source Security0000 0 issues
Code Security0000 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@coderabbitai

coderabbitaiBot commented Apr 15, 2026

Copy link
Copy Markdown

Walkthrough

The changes implement retry chain tracking for test items, automatically populating a retryOf property with the UUID of the previous attempt when a test is retried. The implementation adds internal map management, extends type definitions, includes comprehensive test coverage, and documents the new feature.

Changes

Cohort / File(s)Summary
Type Definitions
index.d.ts
Extended StartTestItemOptions with retry, retryOf, codeRef, parameters, uniqueId, and testCaseId properties; added retry and retryOf to FinishTestItemOptions.
Core Implementation
lib/report-portal-client.js
Added itemRetriesChainLastTempIdMap to track the most recent tempId per retry-chain key; updated startTestItem to populate retryOf from the previous attempt's realId when creating a retried item; extended cleanup logic to remove the new map entry.
Test Coverage
__tests__/report-portal-client.spec.js
Added cleanItemRetriesChain test and extended startTestItem tests to validate retry-chain behavior, including correct retryOf population, multi-retry sequences, and tracking of first retry-chain tempIds.
Documentation
CHANGELOG.md
Documented the new retryOf property behavior in the changelog under "Added" section.

Sequence Diagram

sequenceDiagram
participant Client
participant itemRetriesChainLastTempIdMap as Retry Chain Map
participant itemRetriesChainMap as Item Retries Map
participant API as REST API
Client->>Client: startTestItem(retry: true)
Client->>itemRetriesChainLastTempIdMap: Look up previous tempId
itemRetriesChainLastTempIdMap-->>Client: Return previous tempId
Client->>itemRetriesChainMap: Get previous item's realId
itemRetriesChainMap-->>Client: Return realId
Client->>Client: Set retryOf = realId
Client->>API: Create item with retryOf
API-->>Client: Return new item with realId
Client->>itemRetriesChainLastTempIdMap: Update with new tempId
itemRetriesChainLastTempIdMap-->>Client: Stored for next retry
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Poem

🐰 A chain of retries, now perfectly tracked,
With UUIDs linking each test back,
The rabbit's map remembers what came before,
Each retry knows where to look—and more!
From tempId to realId, the path is clear,
Retry chains flourish without fear! 🔗

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe pull request title clearly summarizes the main change: introducing the retry_of property for JS agents, which is the primary objective reflected in all modified files (CHANGELOG.md, tests, type definitions, and implementation).
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
CHANGELOG.md (1)

1-2: Consider adding a version header for unreleased changes.

The new entry is added under ### Added without a version header (e.g., ## [Unreleased] or ## [5.5.11]). Previous entries follow the pattern ## [version] - date. This helps maintain consistency and clarifies which version will include this feature.

📝 Suggested format
+## [Unreleased]
### Added
- `retryOf` property automatically populated with the UUID of the previous retry attempt when starting a retried test item.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@CHANGELOG.md` around lines 1 - 2, Add a version header above the "### Added"
section to follow the existing changelog pattern (e.g., insert "## [Unreleased]"
or the target version like "## [5.5.11] - YYYY-MM-DD") so the new entry about
the `retryOf` property is grouped under a proper release heading; ensure the
`### Added` block remains intact and the `retryOf` line stays unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@CHANGELOG.md`:
- Around line 1-2: Add a version header above the "### Added" section to follow
the existing changelog pattern (e.g., insert "## [Unreleased]" or the target
version like "## [5.5.11] - YYYY-MM-DD") so the new entry about the `retryOf`
property is grouped under a proper release heading; ensure the `### Added` block
remains intact and the `retryOf` line stays unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 52a5ffab-882d-4d95-8c9b-72d6f94a6a41

📥 Commits

Reviewing files that changed from the base of the PR and between 2f6da92 and d746500.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • __tests__/report-portal-client.spec.js
  • index.d.ts
  • lib/report-portal-client.js

@AmsterGet

Copy link
Copy Markdown
Member

Closed in favor of #264

@AmsterGet
AmsterGet deleted the feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents branch July 13, 2026 10:56
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@maria-hambardzumian@AmsterGet
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

EPMRPP-113709 || Introduce the retry_of property for JS agents - #260

Closed
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents
Closed

EPMRPP-113709 || Introduce the retry_of property for JS agents#260
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Conversation

@maria-hambardzumian

@maria-hambardzumianmaria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features
    • Retry test items now automatically populate the retryOf property with the UUID of the previous attempt, enabling improved retry chain tracking and visibility.

@maria-hambardzumian

maria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
ContributorAuthor

Snyk checks have passed. No issues have been found so far.

StatusScan Engine Critical High Medium LowTotal (0)
Open Source Security0000 0 issues
Code Security0000 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@coderabbitai

coderabbitaiBot commented Apr 15, 2026

Copy link
Copy Markdown

Walkthrough

The changes implement retry chain tracking for test items, automatically populating a retryOf property with the UUID of the previous attempt when a test is retried. The implementation adds internal map management, extends type definitions, includes comprehensive test coverage, and documents the new feature.

Changes

Cohort / File(s)Summary
Type Definitions
index.d.ts
Extended StartTestItemOptions with retry, retryOf, codeRef, parameters, uniqueId, and testCaseId properties; added retry and retryOf to FinishTestItemOptions.
Core Implementation
lib/report-portal-client.js
Added itemRetriesChainLastTempIdMap to track the most recent tempId per retry-chain key; updated startTestItem to populate retryOf from the previous attempt's realId when creating a retried item; extended cleanup logic to remove the new map entry.
Test Coverage
__tests__/report-portal-client.spec.js
Added cleanItemRetriesChain test and extended startTestItem tests to validate retry-chain behavior, including correct retryOf population, multi-retry sequences, and tracking of first retry-chain tempIds.
Documentation
CHANGELOG.md
Documented the new retryOf property behavior in the changelog under "Added" section.

Sequence Diagram

sequenceDiagram
participant Client
participant itemRetriesChainLastTempIdMap as Retry Chain Map
participant itemRetriesChainMap as Item Retries Map
participant API as REST API
Client->>Client: startTestItem(retry: true)
Client->>itemRetriesChainLastTempIdMap: Look up previous tempId
itemRetriesChainLastTempIdMap-->>Client: Return previous tempId
Client->>itemRetriesChainMap: Get previous item's realId
itemRetriesChainMap-->>Client: Return realId
Client->>Client: Set retryOf = realId
Client->>API: Create item with retryOf
API-->>Client: Return new item with realId
Client->>itemRetriesChainLastTempIdMap: Update with new tempId
itemRetriesChainLastTempIdMap-->>Client: Stored for next retry
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Poem

🐰 A chain of retries, now perfectly tracked,
With UUIDs linking each test back,
The rabbit's map remembers what came before,
Each retry knows where to look—and more!
From tempId to realId, the path is clear,
Retry chains flourish without fear! 🔗

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe pull request title clearly summarizes the main change: introducing the retry_of property for JS agents, which is the primary objective reflected in all modified files (CHANGELOG.md, tests, type definitions, and implementation).
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
CHANGELOG.md (1)

1-2: Consider adding a version header for unreleased changes.

The new entry is added under ### Added without a version header (e.g., ## [Unreleased] or ## [5.5.11]). Previous entries follow the pattern ## [version] - date. This helps maintain consistency and clarifies which version will include this feature.

📝 Suggested format
+## [Unreleased]
### Added
- `retryOf` property automatically populated with the UUID of the previous retry attempt when starting a retried test item.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@CHANGELOG.md` around lines 1 - 2, Add a version header above the "### Added"
section to follow the existing changelog pattern (e.g., insert "## [Unreleased]"
or the target version like "## [5.5.11] - YYYY-MM-DD") so the new entry about
the `retryOf` property is grouped under a proper release heading; ensure the
`### Added` block remains intact and the `retryOf` line stays unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@CHANGELOG.md`:
- Around line 1-2: Add a version header above the "### Added" section to follow
the existing changelog pattern (e.g., insert "## [Unreleased]" or the target
version like "## [5.5.11] - YYYY-MM-DD") so the new entry about the `retryOf`
property is grouped under a proper release heading; ensure the `### Added` block
remains intact and the `retryOf` line stays unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 52a5ffab-882d-4d95-8c9b-72d6f94a6a41

📥 Commits

Reviewing files that changed from the base of the PR and between 2f6da92 and d746500.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • __tests__/report-portal-client.spec.js
  • index.d.ts
  • lib/report-portal-client.js

@AmsterGet

Copy link
Copy Markdown
Member

Closed in favor of #264

@AmsterGet
AmsterGet deleted the feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents branch July 13, 2026 10:56
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@maria-hambardzumian@AmsterGet
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

EPMRPP-113709 || Introduce the retry_of property for JS agents - #260

Closed
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents
Closed

EPMRPP-113709 || Introduce the retry_of property for JS agents#260
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Conversation

@maria-hambardzumian

@maria-hambardzumianmaria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features
    • Retry test items now automatically populate the retryOf property with the UUID of the previous attempt, enabling improved retry chain tracking and visibility.

@maria-hambardzumian

maria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
ContributorAuthor

Snyk checks have passed. No issues have been found so far.

StatusScan Engine Critical High Medium LowTotal (0)
Open Source Security0000 0 issues
Code Security0000 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@coderabbitai

coderabbitaiBot commented Apr 15, 2026

Copy link
Copy Markdown

Walkthrough

The changes implement retry chain tracking for test items, automatically populating a retryOf property with the UUID of the previous attempt when a test is retried. The implementation adds internal map management, extends type definitions, includes comprehensive test coverage, and documents the new feature.

Changes

Cohort / File(s)Summary
Type Definitions
index.d.ts
Extended StartTestItemOptions with retry, retryOf, codeRef, parameters, uniqueId, and testCaseId properties; added retry and retryOf to FinishTestItemOptions.
Core Implementation
lib/report-portal-client.js
Added itemRetriesChainLastTempIdMap to track the most recent tempId per retry-chain key; updated startTestItem to populate retryOf from the previous attempt's realId when creating a retried item; extended cleanup logic to remove the new map entry.
Test Coverage
__tests__/report-portal-client.spec.js
Added cleanItemRetriesChain test and extended startTestItem tests to validate retry-chain behavior, including correct retryOf population, multi-retry sequences, and tracking of first retry-chain tempIds.
Documentation
CHANGELOG.md
Documented the new retryOf property behavior in the changelog under "Added" section.

Sequence Diagram

sequenceDiagram
participant Client
participant itemRetriesChainLastTempIdMap as Retry Chain Map
participant itemRetriesChainMap as Item Retries Map
participant API as REST API
Client->>Client: startTestItem(retry: true)
Client->>itemRetriesChainLastTempIdMap: Look up previous tempId
itemRetriesChainLastTempIdMap-->>Client: Return previous tempId
Client->>itemRetriesChainMap: Get previous item's realId
itemRetriesChainMap-->>Client: Return realId
Client->>Client: Set retryOf = realId
Client->>API: Create item with retryOf
API-->>Client: Return new item with realId
Client->>itemRetriesChainLastTempIdMap: Update with new tempId
itemRetriesChainLastTempIdMap-->>Client: Stored for next retry
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Poem

🐰 A chain of retries, now perfectly tracked,
With UUIDs linking each test back,
The rabbit's map remembers what came before,
Each retry knows where to look—and more!
From tempId to realId, the path is clear,
Retry chains flourish without fear! 🔗

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe pull request title clearly summarizes the main change: introducing the retry_of property for JS agents, which is the primary objective reflected in all modified files (CHANGELOG.md, tests, type definitions, and implementation).
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
CHANGELOG.md (1)

1-2: Consider adding a version header for unreleased changes.

The new entry is added under ### Added without a version header (e.g., ## [Unreleased] or ## [5.5.11]). Previous entries follow the pattern ## [version] - date. This helps maintain consistency and clarifies which version will include this feature.

📝 Suggested format
+## [Unreleased]
### Added
- `retryOf` property automatically populated with the UUID of the previous retry attempt when starting a retried test item.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@CHANGELOG.md` around lines 1 - 2, Add a version header above the "### Added"
section to follow the existing changelog pattern (e.g., insert "## [Unreleased]"
or the target version like "## [5.5.11] - YYYY-MM-DD") so the new entry about
the `retryOf` property is grouped under a proper release heading; ensure the
`### Added` block remains intact and the `retryOf` line stays unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@CHANGELOG.md`:
- Around line 1-2: Add a version header above the "### Added" section to follow
the existing changelog pattern (e.g., insert "## [Unreleased]" or the target
version like "## [5.5.11] - YYYY-MM-DD") so the new entry about the `retryOf`
property is grouped under a proper release heading; ensure the `### Added` block
remains intact and the `retryOf` line stays unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 52a5ffab-882d-4d95-8c9b-72d6f94a6a41

📥 Commits

Reviewing files that changed from the base of the PR and between 2f6da92 and d746500.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • __tests__/report-portal-client.spec.js
  • index.d.ts
  • lib/report-portal-client.js

@AmsterGet

Copy link
Copy Markdown
Member

Closed in favor of #264

@AmsterGet
AmsterGet deleted the feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents branch July 13, 2026 10:56
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@maria-hambardzumian@AmsterGet
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

EPMRPP-113709 || Introduce the retry_of property for JS agents - #260

Closed
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents
Closed

EPMRPP-113709 || Introduce the retry_of property for JS agents#260
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Conversation

@maria-hambardzumian

@maria-hambardzumianmaria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features
    • Retry test items now automatically populate the retryOf property with the UUID of the previous attempt, enabling improved retry chain tracking and visibility.

@maria-hambardzumian

maria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
ContributorAuthor

Snyk checks have passed. No issues have been found so far.

StatusScan Engine Critical High Medium LowTotal (0)
Open Source Security0000 0 issues
Code Security0000 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@coderabbitai

coderabbitaiBot commented Apr 15, 2026

Copy link
Copy Markdown

Walkthrough

The changes implement retry chain tracking for test items, automatically populating a retryOf property with the UUID of the previous attempt when a test is retried. The implementation adds internal map management, extends type definitions, includes comprehensive test coverage, and documents the new feature.

Changes

Cohort / File(s)Summary
Type Definitions
index.d.ts
Extended StartTestItemOptions with retry, retryOf, codeRef, parameters, uniqueId, and testCaseId properties; added retry and retryOf to FinishTestItemOptions.
Core Implementation
lib/report-portal-client.js
Added itemRetriesChainLastTempIdMap to track the most recent tempId per retry-chain key; updated startTestItem to populate retryOf from the previous attempt's realId when creating a retried item; extended cleanup logic to remove the new map entry.
Test Coverage
__tests__/report-portal-client.spec.js
Added cleanItemRetriesChain test and extended startTestItem tests to validate retry-chain behavior, including correct retryOf population, multi-retry sequences, and tracking of first retry-chain tempIds.
Documentation
CHANGELOG.md
Documented the new retryOf property behavior in the changelog under "Added" section.

Sequence Diagram

sequenceDiagram
participant Client
participant itemRetriesChainLastTempIdMap as Retry Chain Map
participant itemRetriesChainMap as Item Retries Map
participant API as REST API
Client->>Client: startTestItem(retry: true)
Client->>itemRetriesChainLastTempIdMap: Look up previous tempId
itemRetriesChainLastTempIdMap-->>Client: Return previous tempId
Client->>itemRetriesChainMap: Get previous item's realId
itemRetriesChainMap-->>Client: Return realId
Client->>Client: Set retryOf = realId
Client->>API: Create item with retryOf
API-->>Client: Return new item with realId
Client->>itemRetriesChainLastTempIdMap: Update with new tempId
itemRetriesChainLastTempIdMap-->>Client: Stored for next retry
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Poem

🐰 A chain of retries, now perfectly tracked,
With UUIDs linking each test back,
The rabbit's map remembers what came before,
Each retry knows where to look—and more!
From tempId to realId, the path is clear,
Retry chains flourish without fear! 🔗

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe pull request title clearly summarizes the main change: introducing the retry_of property for JS agents, which is the primary objective reflected in all modified files (CHANGELOG.md, tests, type definitions, and implementation).
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
CHANGELOG.md (1)

1-2: Consider adding a version header for unreleased changes.

The new entry is added under ### Added without a version header (e.g., ## [Unreleased] or ## [5.5.11]). Previous entries follow the pattern ## [version] - date. This helps maintain consistency and clarifies which version will include this feature.

📝 Suggested format
+## [Unreleased]
### Added
- `retryOf` property automatically populated with the UUID of the previous retry attempt when starting a retried test item.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@CHANGELOG.md` around lines 1 - 2, Add a version header above the "### Added"
section to follow the existing changelog pattern (e.g., insert "## [Unreleased]"
or the target version like "## [5.5.11] - YYYY-MM-DD") so the new entry about
the `retryOf` property is grouped under a proper release heading; ensure the
`### Added` block remains intact and the `retryOf` line stays unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@CHANGELOG.md`:
- Around line 1-2: Add a version header above the "### Added" section to follow
the existing changelog pattern (e.g., insert "## [Unreleased]" or the target
version like "## [5.5.11] - YYYY-MM-DD") so the new entry about the `retryOf`
property is grouped under a proper release heading; ensure the `### Added` block
remains intact and the `retryOf` line stays unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 52a5ffab-882d-4d95-8c9b-72d6f94a6a41

📥 Commits

Reviewing files that changed from the base of the PR and between 2f6da92 and d746500.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • __tests__/report-portal-client.spec.js
  • index.d.ts
  • lib/report-portal-client.js

@AmsterGet

Copy link
Copy Markdown
Member

Closed in favor of #264

@AmsterGet
AmsterGet deleted the feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents branch July 13, 2026 10:56
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@maria-hambardzumian@AmsterGet
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

EPMRPP-113709 || Introduce the retry_of property for JS agents - #260

Closed
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents
Closed

EPMRPP-113709 || Introduce the retry_of property for JS agents#260
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Conversation

@maria-hambardzumian

@maria-hambardzumianmaria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features
    • Retry test items now automatically populate the retryOf property with the UUID of the previous attempt, enabling improved retry chain tracking and visibility.

@maria-hambardzumian

maria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
ContributorAuthor

Snyk checks have passed. No issues have been found so far.

StatusScan Engine Critical High Medium LowTotal (0)
Open Source Security0000 0 issues
Code Security0000 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@coderabbitai

coderabbitaiBot commented Apr 15, 2026

Copy link
Copy Markdown

Walkthrough

The changes implement retry chain tracking for test items, automatically populating a retryOf property with the UUID of the previous attempt when a test is retried. The implementation adds internal map management, extends type definitions, includes comprehensive test coverage, and documents the new feature.

Changes

Cohort / File(s)Summary
Type Definitions
index.d.ts
Extended StartTestItemOptions with retry, retryOf, codeRef, parameters, uniqueId, and testCaseId properties; added retry and retryOf to FinishTestItemOptions.
Core Implementation
lib/report-portal-client.js
Added itemRetriesChainLastTempIdMap to track the most recent tempId per retry-chain key; updated startTestItem to populate retryOf from the previous attempt's realId when creating a retried item; extended cleanup logic to remove the new map entry.
Test Coverage
__tests__/report-portal-client.spec.js
Added cleanItemRetriesChain test and extended startTestItem tests to validate retry-chain behavior, including correct retryOf population, multi-retry sequences, and tracking of first retry-chain tempIds.
Documentation
CHANGELOG.md
Documented the new retryOf property behavior in the changelog under "Added" section.

Sequence Diagram

sequenceDiagram
participant Client
participant itemRetriesChainLastTempIdMap as Retry Chain Map
participant itemRetriesChainMap as Item Retries Map
participant API as REST API
Client->>Client: startTestItem(retry: true)
Client->>itemRetriesChainLastTempIdMap: Look up previous tempId
itemRetriesChainLastTempIdMap-->>Client: Return previous tempId
Client->>itemRetriesChainMap: Get previous item's realId
itemRetriesChainMap-->>Client: Return realId
Client->>Client: Set retryOf = realId
Client->>API: Create item with retryOf
API-->>Client: Return new item with realId
Client->>itemRetriesChainLastTempIdMap: Update with new tempId
itemRetriesChainLastTempIdMap-->>Client: Stored for next retry
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Poem

🐰 A chain of retries, now perfectly tracked,
With UUIDs linking each test back,
The rabbit's map remembers what came before,
Each retry knows where to look—and more!
From tempId to realId, the path is clear,
Retry chains flourish without fear! 🔗

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe pull request title clearly summarizes the main change: introducing the retry_of property for JS agents, which is the primary objective reflected in all modified files (CHANGELOG.md, tests, type definitions, and implementation).
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
CHANGELOG.md (1)

1-2: Consider adding a version header for unreleased changes.

The new entry is added under ### Added without a version header (e.g., ## [Unreleased] or ## [5.5.11]). Previous entries follow the pattern ## [version] - date. This helps maintain consistency and clarifies which version will include this feature.

📝 Suggested format
+## [Unreleased]
### Added
- `retryOf` property automatically populated with the UUID of the previous retry attempt when starting a retried test item.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@CHANGELOG.md` around lines 1 - 2, Add a version header above the "### Added"
section to follow the existing changelog pattern (e.g., insert "## [Unreleased]"
or the target version like "## [5.5.11] - YYYY-MM-DD") so the new entry about
the `retryOf` property is grouped under a proper release heading; ensure the
`### Added` block remains intact and the `retryOf` line stays unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@CHANGELOG.md`:
- Around line 1-2: Add a version header above the "### Added" section to follow
the existing changelog pattern (e.g., insert "## [Unreleased]" or the target
version like "## [5.5.11] - YYYY-MM-DD") so the new entry about the `retryOf`
property is grouped under a proper release heading; ensure the `### Added` block
remains intact and the `retryOf` line stays unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 52a5ffab-882d-4d95-8c9b-72d6f94a6a41

📥 Commits

Reviewing files that changed from the base of the PR and between 2f6da92 and d746500.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • __tests__/report-portal-client.spec.js
  • index.d.ts
  • lib/report-portal-client.js

@AmsterGet

Copy link
Copy Markdown
Member

Closed in favor of #264

@AmsterGet
AmsterGet deleted the feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents branch July 13, 2026 10:56
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@maria-hambardzumian@AmsterGet
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

EPMRPP-113709 || Introduce the retry_of property for JS agents - #260

Closed
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents
Closed

EPMRPP-113709 || Introduce the retry_of property for JS agents#260
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Conversation

@maria-hambardzumian

@maria-hambardzumianmaria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features
    • Retry test items now automatically populate the retryOf property with the UUID of the previous attempt, enabling improved retry chain tracking and visibility.

@maria-hambardzumian

maria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
ContributorAuthor

Snyk checks have passed. No issues have been found so far.

StatusScan Engine Critical High Medium LowTotal (0)
Open Source Security0000 0 issues
Code Security0000 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@coderabbitai

coderabbitaiBot commented Apr 15, 2026

Copy link
Copy Markdown

Walkthrough

The changes implement retry chain tracking for test items, automatically populating a retryOf property with the UUID of the previous attempt when a test is retried. The implementation adds internal map management, extends type definitions, includes comprehensive test coverage, and documents the new feature.

Changes

Cohort / File(s)Summary
Type Definitions
index.d.ts
Extended StartTestItemOptions with retry, retryOf, codeRef, parameters, uniqueId, and testCaseId properties; added retry and retryOf to FinishTestItemOptions.
Core Implementation
lib/report-portal-client.js
Added itemRetriesChainLastTempIdMap to track the most recent tempId per retry-chain key; updated startTestItem to populate retryOf from the previous attempt's realId when creating a retried item; extended cleanup logic to remove the new map entry.
Test Coverage
__tests__/report-portal-client.spec.js
Added cleanItemRetriesChain test and extended startTestItem tests to validate retry-chain behavior, including correct retryOf population, multi-retry sequences, and tracking of first retry-chain tempIds.
Documentation
CHANGELOG.md
Documented the new retryOf property behavior in the changelog under "Added" section.

Sequence Diagram

sequenceDiagram
participant Client
participant itemRetriesChainLastTempIdMap as Retry Chain Map
participant itemRetriesChainMap as Item Retries Map
participant API as REST API
Client->>Client: startTestItem(retry: true)
Client->>itemRetriesChainLastTempIdMap: Look up previous tempId
itemRetriesChainLastTempIdMap-->>Client: Return previous tempId
Client->>itemRetriesChainMap: Get previous item's realId
itemRetriesChainMap-->>Client: Return realId
Client->>Client: Set retryOf = realId
Client->>API: Create item with retryOf
API-->>Client: Return new item with realId
Client->>itemRetriesChainLastTempIdMap: Update with new tempId
itemRetriesChainLastTempIdMap-->>Client: Stored for next retry
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Poem

🐰 A chain of retries, now perfectly tracked,
With UUIDs linking each test back,
The rabbit's map remembers what came before,
Each retry knows where to look—and more!
From tempId to realId, the path is clear,
Retry chains flourish without fear! 🔗

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe pull request title clearly summarizes the main change: introducing the retry_of property for JS agents, which is the primary objective reflected in all modified files (CHANGELOG.md, tests, type definitions, and implementation).
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
CHANGELOG.md (1)

1-2: Consider adding a version header for unreleased changes.

The new entry is added under ### Added without a version header (e.g., ## [Unreleased] or ## [5.5.11]). Previous entries follow the pattern ## [version] - date. This helps maintain consistency and clarifies which version will include this feature.

📝 Suggested format
+## [Unreleased]
### Added
- `retryOf` property automatically populated with the UUID of the previous retry attempt when starting a retried test item.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@CHANGELOG.md` around lines 1 - 2, Add a version header above the "### Added"
section to follow the existing changelog pattern (e.g., insert "## [Unreleased]"
or the target version like "## [5.5.11] - YYYY-MM-DD") so the new entry about
the `retryOf` property is grouped under a proper release heading; ensure the
`### Added` block remains intact and the `retryOf` line stays unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@CHANGELOG.md`:
- Around line 1-2: Add a version header above the "### Added" section to follow
the existing changelog pattern (e.g., insert "## [Unreleased]" or the target
version like "## [5.5.11] - YYYY-MM-DD") so the new entry about the `retryOf`
property is grouped under a proper release heading; ensure the `### Added` block
remains intact and the `retryOf` line stays unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 52a5ffab-882d-4d95-8c9b-72d6f94a6a41

📥 Commits

Reviewing files that changed from the base of the PR and between 2f6da92 and d746500.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • __tests__/report-portal-client.spec.js
  • index.d.ts
  • lib/report-portal-client.js

@AmsterGet

Copy link
Copy Markdown
Member

Closed in favor of #264

@AmsterGet
AmsterGet deleted the feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents branch July 13, 2026 10:56
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@maria-hambardzumian@AmsterGet
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

EPMRPP-113709 || Introduce the retry_of property for JS agents - #260

Closed
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents
Closed

EPMRPP-113709 || Introduce the retry_of property for JS agents#260
maria-hambardzumian wants to merge 1 commit into
developfrom
feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Conversation

@maria-hambardzumian

@maria-hambardzumianmaria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features
    • Retry test items now automatically populate the retryOf property with the UUID of the previous attempt, enabling improved retry chain tracking and visibility.

@maria-hambardzumian

maria-hambardzumian commented Apr 15, 2026

Copy link
Copy Markdown
ContributorAuthor

Snyk checks have passed. No issues have been found so far.

StatusScan Engine Critical High Medium LowTotal (0)
Open Source Security0000 0 issues
Code Security0000 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@coderabbitai

coderabbitaiBot commented Apr 15, 2026

Copy link
Copy Markdown

Walkthrough

The changes implement retry chain tracking for test items, automatically populating a retryOf property with the UUID of the previous attempt when a test is retried. The implementation adds internal map management, extends type definitions, includes comprehensive test coverage, and documents the new feature.

Changes

Cohort / File(s)Summary
Type Definitions
index.d.ts
Extended StartTestItemOptions with retry, retryOf, codeRef, parameters, uniqueId, and testCaseId properties; added retry and retryOf to FinishTestItemOptions.
Core Implementation
lib/report-portal-client.js
Added itemRetriesChainLastTempIdMap to track the most recent tempId per retry-chain key; updated startTestItem to populate retryOf from the previous attempt's realId when creating a retried item; extended cleanup logic to remove the new map entry.
Test Coverage
__tests__/report-portal-client.spec.js
Added cleanItemRetriesChain test and extended startTestItem tests to validate retry-chain behavior, including correct retryOf population, multi-retry sequences, and tracking of first retry-chain tempIds.
Documentation
CHANGELOG.md
Documented the new retryOf property behavior in the changelog under "Added" section.

Sequence Diagram

sequenceDiagram
participant Client
participant itemRetriesChainLastTempIdMap as Retry Chain Map
participant itemRetriesChainMap as Item Retries Map
participant API as REST API
Client->>Client: startTestItem(retry: true)
Client->>itemRetriesChainLastTempIdMap: Look up previous tempId
itemRetriesChainLastTempIdMap-->>Client: Return previous tempId
Client->>itemRetriesChainMap: Get previous item's realId
itemRetriesChainMap-->>Client: Return realId
Client->>Client: Set retryOf = realId
Client->>API: Create item with retryOf
API-->>Client: Return new item with realId
Client->>itemRetriesChainLastTempIdMap: Update with new tempId
itemRetriesChainLastTempIdMap-->>Client: Stored for next retry
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Poem

🐰 A chain of retries, now perfectly tracked,
With UUIDs linking each test back,
The rabbit's map remembers what came before,
Each retry knows where to look—and more!
From tempId to realId, the path is clear,
Retry chains flourish without fear! 🔗

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe pull request title clearly summarizes the main change: introducing the retry_of property for JS agents, which is the primary objective reflected in all modified files (CHANGELOG.md, tests, type definitions, and implementation).
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
CHANGELOG.md (1)

1-2: Consider adding a version header for unreleased changes.

The new entry is added under ### Added without a version header (e.g., ## [Unreleased] or ## [5.5.11]). Previous entries follow the pattern ## [version] - date. This helps maintain consistency and clarifies which version will include this feature.

📝 Suggested format
+## [Unreleased]
### Added
- `retryOf` property automatically populated with the UUID of the previous retry attempt when starting a retried test item.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@CHANGELOG.md` around lines 1 - 2, Add a version header above the "### Added"
section to follow the existing changelog pattern (e.g., insert "## [Unreleased]"
or the target version like "## [5.5.11] - YYYY-MM-DD") so the new entry about
the `retryOf` property is grouped under a proper release heading; ensure the
`### Added` block remains intact and the `retryOf` line stays unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@CHANGELOG.md`:
- Around line 1-2: Add a version header above the "### Added" section to follow
the existing changelog pattern (e.g., insert "## [Unreleased]" or the target
version like "## [5.5.11] - YYYY-MM-DD") so the new entry about the `retryOf`
property is grouped under a proper release heading; ensure the `### Added` block
remains intact and the `retryOf` line stays unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 52a5ffab-882d-4d95-8c9b-72d6f94a6a41

📥 Commits

Reviewing files that changed from the base of the PR and between 2f6da92 and d746500.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • __tests__/report-portal-client.spec.js
  • index.d.ts
  • lib/report-portal-client.js

@AmsterGet

Copy link
Copy Markdown
Member

Closed in favor of #264

@AmsterGet
AmsterGet deleted the feature/EPMRPP-113709-Introduce-the-retry_of-property-for-JS-agents branch July 13, 2026 10:56
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@maria-hambardzumian@AmsterGet