Skip to content

test: fix CI regressions from namespaced storage key and docked sidebar#152

Merged
alexinthesky merged 3 commits into
mainfrom
fix/e2e-docked-sidebar-and-storage-key
Jul 21, 2026
Merged

test: fix CI regressions from namespaced storage key and docked sidebar#152
alexinthesky merged 3 commits into
mainfrom
fix/e2e-docked-sidebar-and-storage-key

Conversation

@alexinthesky

@alexinthesky alexinthesky commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • AppConfig.test.tsx hardcoded the pre-namespacing sessionStorage key (ask-o11y.settings.activeTab); it now uses getPluginStorageKey('settings.activeTab') to match production code. Broken since the "fix: namespace storage key" commit, which never touched this test.
  • The session sidebar became a persistent docked panel in fix: feedback UX quick wins, run-plan cleanup, and topology improvements #143 (open by default, no longer closes after creating a new chat), but sessionManagement/sessionSharing/chat e2e specs still assumed the old closed-by-default modal, causing ambiguous "History"/"New Chat" locator matches against the sidebar's own always-visible "Clear All History" and "+ New Chat" controls. Disambiguated header button locators and dropped the stale "sidebar closes on new session" assertion.
  • sidePanel.spec.ts's DOM heuristic (first 3-child div under [role="main"]) started matching the now-larger docked sidebar markup instead of the actual SplitLayout pane. Scoped it to the existing [data-plugin-split-layout] marker instead.
  • While chasing this PR's own CI green, found the Build, lint and unit tests / Validate plugin step (plugin-validator's osv-scanner) failing independently of the above: real HIGH-severity CVEs already on main in transitive deps js-yaml (CVE-2026-59869), undici (CVE-2026-6734/9697/12151), and ws (CVE-2026-48779). None have a direct dependency to bump, so added overrides entries (same established pattern as dompurify/lodash-es) pinning all three to their patched versions.

Fixes the failing Build, lint and unit tests and E2E Tests with Coverage checks on main (been red since PR #143 / the storage-key fix, ~1 month).

Test plan

  • npm run test:ci — 491/491 passed
  • npm run typecheck, npm run lint — clean
  • go test ./pkg/... — passed
  • npm run build — passed
  • Full local Playwright run against docker compose up -d grafana — 38/38 passed
  • npm run validate — osv-scanner clean; only documented benign findings remain (unsigned plugin, stale Go SDK, sponsor link)

🤖 Generated with Claude Code

- AppConfig.test.tsx hardcoded the pre-namespacing sessionStorage key;
  update to use getPluginStorageKey (broken since the namespace-storage-key
  fix, never caught because that PR did not touch this test).
- The session sidebar became a persistent docked panel (open by default,
  no longer closes on new-chat) in #143, but e2e specs still assumed the
  old closed-by-default modal. Update sessionManagement/sessionSharing/
  chat specs: disambiguate the header Chat history / New chat buttons
  from the sidebar's own New Chat and Clear All History controls (both
  now simultaneously in the DOM), and drop the stale
  sidebar-closes-on-new-session assertion.
- sidePanel.spec.ts's DOM heuristic (first 3-child div under [role=main])
  now matches the docked sidebar instead of the SplitLayout pane; scope it
  to the existing [data-plugin-split-layout] marker instead.

All 491 unit tests and all 38 Playwright e2e tests pass locally.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
alexinthesky and others added 2 commits July 21, 2026 12:46
Both transitive copies (via i18next-parser/eslint/postcss-loader on 4.x,
and via babel-plugin-istanbul on 3.x) were vulnerable to CVE-2026-59869
(GHSA-52cp-r559-cp3m, quadratic CPU consumption via YAML merge-key
chains). No direct dependency to bump; overrides is already the
established pattern here for dompurify/lodash-es. This is required for
the plugin-validator osv-scanner gate (Build, lint and unit tests /
Validate plugin) to pass.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Both are transitive (cheerio -> undici, jsdom -> ws) and their parent
packages already allow the patched range, so this only pins the floor:

- undici < 7.28.0 is vulnerable to several HIGH CVEs (2026-6734,
  2026-9697, 2026-12151); patched in 7.28.0.
- ws < 8.21.0 is vulnerable to CVE-2026-48779 (fragment-count DoS);
  patched in 8.21.0.

Closes out the remaining plugin-validator osv-scanner findings on this
branch (js-yaml was fixed in the previous commit). Local 'npm run validate'
now only reports the documented benign findings (unsigned plugin, stale
Go SDK, sponsor link).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@alexinthesky
alexinthesky merged commit 18eb687 into main Jul 21, 2026
15 of 16 checks passed
@alexinthesky
alexinthesky deleted the fix/e2e-docked-sidebar-and-storage-key branch July 21, 2026 11:07
Sign up for free to 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.

1 participant