xtablo-source/apps
Arthur Belleville 949888ec63
fix: resolve insertBefore DOM reconciliation error in React 19
UserStoreProvider was switching between three different return structures
(LoadingSpinner / children directly / Context.Provider wrapping children),
causing full fiber tree restructures in React 19 concurrent mode. When
batched with other state updates (e.g. UpgradeBlockContext loading),
React called insertBefore with a reference node already detached from
the DOM.

- Always render UserStoreContext.Provider so tree structure is stable;
  spinner vs children toggle happens inside it
- Use useRef to hold a stable Zustand store (update via setState instead
  of recreating on every render)
- Move inline <style> from App.tsx JSX into main.css to avoid React 19
  style-tag edge cases with conditional sibling rendering

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 23:07:47 +02:00
..
api Block app access until organizations add a paid plan 2026-03-24 21:41:38 +01:00
external Create two packages: api and shared-types 2025-11-10 08:52:47 +01:00
main fix: resolve insertBefore DOM reconciliation error in React 19 2026-03-30 23:07:47 +02:00