Changeset 0.21.4 (#90)
This commit is contained in:
@@ -88,7 +88,7 @@ v0.21.1 Workspace ✅ v0.21.3 Surface Infra ✅
|
||||
v0.21.2 Workspace ✅ v0.21.5 Editor Surface
|
||||
Indexing + Search (Development Mode)
|
||||
│ │
|
||||
v0.21.4 Git v0.21.6 Article Surface
|
||||
v0.21.4 Git ✅ v0.21.6 Article Surface
|
||||
Integration + Document Output
|
||||
└───────┬──────────────┘
|
||||
│
|
||||
@@ -747,15 +747,30 @@ Pure UI architecture. No workspace dependency (parallel development).
|
||||
- [ ] Mobile: mode selector collapses to hamburger/bottom nav (deferred — functions via sidebar on mobile)
|
||||
- [ ] Integration with extension loader (surfaces from manifest — deferred to extension loader update)
|
||||
|
||||
### v0.21.4 — Git Integration
|
||||
### v0.21.4 — Git Integration ✅
|
||||
|
||||
Layer git operations onto workspaces.
|
||||
|
||||
- [ ] `workspaces` additions: git_remote_url, git_branch, git_credential_id, git_last_sync
|
||||
- [ ] `git_credentials` table: auth_type (https_pat/https_basic/ssh_key), encrypted_data (AES-256-GCM)
|
||||
- [ ] Git operations via exec: clone, pull, push, status, diff, commit, log, branch, checkout
|
||||
- [ ] Workspace tools (git-aware): `git_status`, `git_diff`, `git_commit`, `git_log`, `git_branch`
|
||||
- [ ] Post-operation hooks: clone/pull/checkout trigger reconcile + re-index changed files
|
||||
- [x] `workspaces` additions: git_remote_url, git_branch, git_credential_id, git_last_sync
|
||||
- [x] `git_credentials` table: auth_type (https_pat/https_basic/ssh_key), encrypted_data (AES-256-GCM)
|
||||
- [x] Postgres migration (012_v0214_git.sql) + SQLite migration (011_v0214_git.sql)
|
||||
- [x] `models.GitCredential`, `GitCredentialSummary`, `GitStatus`, `GitFileStatus`, `GitLogEntry`
|
||||
- [x] `GitCredentialStore` interface + Postgres/SQLite implementations (Create, GetByID, ListByUser, Delete)
|
||||
- [x] `workspace.GitOps` with exec-based git operations (9 operations)
|
||||
- [x] Credential injection: temp `GIT_ASKPASS` (PAT), `.git-credentials` (basic), `GIT_SSH_COMMAND` (SSH)
|
||||
- [x] Security: reject file:// URLs, sanitize error output, GIT_TERMINAL_PROMPT=0
|
||||
- [x] Clone, Pull, Push, Status, Diff, Commit, Log, BranchList, Checkout
|
||||
- [x] `SetGitLastSync` on WorkspaceStore interface + both implementations
|
||||
- [x] Post-operation reconcile + re-index hook (clone, pull, checkout)
|
||||
- [x] 5 git tools: git_status, git_diff, git_commit, git_log, git_branch
|
||||
- [x] Git tools filtered out when no workspace bound (completion handler)
|
||||
- [x] 9 git API endpoints on /api/v1/workspaces/:id/git/*
|
||||
- [x] 3 credential CRUD endpoints on /api/v1/git-credentials
|
||||
- [x] Wired in main.go: GitOps creation, tool registration, route registration
|
||||
- [ ] Workspace settings UI: git config section (deferred to frontend sprint)
|
||||
- [ ] User Settings: git credentials management UI (deferred to frontend sprint)
|
||||
- [ ] Integration tests: clone, commit, push/pull cycle (requires git binary in CI)
|
||||
- [ ] `.gitignore` respect in workspace indexing (deferred to v0.21.5+)
|
||||
|
||||
### v0.21.5 — Editor Surface (Development Mode)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user