feat: file association UX (UTI + vync open .)#12
Merged
PresenceWith merged 3 commits intodevelopfrom Mar 12, 2026
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 <noreply@anthropic.com>
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>
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>
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 <noreply@anthropic.com>
* test: add failing tests for GET /api/files/discover endpoint
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* 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 <noreply@anthropic.com>
* 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 <noreply@anthropic.com>
* 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 <noreply@anthropic.com>
* 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 <noreply@anthropic.com>
* 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 <noreply@anthropic.com>
* 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 <noreply@anthropic.com>
* 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 <noreply@anthropic.com>
* 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 <noreply@anthropic.com>
* 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 <noreply@anthropic.com>
* 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 <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>
* 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 <noreply@anthropic.com>
---------
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.
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