Conversation
SlexAxton
commented
Apr 13, 2026
This splits the first composition surface out of the broader Phase 5 work so the path-store lane can regain header composition before context-menu and icon work land. The file-tree now manages header slot content on the host, the virtualized view always exposes the slot outlet, and the docs demo plus targeted tests cover render, cleanup, SSR outlet, and hydration behavior. Constraint: User requested a header-slot-only commit before the rest of Phase 5 Rejected: Commit the full Phase 5 composition bundle together | needed a smaller reviewable slice Confidence: high Scope-risk: narrow Reversibility: clean Directive: Keep later composition surfaces reusing the host-managed slot path instead of introducing a separate header attachment mechanism Tested: Targeted oxlint on changed files; bun test packages/trees/test/path-store-header-slot.test.ts and packages/trees/test/path-store-render-scroll.test.ts; bun ws trees build; bun ws trees tsc Not-tested: Full root lint remains noisy from unrelated existing docs/demo files
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ed9c50186f
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| this.#composition?.header != null && | ||
| this.#composition.header.render == null | ||
| ) { | ||
| return; |
There was a problem hiding this comment.
Support html-only header composition on client render
This early return skips all slot synchronization whenever composition.header is present without a render callback, which means a client-only PathStoreFileTree.render(...) call with composition.header.html will never display any header content unless SSR markup already exists to be adopted. In other words, the new html composition path currently works for preloadPathStoreFileTree(...) output but is silently ignored in non-SSR render flows, so integrations that rely on HTML-only composition lose the header entirely.
Useful? React with 👍 / 👎.