Tom Boullay
d049318a73
refactor: consolidate upload helpers
2026-04-27 17:20:54 +02:00
Tom Boullay
43cf48cc7d
chore: remove legacy blender compression path
2026-04-27 17:20:13 +02:00
Tom Boullay
473fa0f6e1
fix: apply opacity maps in preview
2026-04-27 17:19:21 +02:00
Tom Boullay
2a7be1dd52
style: align model stats helper
2026-04-27 17:12:11 +02:00
Tom Boullay
77bdb7748b
docs: document model stats helper
2026-04-27 17:10:18 +02:00
Tom Boullay
d9c47c16eb
feat: add model stats helper to viewer
2026-04-27 17:04:38 +02:00
Tom Boullay
3244b70bbf
feat: support opacity maps in gltf preview
2026-04-27 14:47:36 +02:00
Tom Boullay
4c3a687ff8
fix: support gltf uploads with local preview
2026-04-27 11:07:16 +02:00
Tom Boullay
078e687e86
style: improve verification button state
2026-04-24 17:53:24 +02:00
Tom Boullay
04ad0b136b
style: emphasize upload progress message
2026-04-24 17:51:35 +02:00
Tom Boullay
71bcf2b36d
refactor: stage uploads before drive and git delivery
2026-04-24 17:41:38 +02:00
Tom Boullay
53c4c0ed60
fix: prevent duplicate uploads and group asset commits
2026-04-24 16:58:49 +02:00
Tom Boullay
fe8a6f0f54
refactor: simplify upload UI and enforce glb-only preview
2026-04-24 16:40:55 +02:00
Tom Boullay
944959fc22
refactor: simplify upload rules and remove destination flow
2026-04-24 16:23:02 +02:00
Tom Boullay
61a0146545
update: drag and drop + compression des textures
2026-04-24 15:37:45 +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
616eb26206
fix: add curl to Docker image for Coolify healthcheck
2026-04-14 18:41:54 +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
110d64ec33
fix: some bugs
2026-04-14 16:57:23 +02:00
Tom Boullay
3a7a5e2eea
upadte: clean code + add next cloud
2026-04-14 16:21:37 +02:00
Tom Boullay
3adcf9d30e
fix: skip model size comparison in diff check (Blender compression changes size)
...
Models are always re-pushed server-side since Draco compression changes
the file size, making client/remote size comparison unreliable.
Textures are still compared by size (not compressed, reliable).
Client-side diff now only flags models as 'new' if absent from remote,
and never as 'changed' (server handles the actual push decision).
2026-04-14 14:48:59 +02:00
Tom Boullay
91eaa5d186
fix: replace SHA comparison with file size for LFS compatibility + add NoChangesModal
...
Git LFS stores pointer files whose SHA differs from the actual blob SHA,
causing false-positive diffs on every upload. Switching to file size
comparison resolves this for LFS-enabled repos.
Also replaces the inline error message with a dedicated NoChangesModal
when no differences are detected, offering cancel (reset) or modify
(close modal) actions.
2026-04-14 14:39:19 +02:00
Tom Boullay
f9e15d5e1f
fin du refactp
2026-04-14 14:27:50 +02:00
Tom Boullay
e9ae6ffc41
debut refacto
2026-04-14 14:18:40 +02:00
Tom Boullay
ab9685b6ee
upatde: dockerfile init blender
2026-04-14 14:06:04 +02:00
Tom Boullay
2b3d02e489
update: add gestion erreur si dossier est existant
2026-04-14 13:26:49 +02:00
Tom Boullay
c795082ca4
fix: one commit
2026-04-14 12:17:06 +02:00
Tom Boullay
76d9c21929
upatde: add docker for coolify
2026-04-14 11:18:53 +02:00
Tom Boullay
0a3d159bad
update: remove docker
2026-04-14 10:54:43 +02:00
Tom Boullay
58826ac98a
Update layout.tsx
2026-04-05 12:45:51 +02:00
Tom Boullay
348e281ee6
fix: issue on viewer
2026-04-05 12:32:38 +02:00
Tom Boullay
adeca383bc
update: fix packages
2026-04-03 13:45:23 +02:00
Tom Boullay
7ce3d61110
update: add a gltf viewer
2026-04-03 11:32:56 +02:00
Tom Boullay
a44cd5dab3
Update README.md
2026-04-03 10:43:24 +02:00
Tom Boullay
9e27a64ae5
Update README.md
2026-04-03 10:42:40 +02:00
Tom Boullay
5007a255da
update: add gitgnore
2026-04-03 10:41:56 +02:00
Tom Boullay
a730946ad2
init du repo
2026-04-03 10:22:24 +02:00
Tom Boullay
929b1075d4
Initial commit
2026-04-03 10:18:14 +02:00