Skip to content

feat: use @pierre/trees for Studio file tree#424

Draft
miguel-heygen wants to merge 1 commit intomainfrom
codex/studio-tree-viewer
Draft

feat: use @pierre/trees for Studio file tree#424
miguel-heygen wants to merge 1 commit intomainfrom
codex/studio-tree-viewer

Conversation

@miguel-heygen
Copy link
Copy Markdown
Collaborator

What changed

  • replaced the Studio file tree with an @pierre/trees-based wrapper while keeping the existing Studio actions and affordances wired through it
  • preserved create, rename, delete, duplicate, import targeting, root and row context menus, selection syncing, and empty-folder .gitkeep handling
  • added focused tests for path shaping, drop targeting, move destination building, and pending-create lifecycle behavior

Why

Studio needed the richer tree viewer from @pierre/trees, but the first integration attempt exposed a wrapper bug: inline renames for newly created items could lose pending-create state and fall through to a rename request instead of the Studio create API. This patch fixes that race so new files and folders persist correctly after the inline rename flow.

Impact

  • Studio gets the new tree viewer library without regressing the existing file operations UX
  • newly created files and folders now reliably hit the correct Studio backend APIs during inline rename

Validation

  • bunx oxfmt packages/studio/src/App.tsx packages/studio/src/components/editor/FileTree.tsx packages/studio/src/components/editor/FileTree.test.ts
  • bunx oxlint packages/studio/src/App.tsx packages/studio/src/components/editor/FileTree.tsx packages/studio/src/components/editor/FileTree.test.ts
  • bun run --cwd packages/studio test src/components/editor/FileTree.test.ts
  • bun run --cwd packages/studio typecheck
  • agent-browser browser verification on local Studio for file-create and folder-create inline rename flows, including persistence after reload

Notes

  • left an unrelated untracked .thumbnails/ artifact out of the PR scope
  • keeping this PR as a draft so drag/drop move behavior can still get a final manual browser pass on GitHub if desired

@miguel-heygen miguel-heygen changed the title [codex] use @pierre/trees for Studio file tree feat: use @pierre/trees for Studio file tree Apr 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant