fix: work around VS Code >= 1.123 webview resource corruption in IT runs - #1476
Conversation
…Code >= 1.123 (KaotoIO#1468) ExTester's --open_resource opens the test workspace via a second-instance CLI call that can land while VS Code is still starting up. On VS Code >= 1.123.0 that startup race duplicates every 256 KiB chunk of every webview resource in the window, and the webview service worker caches the corrupted responses, permanently poisoning the test profile. This is what made the Kaoto editor webview render blank in CI (KaotoIO#1468). Upstream reports: microsoft/vscode#330243 (the VS Code bug) and redhat-developer/vscode-extension-tester#2454 (the triggering sequence). Until either is fixed upstream, patch VSBrowser.openResources via Yarn's patch protocol: wait for the workbench and let the instance settle (10 s default, EXTESTER_OPEN_RESOURCE_SETTLE_MS to override) once per session before the first CLI open. Validated on a CODE_VERSION matrix (PR KaotoIO#1475): webview suites on VS Code 1.132.0 went from 5/7 jobs failing to 7/7 green with this patch, with no version pin needed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AtvAiEuFSkrYXehmdRdbHo
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe PR updates two dependencies, reformats ChangesMaintenance updates
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related issues
Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Citrus 5.0.0 moved CitrusJBangMain into org.citrusframework.jbang.cli while Camel JBang's 'camel test' plugin fetches its CitrusJBang.java shim unversioned and resolves citrus-jbang 4.x, so every 'camel test init/run' fails to compile since 2026-08-04 — on all branches, all OSes and both pinned and floating CODE_VERSION. Skip the two affected suites until KaotoIO#1477 is resolved; 10_TestsView (listing) still runs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AtvAiEuFSkrYXehmdRdbHo
|
CI triage of the two failure classes on the previous runs — neither was caused by this PR:
Everything else: 92–93 passing, 0 webview failures — the workaround holds on the full suite.
🤖 Generated with Claude Code |
|



Fixes #1468 (part of #1466).
What
Two commits:
chore: bump vscode-extension-tester from 8.23.0 to 8.24.0— @djelinek's bump, cherry-picked as-is fromfix/extester-update(the patch below pins to 8.24.0).vscode-extension-testerthat works around the root cause of the blank Kaoto editor webview in CI.Why
The blank webview is a VS Code bug, not a Kaoto or ExTester regression: ExTester's
--open_resourceopens the test workspace via a second-instance CLI call, and when that lands while VS Code is still starting up, VS Code ≥ 1.123.0 duplicates every 256 KiB chunk of every webview resource in the window — the Kaoto bundle arrives at 2× its size and fails to parse. The webview service worker then caches the corrupted response, so a single raced boot permanently poisons thetest-resources/settingsprofile (which is why retried CI jobs failed deterministically).Full analysis in #1468. Upstream reports: microsoft/vscode#330243 (the bug, with a self-contained repro: https://github.com/lordrip/vscode-webview-corruption-repro) and redhat-developer/vscode-extension-tester#2454 (the triggering sequence; an upstream ExTester fix is being proposed — this Yarn patch can be dropped once it ships).
How
.yarn/patches/vscode-extension-tester-npm-8.24.0-62b74258e3.patchmakesVSBrowser.openResourceswait for the workbench and settle for 10 s (once per session;EXTESTER_OPEN_RESOURCE_SETTLE_MSoverrides) before the first CLI open, keeping it out of the vulnerable startup window. RuntimeopenResourcescalls from tests are unaffected after the first settle.Validation
CODE_VERSIONmatrix on the diagnostic PR TEMP: isolate #1468 — CODE_VERSION A/B on webview suites (not for merge) #1475): webview suites onmaxwent from 5/7 jobs failing to 7/7 green with this patch;1.122.0control stayed green. No version pin needed — CI keeps testing current VS Code.The investigation and this fix were done with the help of Claude Code; every claim above is backed by a measurement (see #1468).
🤖 Generated with Claude Code
https://claude.ai/code/session_01AtvAiEuFSkrYXehmdRdbHo
Summary by CodeRabbit
New Features
Chores
Refactor
Tests