2 Commits

Author SHA1 Message Date
twotalesanimation 83aad38053 chore(deploy): store uploads on the Hetzner volume
Deploy / deploy (push) Failing after 1s
Mount /mnt/HC_Volume_105945736/vfxreview-uploads at /app/uploads
instead of ./uploads, so uploads no longer fill the VPS root disk.
The host folder must be owned by uid 1001 (the nextjs user).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 21:13:39 +02:00
twotalesanimation a4d5777e1d fix(shot-status): sort shots by shot code, not shotNumber
Imports and the external API assign shotNumber as max+10 (or 0), which
needn't match the number in the shot code, so new shots could sink to
the bottom of the list. Sort by episode then natural shot-code order.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 05:18:18 +02:00
2 changed files with 14 additions and 6 deletions
+12 -5
View File
@@ -30,14 +30,11 @@ async function getAssignableArtists() {
});
}
const shotCodeCollator = new Intl.Collator(undefined, { numeric: true, sensitivity: "base" });
async function getShotsForProject(projectId: string) {
const shots = await db.shot.findMany({
where: { projectId },
orderBy: [
{ episode: { sort: "asc", nulls: "last" } },
{ scene: "asc" },
{ shotNumber: "asc" },
],
select: {
id: true,
shotCode: true,
@@ -90,6 +87,16 @@ async function getShotsForProject(projectId: string) {
},
});
// Sorted by shot code rather than scene + shotNumber: imports and the
// external API assign shotNumber as "max + 10" (or 0), which needn't match
// the number in the code, so new shots could sink to the bottom.
shots.sort(
(a, b) =>
(a.episode === null ? 1 : 0) - (b.episode === null ? 1 : 0) ||
shotCodeCollator.compare(a.episode ?? "", b.episode ?? "") ||
shotCodeCollator.compare(a.shotCode, b.shotCode)
);
return shots.map(({ exports, ...shot }) => ({
...shot,
delivery: summariseShotDelivery({
+2 -1
View File
@@ -11,7 +11,8 @@ services:
- .env
volumes:
- ./uploads:/app/uploads
# Uploads live on the Hetzner volume, not the root disk (uid 1001 must own it)
- /mnt/HC_Volume_105945736/vfxreview-uploads:/app/uploads
depends_on:
postgres: