c9914191d8
feat: allow updating existing CV branches
2026-04-04 11:29:46 +02:00
15d5ef6ac6
fix: cascade public assets on version deletion
2026-04-04 11:25:50 +02:00
95c81955c9
fix: remove public assets before deleting branch
2026-04-04 11:23:48 +02:00
Claude
1b11cdf25c
Fix document loading: circular FK, patch validation 500, and token expiry redirect
...
- documents.py: fix root_version_id never being saved due to SQLAlchemy
deferring the circular FK (CvDocument↔CvVersion). Use flush-based approach:
flush doc, flush version, then set root_version_id before final commit.
- config.py: add validator to coerce empty MINIO_ENDPOINT string to None,
preventing boto3 ValueError: Invalid endpoint at startup.
- versions.py: catch PatchValidationError and return 422 instead of 500
when a patch violates ATS guard rules.
- api.ts: on 401, clear stale OIDC cookies and redirect to /login instead
of showing the "Failed to load documents" error.
https://claude.ai/code/session_01KKbzWYz8fLyG2qcwiDZ8fy
2026-04-04 07:43:00 +00:00
copilot-swe-agent[bot]
5d815cd24d
feat: add mobile support, delete CV/branch, and fix DOCX export with patches
...
Agent-Logs-Url: https://github.com/velocitatem/cvfs/sessions/4d754ed6-7f63-44e0-8689-123d7a70595f
Co-authored-by: velocitatem <60182044+velocitatem@users.noreply.github.com >
2026-04-03 14:45:54 +00:00
Claude
01f34915f6
feat(dashboard): complete CV branching dashboard with auth and full editing workflow
...
- Visual branch heritage tree with colored dots and connecting lines, depth-aware expand/collapse
- Dashboard 3-tab layout: Content (inline block editing + patch staging), Patches (diff view), Submissions (AI suggestions)
- Inline block editing: click to edit any CV block, stage edits, save as named branch with pre-filled patches
- Submissions tab: create applications, request AI tailoring suggestions, accept/reject per suggestion
- Simple hardcoded login (username/password via env vars LOGIN_USER/LOGIN_PASS, defaults admin/admin)
- Authentik OIDC integration: authorize redirect + callback exchange, configurable via NEXT_PUBLIC_AUTHENTIK_*
- Middleware protecting /dashboard with session cookie verification (HMAC-SHA256)
- Auth API routes: /api/auth/login, /api/auth/logout, /api/auth/callback, /api/auth/token
- Backend: GET/PATCH submission routes for listing submissions and accepting/rejecting AI suggestions
- API client: OIDC bearer token forwarding from client-readable cookie
https://claude.ai/code/session_01CdisLhbC2kVt2hxfJ7TNPf
2026-04-03 13:45:51 +00:00
abf424779d
fix(db): ensure patches are eager-loaded when creating a new branch
2026-04-02 21:06:45 +02:00
3ebe9d3fb8
fix(db): resolve ambiguous foreign key relationships in join queries
2026-04-02 21:04:24 +02:00
1ff7c5b23a
fix(db): specify ON conditions in publication queries to avoid ambiguous foreign keys
2026-04-02 20:57:07 +02:00
0d1020e503
fix(db): ensure versions and patches are loaded when returning created document
2026-04-02 20:55:59 +02:00
30cb18b55e
Finish MVP and dockerize
2026-04-02 19:15:47 +02:00