Skip to content

feat: TanStack Devtools + subscribeNotify#13

Merged
SutuSebastian merged 12 commits into
mainfrom
feat/devtools-dispatch
Jul 17, 2026
Merged

feat: TanStack Devtools + subscribeNotify#13
SutuSebastian merged 12 commits into
mainfrom
feat/devtools-dispatch

Conversation

@SutuSebastian

Copy link
Copy Markdown
Contributor

Summary

  • Thin #dispatch + subscribeNotify / StackNotifyEvent / seedNotify in zero-dep core
  • @stainless-code/layers-devtools (Solid panel + EventClient) and @stainless-code/react-layers-devtools (TanStack plugin)
  • Live-ref panel actions (soft/force dismiss, cancel queued, dismissAll modes)
  • Public docs: guide, core-api AutoTypeTables, glossary, install/react links, roadmap follow-ups

Test plan

  • bun run docs:validate -- --strict
  • bun run docs:check -- --isolated
  • bun run docs:build
  • Smoke: mount layersDevtoolsPlugin() under StackProvider; open/dismiss; Soft dismiss / Force / Cancel queued / Dismiss all
  • Confirm prod gate: shell still needs import.meta.env.DEV or @tanstack/devtools-vite strip

Capture Ready decisions for TanStack-shell stack inspector (packages, subscribeNotify, thin #dispatch) and link them from the roadmap/glossary.
Add thin #dispatch and StackNotifyEvent in core, Solid panel package, and React doorbell with live-ref dismiss actions. Docs guide and changeset included.
Listener isolation, JSON-safe payload edges, public seedNotify,
global re-attach, live-action getStack guards, dismissAll notify,
knip/peer/docs polish for ship readiness.
Public roadmap points at the shipped Devtools guide only.
Gate the mount or strip with the Vite plugin; Layers plugin no-op leaves the shell.
Cut re-derivable plan/API paste; action-verb guide headers; move
shipped MVP off public Robustness into honest follow-up backlog.
Document subscribeNotify/seedNotify + StackNotify* types; fix panel
labels, peers, and the inaccurate zero-listener cost claim.
@SutuSebastian SutuSebastian added the docs Merged PRs with this label deploy the /layers docs site label Jul 17, 2026
@changeset-bot

changeset-bot Bot commented Jul 17, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 4fbf419

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 11 packages
Name Type
@stainless-code/layers Patch
@stainless-code/layers-devtools Patch
@stainless-code/react-layers-devtools Patch
@stainless-code/alpine-layers Patch
@stainless-code/angular-layers Patch
@stainless-code/lit-layers Patch
@stainless-code/preact-layers Patch
@stainless-code/react-layers Patch
@stainless-code/solid-layers Patch
@stainless-code/svelte-layers Patch
@stainless-code/vue-layers Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@SutuSebastian, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 21 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 690708be-3b52-476e-9647-ae312aa905a8

📥 Commits

Reviewing files that changed from the base of the PR and between d795662 and 4fbf419.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (54)
  • .changeset/layers-devtools.md
  • README.md
  • apps/docs/content/adapters/react.mdx
  • apps/docs/content/concepts/glossary.mdx
  • apps/docs/content/guides/devtools.mdx
  • apps/docs/content/guides/index.mdx
  • apps/docs/content/guides/install.mdx
  • apps/docs/content/guides/meta.ts
  • apps/docs/content/reference/core-api.mdx
  • apps/docs/content/reference/roadmap.mdx
  • docs/architecture.md
  • docs/glossary.md
  • docs/roadmap.md
  • knip.json
  • package.json
  • packages/core/src/layerClient.test.ts
  • packages/core/src/layerClient.ts
  • packages/core/src/layerStack.test.ts
  • packages/core/src/layerStack.ts
  • packages/core/src/types.ts
  • packages/devtools/CHANGELOG.md
  • packages/devtools/LICENSE
  • packages/devtools/README.md
  • packages/devtools/package.json
  • packages/devtools/src/LayersContextProvider.tsx
  • packages/devtools/src/attach.test.ts
  • packages/devtools/src/attach.ts
  • packages/devtools/src/components/Shell.tsx
  • packages/devtools/src/components/StackActions.tsx
  • packages/devtools/src/components/StackTable.tsx
  • packages/devtools/src/components/index.tsx
  • packages/devtools/src/core.tsx
  • packages/devtools/src/event-client.ts
  • packages/devtools/src/index.ts
  • packages/devtools/src/live-actions.test.ts
  • packages/devtools/src/live-actions.ts
  • packages/devtools/src/live-client.ts
  • packages/devtools/src/production.ts
  • packages/devtools/tsconfig.json
  • packages/devtools/tsdown.config.ts
  • packages/react-devtools/CHANGELOG.md
  • packages/react-devtools/LICENSE
  • packages/react-devtools/README.md
  • packages/react-devtools/package.json
  • packages/react-devtools/src/ReactLayersDevtools.tsx
  • packages/react-devtools/src/index.ts
  • packages/react-devtools/src/plugin.test.ts
  • packages/react-devtools/src/plugin.tsx
  • packages/react-devtools/src/production.ts
  • packages/react-devtools/tests-dom/soft-dismiss.test.tsx
  • packages/react-devtools/tsconfig.json
  • packages/react-devtools/tsdown.config.ts
  • packages/react-devtools/vitest.config.ts
  • tsconfig.docs.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/devtools-dispatch

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.

Build peers before react-devtools tsc (dist-only resolve), exclude
Solid Devtools from typedoc, lift decisions and delete the shipped plan.
Add react-devtools vitest tracer (StackProvider → attach → softDismissTop).
Label soft-dismiss blocker veto as dismissVetoed; export live-actions helpers.
Keep the production entry aligned with the main package surface.
Last action is stack-level, not per-row; align public roadmap with
framework doorbell wording.
Fresh Solid panel store per mount; soft-dismiss no-op while exiting;
JSDoc/production NoOp export parity; changeset without private #dispatch.
@SutuSebastian
SutuSebastian merged commit a595180 into main Jul 17, 2026
15 checks passed
@SutuSebastian
SutuSebastian deleted the feat/devtools-dispatch branch July 17, 2026 20:08
@github-actions github-actions Bot mentioned this pull request Jul 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Merged PRs with this label deploy the /layers docs site

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant