feat: file association UX (UTI + vync open .) (#12)#13
Merged
PresenceWith merged 14 commits intomainfrom Mar 12, 2026
Merged
Conversation
overflow-x: auto on .vync-tab-bar forced overflow-y: auto per CSS spec, clipping the absolutely positioned dropdown. Split into .vync-tab-scroll (overflow-x: auto) and keep .vync-tab-add outside the scroll container. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Scans allowedDirs and their .vync/ subdirectories for unregistered .vync files. Returns up to 100 discovered file paths. Enables the frontend '+' button to show files available for opening. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
App fetches GET /api/files/discover on '+' click, passes results to TabBar. Dropdown shows 'Reopen' (closed tabs) and 'Open' (unregistered .vync files) sections. Uses handleAddFile with server-validated path for reliable tab creation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…point - ARCHITECTURE.md: add GET /api/files/discover to API endpoint table - DECISIONS.md: fix D-015/D-016 doc paths (plans/ → archive/) - CLAUDE.md: update multi-tab UI description for two-section dropdown Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove docs/archive/*, completed docs/plans/*, and examples/ that are no longer needed. Add docs/archive/ to .gitignore. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Change `app.get('*', ...)` to `app.get('*path', ...)` to fix
"Missing parameter name at index 1" error with path-to-regexp v8.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add 'showHiddenFiles' property so .vync files in dot-prefixed directories are visible when opening via the file chooser. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Without flex:1, the scroll container only takes the width of its tab contents, placing the "+" button immediately after the last tab. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update all subagent_type references from "vync-translator" to "vync:vync-translator" to match marketplace naming convention. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- CLAUDE.md: add Electron bundle sync instructions - ARCHITECTURE.md: add diff pipeline section, file discovery endpoint, EADDRINUSE recovery flow, code signing note - PLAN.md: add post-MVP sections (diff pipeline, server lifecycle, code signing, tab bar fix) - FUTURE.md: fix relative link path - WRAP.md: add post-MVP phase naming convention - Add tab-add-button fix plan document Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat(desktop): register UTI for .vync file type Add UTExportedTypeDeclarations (com.vync.canvas) to electron-builder config so macOS properly recognizes .vync as a known file type. This ensures double-click file association works reliably after DMG install. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(cli): add vync open . for directory discovery vync open without args or with "." now discovers .vync files in the current directory (CWD + CWD/.vync/, 1 level deep, ignoring node_modules/.git). Single file opens directly; multiple files show a numbered selection prompt with "a" for all. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: add file association UX roadmap (P2/P3) to FUTURE.md Document deferred items: first-run dialog for default app setup (P2) and custom .vync file icon (P3). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
- fix(ui): tab bar dropdown clipping + left-aligned "+" button - feat(server): GET /api/files/discover endpoint - feat(ui): file discovery connected to tab bar dropdown - fix(server): Express 5 named path parameter - fix(electron): show hidden files in file open dialog - fix(plugin): fully qualified vync-translator subagent type - chore: clean up archived docs, completed plans, and examples - docs: update architecture, decisions, CLAUDE.md for discovery
- Move completed plan docs to docs/archive/ (server-lifecycle, diff-pipeline) - Add document package transition plan (docs/plans/2026-03-12) - Update FUTURE.md with document package section (§6, 미결정) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add UTExportedTypeDeclarations (com.vync.canvas) to electron-builder config so macOS properly recognizes .vync as a known file type. This ensures double-click file association works reliably after DMG install.
vync open without args or with "." now discovers .vync files in the current directory (CWD + CWD/.vync/, 1 level deep, ignoring node_modules/.git). Single file opens directly; multiple files show a numbered selection prompt with "a" for all.
Document deferred items: first-run dialog for default app setup (P2) and custom .vync file icon (P3).