Commit Graph

5 Commits

Author SHA1 Message Date
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 8bbc0dc0eb fix: push files via Git LFS instead of raw blobs
Binary files (.glb, .gltf, .png, .jpg, .jpeg, .webp) were pushed as raw
Git blobs via Octokit, bypassing Git LFS. This caused LFS-tracked repos
to see all files as modified after git pull, requiring spurious commits.

Now the bot uploads binaries to the LFS server via the Batch API and
stores LFS pointer files in the Git tree. Also fixes getRemoteFolder()
to read the real file size from LFS pointers instead of the pointer size.
2026-04-15 09:38:05 +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 e9ae6ffc41 debut refacto 2026-04-14 14:18:40 +02:00