Skip to content

test(proxy): cover the auto-fallback attempt regression in the continuous suite - #1270

Merged
murdore merged 1 commit into
releasefrom
fix/proxy-autofallback-attempt-regression
Aug 5, 2026
Merged

murdore merged 1 commit into
releasefrom
fix/proxy-autofallback-attempt-regression

Conversation

@murdore

@murdore murdore commented Aug 4, 2026 •

Copy link
Copy Markdown
Contributor

Replaces #1267, which took the wrong approach (it wired Vitest files into test:unit and added a CI check enforcing that). The finding underneath is real and runner-independent, so it lands here in the form the repo actually uses.

The regression

33bdd141 fix(proxy): bound account admission and fallback routing made translation-layer auto-fallback opt-in. That changed how many upstream attempts an exhausted translated request makes — two before, one now.

Nothing caught it. The only coverage was in test/proxyTerminalErrorAccounting.test.ts, which no package.json script runs, so its totalAttempts: 2 assertion has been failing on release ever since and no one saw it. 33bdd141 updated the three orphaned proxy suites its author knew about and missed this one.

Bisected rather than assumed: passes at 65b27b75, fails from 33bdd141 onward, still fails on today's release.

The fix

Coverage goes into test/continuous-test-suite-bugfixes.ts — where 33bdd141 itself put its proxy tests, and which test:unit already runs. Per CLAUDE.md:190 ("all suites run via tsx; there is no vitest runner") and :258.

The test asserts both directions of the flag in one case, resetting the global usage stats between them so it doesn't depend on suite ordering:

  • opted in → 2 attempts, 2 attempt errors, 1 finalized terminal error (not two — the thing the original test's name was about)
  • default → 1 attempt, 1 attempt error, 1 finalized terminal error

It also opts the stale Vitest assertion into auto-fallback, so that file stops stating something untrue. It is not wired into any script — no package.json change in this PR.

Verification

Two-sided negative control, since a one-sided one would pass on a test that only checks a single branch:

Source patched to… Result
always auto-fallback (pre-33bdd141) 1 failed
never auto-fallback 1 failed
unmodified 241 passed

pnpm run check: 0 errors / 4,838 files. pnpm run lint: 0 errors.

Still open, deliberately not bundled

Eleven other test/*.test.ts files remain unreferenced by any script, and .github/workflows/ci.yml runs no test step at all (format:check, eslint, validate:all, build, build:cli). Both need a direction from you on the intended end state for those 28 Vitest files — migrate to continuous suites, or delete — rather than a guess from me.

Summary by CodeRabbit

  • Bug Fixes
    • Improved proxy fallback behavior when requests are exhausted.
    • Ensured terminal errors are recorded only once, including after fallback attempts.
    • Improved accuracy of request, attempt, and usage statistics during proxy failures.

Copilot AI review requested due to automatic review settings August 4, 2026 03:19
@coderabbitai

coderabbitai Bot commented Aug 4, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 1c6219b1-c18a-4664-bdb4-cfcfa3b78047

📥 Commits

Reviewing files that changed from the base of the PR and between 31b5df3 and 1d5e568.

📒 Files selected for processing (2)
  • test/continuous-test-suite-bugfixes.ts
  • test/proxyTerminalErrorAccounting.test.ts

📝 Walkthrough

Walkthrough

The test suite adds Claude proxy regression coverage for auto-fallback, retry attempts, terminal-error finalization, and usage statistics. The exhaustion test mock enables auto-fallback to exercise the two-attempt path.

Changes

Proxy fallback accounting

Layer / File(s) Summary
End-to-end fallback and statistics coverage
test/continuous-test-suite-bugfixes.ts
The continuous test suite imports Claude proxy route and usage-statistics helpers. It verifies enabled and disabled auto-fallback behavior, request attempts, terminal errors, and statistics resets.
Exhaustion-path router configuration
test/proxyTerminalErrorAccounting.test.ts
The exhaustion test mock enables auto-fallback and exercises the two-attempt terminal-error path.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

Suggested labels: released

Suggested reviewers: pdogra1299

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the proxy auto-fallback regression coverage added to the continuous test suite.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ 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 fix/proxy-autofallback-attempt-regression

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.

@github-actions

github-actions Bot commented Aug 4, 2026 •

Copy link
Copy Markdown
Contributor

✅ Single Commit Policy - COMPLIANT

Status: Policy requirements met • 1 commit • Valid format • Ready for merge

📊 View validation details

📝 Commit Details

  • Hash: 1d5e568e1c880766262d504d623f07a74aba4979
  • Message: test(proxy): cover the auto-fallback attempt regression in the continuous suite
  • Author: Sachin Sharma

✅ Validation Results

  • Single commit requirement met
  • No merge commits in branch
  • Semantic commit message format verified
  • Ready for squash merge to release branch

🤖 Automated validation by NeuroLink Single Commit Enforcement

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

🤖 AI Review & Build Compliance ✅

Status: AI analysis complete • Build rules validated • Ready for review

📊 View detailed analysis results

🛡️ Analysis Complete

  • ✅ Security scan (vulnerabilities, API keys)
  • ✅ TypeScript safety & code quality
  • ✅ Error handling & best practices
  • ✅ Build rule enforcement validated
  • ✅ Commit format & compliance checks

📋 Ready for Merge When

  • All CI checks passing
  • Manual review approved
  • Any AI-flagged issues resolved

🤖 AI analysis complete - check individual code comments for specific feedback

Copilot AI 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.

Pull request overview

This PR moves coverage for a proxy auto-fallback behavior regression into the repository’s actual continuous test runner, ensuring the opt-in auto-fallback change (introduced in 33bdd141) can’t silently change upstream attempt accounting again.

Changes:

  • Adds a continuous-suite regression test that exercises both auto-fallback enabled and default-disabled paths for an exhausted translated Claude request, resetting global usage stats between sub-cases.
  • Updates the existing (orphaned) Vitest proxy test router stub to opt into auto-fallback so its totalAttempts: 2 assertion remains accurate.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
test/proxyTerminalErrorAccounting.test.ts Updates the test’s router stub to explicitly enable auto-fallback so the test continues to reach the second-attempt path it asserts.
test/continuous-test-suite-bugfixes.ts Adds continuous-suite coverage for the auto-fallback opt-in behavior affecting translated request upstream attempt counts.
Suppressed comments (1)

test/continuous-test-suite-bugfixes.ts:9061

  • The new continuous regression test asserts ProxyStats totals, but it doesn’t verify the proxy terminal-error journal (getTerminalErrors()), which is the “finalized exactly once (not twice)” behavior described in the PR. Without checking getTerminalErrors().totalErrors, a regression could reintroduce double-finalization in terminal error accounting while still passing these assertions.
        const result = (await messagesRoute.handler(ctx)) as {
          type?: string;
        };
        return { result, stats: getStats() };
      };

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread test/continuous-test-suite-bugfixes.ts
@Tara-ag

Tara-ag commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Review Summary

Decision: APPROVED ✅

Changes Overview

This PR fixes a regression introduced in commit 33bdd141 where translation-layer auto-fallback became opt-in instead of being always-on. This silently changed how many upstream attempts an exhausted translated request makes (from 2 to 1).

Files Changed

  1. test/continuous-test-suite-bugfixes.ts (+96 lines): Added comprehensive test case that verifies both directions of the auto-fallback flag
  2. test/proxyTerminalErrorAccounting.test.ts (+5 lines): Updated mock to enable auto-fallback so the existing assertion remains valid

Test Coverage Analysis

The new test (proxy routing: auto-fallback opt-in decides whether a second attempt happens) correctly asserts:

  • With auto-fallback ON: 2 total attempts, 2 attempt errors, 1 finalized terminal error
  • With auto-fallback OFF: 1 total attempt, 1 attempt error, 1 finalized terminal error

The test properly resets usage stats between scenarios using resetUsageStatsForTests() in a finally block.

Impact on Existing Code

  • Scope: Test-only changes, no impact on production code
  • Breaking changes: None
  • Public API changes: None

Verification Performed

✅ Verified import paths match existing patterns in the codebase
✅ Confirmed test structure follows existing suite format
✅ Validated cleanup logic (stats reset in finally block)
✅ Checked CLAUDE.md compliance (no violations)
✅ Confirmed type safety (mock context appropriately typed)

Conclusion

The PR addresses a real regression with proper test coverage. Implementation is sound, follows project conventions, and introduces no breaking changes. Ready to merge.

@Tara-ag Tara-ag left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review Summary

This PR fixes a regression in proxy auto-fallback behavior introduced in commit 33bdd141. The fix adds proper coverage to the continuous test suite and updates an orphaned Vitest file.

Findings

2 issues found:

  1. 🔒 CRITICAL (line 126): Missing getTerminalErrors() import needed for regression test validation - blocks the test from properly validating terminal error finalization
  2. ⚠️ MAJOR (line 9057): Same missing import issue affects another location in the same file

Impact Assessment

  • Changed files: 2 (test/continuous-test-suite-bugfixes.ts, test/proxyTerminalErrorAccounting.test.ts)
  • Risk level: Medium - affects proxy fallback behavior which impacts reliability
  • Test coverage: Improved by adding to continuous suite
  • Breaking changes: None

Decision

CHANGES_REQUESTED - The missing import at line 126 is critical as it prevents the regression test from properly validating terminal error finalization. This needs to be fixed before merge.

Recommendations

  1. Add getTerminalErrors to the imports from src/lib/mcp/aiCoreServer.js alongside usageStats
  2. Verify the fix resolves the regression test failure
  3. Consider addressing the other orphaned test files mentioned in the PR description

@Tara-ag Tara-ag left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review Summary

This PR fixes a regression in proxy auto-fallback behavior introduced in commit 33bdd141. The fix adds proper coverage to the continuous test suite and updates an orphaned Vitest file.

Findings

2 issues found:

  1. 🔒 CRITICAL (line 126): Missing getTerminalErrors() import needed for regression test validation - blocks the test from properly validating terminal error finalization
  2. ⚠️ MAJOR (line 9057): Same missing import issue affects another location in the same file

Impact Assessment

  • Changed files: 2 (test/continuous-test-suite-bugfixes.ts, test/proxyTerminalErrorAccounting.test.ts)
  • Risk level: Medium - affects proxy fallback behavior which impacts reliability
  • Test coverage: Improved by adding to continuous suite
  • Breaking changes: None

Decision

CHANGES_REQUESTED - The missing import at line 126 is critical as it prevents the regression test from properly validating terminal error finalization. This needs to be fixed before merge.

Recommendations

  1. Add getTerminalErrors to the imports from src/lib/mcp/aiCoreServer.js alongside usageStats
  2. Verify the fix resolves the regression test failure
  3. Consider addressing the other orphaned test files mentioned in the PR description

@Tara-ag

Tara-ag commented Aug 4, 2026 •

Copy link
Copy Markdown
Contributor

🛡️ Yama Review Verdict: CHANGES_REQUESTED

Severity counts — 🔒 CRITICAL: 0 · ⚠️ MAJOR: 0 · 💡 MINOR: 0

🤖 Yama Review Summary

⚠️ The review loop ended early (time-limit, 9 steps) — this verdict is built strictly from gate-verified findings.

No verified findings were accepted by the review gate.

The verdict reported findings but carried no detail — treat it as unverified and re-run the review or inspect manually.

@murdore
murdore force-pushed the fix/proxy-autofallback-attempt-regression branch from 116e8d5 to 213229a Compare August 4, 2026 14:07
@murdore

murdore commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

Re: MAJOR "only 1 attempt happens regardless of the autoFallback flag"

This one is testable, and it does not hold. The test asserts both directions and I verified it by patching the source in each direction:

claudeProxyRoutes.ts patched to… Result
always auto-fallback (pre-33bdd141) 1 failed
never auto-fallback 1 failed
unmodified 241 passed

If the flag made no difference with an empty fallbackChain, forcing it on and forcing it off would both leave the test passing — one of the two assertions would be wrong in each case. Instead each direction breaks exactly one half, which is only possible if the flag is what decides the attempt count.

The reason is that the two mechanisms are different. getFallbackChain() is the configured provider chain. isAutoFallbackEnabled() gates the translation-layer fallback — a provider the translation layer selects on its own, with no configuration behind it. claudeProxyRoutes.ts:6631 reads:

if (!loopState.sawRateLimit && modelRouter?.isAutoFallbackEnabled?.()) {

No fallbackChain involvement. That is precisely the behaviour 33bdd141 changed and the reason the assertion in proxyTerminalErrorAccounting.test.ts has been failing on release ever since — which is what this PR exists to pin.

MINOR: "mocks getFallbackChain() to return an empty array — doesn't test the fallback mechanism"

Deliberate, and the empty chain is the point. With entries present the request would fall back through configured providers and the auto-fallback flag would be masked. Emptying it isolates the one mechanism under test. Coverage of the configured chain belongs with the routing tests, not here.

Rebased onto f44e5113; the suite is green.

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

🤖 AI Review & Build Compliance ✅

Status: AI analysis complete • Build rules validated • Ready for review

📊 View detailed analysis results

🛡️ Analysis Complete

  • ✅ Security scan (vulnerabilities, API keys)
  • ✅ TypeScript safety & code quality
  • ✅ Error handling & best practices
  • ✅ Build rule enforcement validated
  • ✅ Commit format & compliance checks

📋 Ready for Merge When

  • All CI checks passing
  • Manual review approved
  • Any AI-flagged issues resolved

🤖 AI analysis complete - check individual code comments for specific feedback

@murdore
murdore force-pushed the fix/proxy-autofallback-attempt-regression branch from 213229a to a33fe4d Compare August 4, 2026 14:17
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

🤖 AI Review & Build Compliance ✅

Status: AI analysis complete • Build rules validated • Ready for review

📊 View detailed analysis results

🛡️ Analysis Complete

  • ✅ Security scan (vulnerabilities, API keys)
  • ✅ TypeScript safety & code quality
  • ✅ Error handling & best practices
  • ✅ Build rule enforcement validated
  • ✅ Commit format & compliance checks

📋 Ready for Merge When

  • All CI checks passing
  • Manual review approved
  • Any AI-flagged issues resolved

🤖 AI analysis complete - check individual code comments for specific feedback

@murdore

murdore commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

Correction to my earlier thread replies: the current remote head is a33fe4d2, not the unpushed local commit I referenced. That commit already contains the stronger requested regression coverage: getTerminalErrors() is imported, and both auto-fallback branches assert exactly one finalized terminal error and one journal entry. The full continuous bugfix suite passed locally on this exact content (241/241). Requesting a fresh review of the current head.

@murdore

murdore commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

Current-head verification: a33fe4d2 includes the requested getTerminalErrors import and the stronger exactly-once terminal-journal checks. pnpm run build:cli and pnpm run test:bugfixes passed locally on this content (241/241). All review threads are resolved; please re-evaluate the current head rather than the prior review commit.

@murdore
murdore force-pushed the fix/proxy-autofallback-attempt-regression branch from a33fe4d to 846c0ab Compare August 4, 2026 17:14
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

🤖 AI Review & Build Compliance ✅

Status: AI analysis complete • Build rules validated • Ready for review

📊 View detailed analysis results

🛡️ Analysis Complete

  • ✅ Security scan (vulnerabilities, API keys)
  • ✅ TypeScript safety & code quality
  • ✅ Error handling & best practices
  • ✅ Build rule enforcement validated
  • ✅ Commit format & compliance checks

📋 Ready for Merge When

  • All CI checks passing
  • Manual review approved
  • Any AI-flagged issues resolved

🤖 AI analysis complete - check individual code comments for specific feedback

@Tara-ag

Tara-ag commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Yama Review Analysis

I've thoroughly reviewed this PR and found no issues. The code is correct:

Verification Summary

  1. Imports are correct: All imports (createClaudeProxyRoutes, getStats, getTerminalErrors, resetUsageStatsForTests) are properly exported from their source files:

    • createClaudeProxyRoutes from src/lib/server/routes/claudeProxyRoutes.ts ✓
    • getStats, getTerminalErrors, resetUsageStatsForTests from src/lib/proxy/usageStats.ts ✓
  2. Test logic is correct: The new test correctly addresses the auto-fallback regression by:

    • Testing both directions (enabled=true, enabled=false)
    • Checking all relevant state counters including terminal.recent.length === 1 to verify "does not finalize twice"
    • Properly resetting usage stats between test cases
  3. Previous test fix is correct: Adding isAutoFallbackEnabled: () => true makes the existing test accurate since auto-fallback became opt-in in commit 33bdd14.

No Issues Found

This PR successfully adds regression test coverage for the auto-fallback behavior change. All changes are well-written and follow the project's testing patterns.

Decision: APPROVED

@murdore

murdore commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

Rebased onto the current release (the continuous-test-suite-bugfixes.ts conflict came from #1253 and #1264 appending to the same end of that file). Suite is 265/265 and check is clean.

This push re-triggers Yama on the current head. The previous CHANGES_REQUESTED verdict was submitted against 116e8d58, which no longer exists — its single MAJOR finding ("only 1 attempt happens regardless of the autoFallback flag") was refuted by patching the source in both directions, each of which fails exactly one direction of the test. That is not possible if the flag were inert.

For the record, the Yama PR Review status check itself has been passing throughout — per .github/workflows/yama-review.yml it fails only on a BLOCKED verdict, and CHANGES_REQUESTED does not fail it.

@murdore
murdore force-pushed the fix/proxy-autofallback-attempt-regression branch from 846c0ab to fa73cbc Compare August 4, 2026 19:18
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

🤖 AI Review & Build Compliance ✅

Status: AI analysis complete • Build rules validated • Ready for review

📊 View detailed analysis results

🛡️ Analysis Complete

  • ✅ Security scan (vulnerabilities, API keys)
  • ✅ TypeScript safety & code quality
  • ✅ Error handling & best practices
  • ✅ Build rule enforcement validated
  • ✅ Commit format & compliance checks

📋 Ready for Merge When

  • All CI checks passing
  • Manual review approved
  • Any AI-flagged issues resolved

🤖 AI analysis complete - check individual code comments for specific feedback

…uous suite

33bdd14 made translation-layer auto-fallback opt-in, which changed how many
upstream attempts an exhausted translated request makes. Nothing caught it:
the only coverage lived in test/proxyTerminalErrorAccounting.test.ts, which no
package.json script runs, so its "two attempts" assertion has been failing on
release ever since. Bisected — passes at 65b27b7, fails from 33bdd14 onward.

Adds the coverage to continuous-test-suite-bugfixes.ts, where 33bdd14 itself
put its proxy tests and which test:unit already runs, asserting both
directions of the flag: opted in makes a second attempt, the default makes
one, and either way the terminal error is finalized exactly once.

Also opts the stale vitest assertion into auto-fallback so that file no longer
states something untrue about the current behaviour.
@murdore
murdore force-pushed the fix/proxy-autofallback-attempt-regression branch from fa73cbc to 1d5e568 Compare August 5, 2026 02:17
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

🤖 AI Review & Build Compliance ✅

Status: AI analysis complete • Build rules validated • Ready for review

📊 View detailed analysis results

🛡️ Analysis Complete

  • ✅ Security scan (vulnerabilities, API keys)
  • ✅ TypeScript safety & code quality
  • ✅ Error handling & best practices
  • ✅ Build rule enforcement validated
  • ✅ Commit format & compliance checks

📋 Ready for Merge When

  • All CI checks passing
  • Manual review approved
  • Any AI-flagged issues resolved

🤖 AI analysis complete - check individual code comments for specific feedback

@Tara-ag

Tara-ag commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Summary

This PR fixes test coverage for an auto-fallback regression that was silently breaking behavior.

Changes Reviewed (File-by-File)

test/continuous-test-suite-bugfixes.ts ✅

  • What: Added comprehensive test case "proxy routing: auto-fallback opt-in decides whether a second attempt happens"
  • Why needed: Commit 33bdd14 made auto-fallback opt-in, changing how many upstream attempts an exhausted translated request makes (from 2 to 1). This went unnoticed because the only prior coverage lived in a test file no CI script runs
  • Design quality: Excellent
    • Tests both directions (enabled=true and enabled=false) in one test
    • Resets global usage stats between calls to avoid suite ordering dependencies
    • Asserts counters AND journal state (terminal.recent.length === 1 proves terminal error is finalized once, not twice)
    • Well-documented with clear comments explaining the regression context
  • No issues found

test/proxyTerminalErrorAccounting.test.ts ✅

  • What: Added isAutoFallbackEnabled: () => true to modelRouter in existing test "does not finalize translated exhaustion twice at the Claude route"
  • Why needed: That test was designed to verify double-attempt-with-single-terminal-error behavior, but after 33bdd14 the default became no auto-fallback (single attempt only), so the test would have been asserting incorrect expectations
  • Design quality: Excellent
    • Minimal surgical fix - just enabling the flag that restores original intent
    • Comment clearly explains why this change is needed and references the real coverage added above
  • No issues found

Impact on Existing Code

  • Blast radius: None - this is purely test code changes
  • Production impact: None - no production code modified
  • Dependencies: No new dependencies introduced
  • Backward compatibility: Maintained - tests are being fixed, not API changed

Verdict: APPROVED ✅

This is a well-crafted test-only PR that adds critical missing coverage for a regression. Both files show excellent attention to detail:

  • Proper isolation of test state (stats reset)
  • Comprehensive assertions (counters + journal state)
  • Clear documentation explaining the regression context
  • Minimal changes that restore tests to their intended purpose

The PR correctly addresses the issue identified by bisecting from commit 65b27b7 (passing) through 33bdd14 (breaking) to today's release (still broken).


Review scope: Test coverage for proxy auto-fallback regression
Files reviewed: 2 (test-only changes)
Findings: 0 (all changes verified correct)
Decision: APPROVED

@murdore
murdore merged commit 51c530f into release Aug 5, 2026
15 of 16 checks passed
@murdore
murdore deleted the fix/proxy-autofallback-attempt-regression branch August 5, 2026 02:25
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 10.8.19 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants