feat: file association UX (UTI + vync open .)#12
Merged
Conversation
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 <[email protected]>
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 <[email protected]>
Document deferred items: first-run dialog for default app setup (P2) and custom .vync file icon (P3). Co-Authored-By: Claude Opus 4.6 <[email protected]>
PresenceWith
added a commit
that referenced
this pull request
Mar 12, 2026
* fix(ui): separate tab scroll container to prevent dropdown clipping 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 <[email protected]> * test: add failing tests for GET /api/files/discover endpoint Co-Authored-By: Claude Opus 4.6 <[email protected]> * feat(server): add GET /api/files/discover endpoint 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 <[email protected]> * feat(ui): connect file discovery to tab bar dropdown 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 <[email protected]> * docs: update architecture, decisions, and CLAUDE.md for discovery endpoint - 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 <[email protected]> * chore: clean up archived docs, completed plans, and examples 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 <[email protected]> * fix(server): use named path parameter for Express 5 catch-all route 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 <[email protected]> * fix(electron): show hidden files in file open dialog 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 <[email protected]> * fix(ui): remove flex:1 from tab-scroll for left-aligned "+" button 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 <[email protected]> * fix(plugin): use fully qualified vync:vync-translator subagent type Update all subagent_type references from "vync-translator" to "vync:vync-translator" to match marketplace naming convention. Co-Authored-By: Claude Opus 4.6 <[email protected]> * docs: update project documentation for post-MVP status - 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 <[email protected]> * feat: file association UX (UTI + vync open .) (#12) * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> --------- Co-authored-by: Claude Opus 4.6 <[email protected]> * docs: archive completed plans and add document package proposal - 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 <[email protected]> --------- Co-authored-by: Claude Opus 4.6 <[email protected]>
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.
Summary
com.vync.canvas를electron-builder.yml에 선언하여 macOS가.vync를 알려진 파일 타입으로 인식 → DMG 설치 후 더블클릭 파일 연결 보장vync open .: 인자 없이 또는.으로 실행 시 CWD + CWD/.vync/ 에서 .vync 파일 자동 발견. 1개면 바로 열기, 여러 개면 번호 선택 ora로 전체 열기Test plan
vync open .수동 테스트 — 파일 발견 + 선택 동작 확인🤖 Generated with Claude Code