Commit Graph

12 Commits

Author SHA1 Message Date
Tom Boullay 83b2b405b4 feat: add texture diagnostics to viewer 2026-05-17 16:49:24 +02:00
Tom Boullay 606df93b69 fix: harden upload resilience and contracts 2026-05-12 23:49:30 +02:00
Tom Boullay 498765db61 refactor: clean upload pipeline and restore draco delivery 2026-04-29 16:29:32 +02:00
Tom Boullay 9dc0232e4a fix: validate texture asset names server-side 2026-04-28 00:17:28 +02:00
Tom Boullay dddecbb11c chore: prepare v1.0.0 release 2026-04-27 23:43:16 +02:00
Tom Boullay 31c05a35fc fix: canonicalize asset families 2026-04-27 23:35:43 +02:00
Tom Boullay fa77c484f9 fix: enforce asset naming convention 2026-04-27 23:29:47 +02:00
Tom Boullay 5556364601 fix: resolve gltf companion assets reliably 2026-04-27 23:01:29 +02:00
Tom Boullay 4c3a687ff8 fix: support gltf uploads with local preview 2026-04-27 11:07:16 +02:00
Tom Boullay 944959fc22 refactor: simplify upload rules and remove destination flow 2026-04-24 16:23:02 +02:00
Tom Boullay 78f4aa83e0 refactor: full codebase audit — extract modules, fix type safety, clean dead code
- Extract API helpers from UploadZone into lib/upload-api.ts (FormData builder, checkFolderDiffs, uploadDrive, uploadGit)
- Extract upload orchestration into hooks/useUploadOrchestrator.ts (UploadZone: 489 → 162 lines)
- Extract file diff classification into lib/diff-files.ts (from git route)
- Extract shared SVG icons into components/ui/icons.tsx (7 icons, 0 duplication)
- Extract shared modal wrapper into components/ui/Modal.tsx + ModalActions
- Extract DriveStatusLine sub-component from FolderCard
- Fix checkFolderDiffs silently swallowing auth/network errors (now throws)
- Fix type safety: remove as never casts, add isHttpError type guard, use discriminated union for validateFolder
- Fix nextcloud: cache getConfig, add max bound to findNextVersion, optimize mkdirRecursive (skip PROPFIND)
- Fix drive route: remove req.clone(), extend parseMultiUpload to return extra fields
- Fix commit message: model shown as unchanged with ↔️ on updates (not falsely marked as modified)
- Clean dead code: unused folderExists import, FileStatus/DriveStatus exports, ParsedFile.textureName, getConfig basePath
- Add security headers in next.config.ts (HSTS, X-Content-Type-Options, X-Frame-Options, etc.)
- Update README with new project structure
2026-04-14 17:19:10 +02:00
Tom Boullay f9e15d5e1f fin du refactp 2026-04-14 14:27:50 +02:00