Skip to content

feat: report "use no memo" opt-outs as skipped instead of failed#77

Open
blazejkustra wants to merge 2 commits into
mainfrom
feat/use-no-memo-skipped-bucket
Open

feat: report "use no memo" opt-outs as skipped instead of failed#77
blazejkustra wants to merge 2 commits into
mainfrom
feat/use-no-memo-skipped-bucket

Conversation

@blazejkustra

@blazejkustra blazejkustra commented May 3, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #73. Functions annotated with "use no memo" / "use no forget" were previously surfaced under the failed bucket because the language server only handled CompileSuccess / CompileError events and silently dropped CompileSkip.

This PR adds a third skipped bucket end-to-end so opted-out components are no longer flagged as failures.

  • Server — capture CompileSkip events, plumb them through inlay hints, hover tooltips, and the report data model. New skippedEmoji setting (default ⏭️).
  • Report — third counter in the summary bar, "Skipped only" status filter, neutral text class for skip rows, skip rows excluded from the "Fix with AI" markdown collector.
  • ClientsskippedEmoji setting added for VS Code, IntelliJ, Neovim, and Zed; CLI text formatter shows skipped totals and a per-component list.
  • Test — new use-no-memo.tsx fixture asserts opt-outs land in the skipped bucket and never overlap a failure.

Test plan

  • npm run typecheck — clean
  • npm run lint — clean
  • npm test --prefix packages/vscode-client — 13 passing, including the new opt-out fixture case

Closes #73. Functions annotated with `"use no memo"` / `"use no forget"`
were previously surfaced under the failed bucket because the language
server only handled `CompileSuccess` / `CompileError` events from the
compiler and silently dropped `CompileSkip`.

This change adds a third bucket end-to-end:

- Server: capture `CompileSkip` events and plumb them through inlay
  hints, hover tooltips, and the report data model. New `skippedEmoji`
  setting (default `⏭️`).
- Report: third counter in the summary bar, "Skipped only" status
  filter, neutral text class for skip rows, and skip rows excluded from
  the "Fix with AI" markdown collector.
- Clients: `skippedEmoji` setting added for VS Code, IntelliJ, Neovim,
  and Zed; CLI text formatter shows skipped totals and a per-component
  list.
- Test: new `use-no-memo.tsx` fixture asserting opt-outs land in the
  skipped bucket and never overlap a failure.
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.

Respect "use no memo" - exclude components and hooks from the report

1 participant