Repository navigation
refactor: state management with xstate-store - #268
Conversation
|
Too many files changed for review. ( |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedToo many files! This PR contains 430 files, which is 130 over the limit of 300. To get a review, narrow the scope: Usage-priced reviews support at most 300 files. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (88)
📒 Files selected for processing (441)
You can disable this status message by setting the ✨ 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 |
|
React Doctor found no new issues. 🎉 Reviewed by React Doctor for commit |
Summary
This refactor replaces Compozy Web's direct Zustand usage and a large set of ad hoc React state/effect coordinators with event-driven
@xstate/storev4 stores and@xstate/store-reactbindings.The migration establishes one client-state model across the Web app:
This is a greenfield hard cut: the app removes its direct
zustanddependency, adopts@xstate/storeand@xstate/store-react, and intentionally does not carry compatibility readers for obsolete browser-storage envelopes.What changed
State architecture
Lifecycle and concurrency safety
Workspace and route isolation
Browser persistence hard cuts
Persisted interaction state now uses explicit versioned envelopes, including active workspace, onboarding draft, home preferences, network inspector/last-read state, session inspector state, and settings restart state. Obsolete envelopes are deliberately ignored. Secrets remain memory-only; the onboarding persistence extension never receives the API key field.
Engineering guidance and QA inventory
state-managementandxstate-storeskills, references, and evaluations, then updated the skill lock and Web/UI instructions.untestedfor the next real-user QA cycle.Review guide
The committed delta is 506 files (
+24,284/-11,112). Suggested review order:web/package.json,web/src/hooks/use-store-binding.ts,web/src/lib/store-request.ts, andweb/CLAUDE.md..agents/skills/**,skills-lock.json, anddocs/qa/**.Testing and validation
git diff --check origin/main...HEADpasses.internal/daemon(TestBootSkillsWatcherRefreshesOnGlobalChangesAndStopsOnShutdown), a package outside this PR's committed diff. The aggregateVerify (fmt, lint, unit, build)gate is therefore also marked failed because it requires every verification lane to pass.Web/Docs impact
packages/ui: provider/test/story guidance integration changes only; no new public primitive or token contract.packages/site: no committed changes.config.tomlkey, default, environment variable, or daemon configuration change.Compozy Impact Audit
cmd/,internal/, OpenAPI/generated contracts, native tool descriptors, toolsets, schema digests, capability gates, and CLI/API fallbacks; none are changed by this frontend state refactor..agents/skillsupdates are engineering guidance for React and state management, not runtime extension contracts.skills/compozy/and its documented public behavior, tool IDs, CLI paths, hooks, capabilities, bundles/resources, and memory/network/task semantics are unchanged.