The instrumentation showed the re-apply mostly throwing "No table set": the viewer is detached from its table for a while after a refocus, the fixed 60ms delay fired inside that window, set_depth threw, and the tree rendered fully expanded. The handful of times the delay happened to be long enough, the log reads "re-apply done depth=0" and the collapse survived. So poll for the table instead of guessing, up to 5s. queued now clears in a finally after the work rather than at the top of the callback, so the focus and visibilitychange that both fire for one window switch no longer each run a re-apply -- that was the doubled applyDepth in the log. Does not address per-node +/- collapse, which is still not recorded at all: expandDepthRef stays null because only the toolbar buttons set it, and the view exposes expand()/collapse() with no getter to read the state back. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| vendor | ||
| .gitignore | ||
| eslint.config.js | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| vite.config.js | ||
React + Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Oxc
- @vitejs/plugin-react-swc uses SWC
React Compiler
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.
Expanding the ESLint configuration
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.