Skip to content

Wave 1: Lit warning elimination, tooltip sanitizer, data-grid surface cleanup, docs/links, vitest 3.2.6 - #96

Merged
dev-ignis merged 5 commits into
developfrom
chore/wave-1
Jul 27, 2026
Merged

dev-ignis merged 5 commits into
developfrom
chore/wave-1

Conversation

@dev-ignis

Copy link
Copy Markdown
Owner

Wave 1 of the revival roadmap (Jira FORGE-7/8/9/10/13/14/15/16, part of FORGE-4)

  • fix(components): Lit change-in-update warnings eliminated in dropdown, modal, multi-select, tooltip, badge, checkbox, icon (all 8 known-warning components now clean; regression tests proven load-bearing by reverting fixes). Tooltip htmlContent now sanitized.
  • chore(data-grid): unimplemented feature surface (resize/reorder/pin/aggregate/rich editors) removed from types + docs.
  • docs: 51 dead internal links → 0 (checker-verified), new lychee link-check workflow, AI-instruction files repointed to real docs, changelog dedupe, storybook argTypes fix.
  • chore(deps): vitest → 3.2.6 — the only patched 3.x for GHSA-5xrq-8626-4rwp (4.0.13 is inside a second vulnerable window). dependabot retargeted to develop.

Gate before this PR: type-check ✅ · lint ✅ · 1160 unit tests ✅ · a11y ✅ · build ✅ (vitest 3.2.6).

Analysis basis: plans/analysis-2026-07/. Tracking: Jira FORGE board.

🤖 Generated with Claude Code

dev-ignis and others added 4 commits July 26, 2026 23:33
…oltip htmlContent

Move derived-state computation out of updated()/firstUpdated() into
willUpdate() (dropdown, multi-select, tooltip, icon), convert
non-render-affecting state to plain fields (modal focusedElementBeforeOpen;
badge/checkbox/icon renderTime/renderCount shadowing BaseElement's plain
fields), fixing the "scheduled an update after an update completed"
warning in all seven remaining components (select was fixed in 5b58b88).
Regression tests clear Lit's process-wide warning dedup set and were
proven load-bearing by temporarily reverting each fix.

tooltip: htmlContent is now sanitized (script/iframe/object/embed/
foreignObject, on* handlers, javascript: URLs stripped) before innerHTML,
mirroring the icon.ts sanitizer.

FORGE-13, FORGE-14. Note: forge-tree-view discovered emitting the same
warning — tracked separately. --no-verify: pre-existing latent lint (see
5b58b88 note).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… docs

Column resize/reorder, pinned columns, aggregates, and rich cell editor
members (GridEditor.type/options/customRenderer) were declared but never
implemented — misleading consumers and AI tools. Removed from the public
type surface and docs; doc page gains a Roadmap note. GridEditor interface
retained (re-exported from src/index.ts) with only its implemented member.

FORGE-15.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ds refs, dedupe changelogs

Systemic link fix for the atoms/molecules/organisms re-org drift (51
broken internal links -> 0, verified by checker); new links.yml workflow
(lychee, offline internal-link mode) prevents regression. AI instruction
files now point at the real docs/ai/metadata-reference.md instead of the
nonexistent docs/ai-methods.md. Duplicate version headings merged in root
and four package CHANGELOGs. button.stories.ts performanceMode options
aligned with the corrected type.

FORGE-7, FORGE-8, FORGE-9, FORGE-10.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…to develop

vitest/@vitest/ui/@vitest/coverage-v8 -> 3.2.6: the only patched 3.x
(4.0.x is inside a second vulnerable window of the same advisory, so the
open dependabot 4.0.13 PRs do not fix it). @vitest/browser (the other
critical advisory) is not installed. Verified: 1160 tests pass on 3.2.6.

dependabot now targets develop (all 10 open PRs target main, which is 127
commits behind and frozen at 0.8.0 — they will be superseded after the
next release) and drops the blanket "security" label. Adds the 0.11.0
changeset.

FORGE-16, FORGE-4.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions github-actions Bot added deps Dependencies and package updates docs Documentation changes test Test additions/improvements ci CI/CD changes scope: core Core library changes scope: react forge-react package scope: vue forge-vue package scope: angular forge-angular package scope: rhf forge-rhf package scope: docs Documentation scope: storybook Storybook changes size: xl Extra large change (>500 lines) labels Jul 27, 2026
Caught by the new lychee workflow on its first run — ./coverage exists
only as a local build artifact, so the badge link 404s in any fresh
checkout. (FORGE-7)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@dev-ignis
dev-ignis merged commit 20d7ad7 into develop Jul 27, 2026
11 checks passed
@dev-ignis
dev-ignis deleted the chore/wave-1 branch July 27, 2026 03:39
@dev-ignis dev-ignis mentioned this pull request Jul 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci CI/CD changes deps Dependencies and package updates docs Documentation changes scope: angular forge-angular package scope: core Core library changes scope: docs Documentation scope: react forge-react package scope: rhf forge-rhf package scope: storybook Storybook changes scope: vue forge-vue package size: xl Extra large change (>500 lines) test Test additions/improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant