Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: add missing S3 region for lith — paintings not saving

Netlify's Lambda runtime provided a default AWS_REGION. On lith (plain
Node.js), the AWS SDK throws "Region is missing" which broke presigned
URL generation and all S3 operations that omitted it.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+12 -5
+1
system/backend/database.mjs
··· 257 257 258 258 const s3User = new S3Client({ 259 259 endpoint: "https://" + process.env.USER_ENDPOINT, 260 + region: "us-east-1", 260 261 credentials: { 261 262 accessKeyId: process.env.ART_KEY, 262 263 secretAccessKey: process.env.ART_SECRET,
+1
system/netlify/functions/bdf-glyph.js
··· 32 32 ? null 33 33 : new S3Client({ 34 34 endpoint: "https://" + process.env.ART_ENDPOINT, // Same as 'assets' 35 + region: "us-east-1", 35 36 credentials: { 36 37 accessKeyId: process.env.ART_KEY, // Same for 'assets' 37 38 secretAccessKey: process.env.ART_SECRET, // Same for 'assets'
+1
system/netlify/functions/delete-erase-and-forget-me.mjs
··· 26 26 27 27 const s3User = new S3Client({ 28 28 endpoint: "https://" + process.env.USER_ENDPOINT, 29 + region: "us-east-1", 29 30 credentials: { 30 31 accessKeyId: process.env.ART_KEY, 31 32 secretAccessKey: process.env.ART_SECRET,
+8 -5
system/netlify/functions/presigned-url.js
··· 65 65 66 66 s3Guest = new S3Client({ 67 67 endpoint, 68 + region: "us-east-1", 68 69 credentials: { accessKeyId, secretAccessKey }, 69 70 }); 70 71 71 72 s3Wand = new S3Client({ 72 73 endpoint: "https://" + (process.env.WAND_ENDPOINT || "sfo3.digitaloceanspaces.com"), 74 + region: "us-east-1", 73 75 credentials: { accessKeyId, secretAccessKey }, 74 76 }); 75 77 76 78 s3User = new S3Client({ 77 79 endpoint: "https://" + (process.env.USER_ENDPOINT || "sfo3.digitaloceanspaces.com"), 80 + region: "us-east-1", 78 81 credentials: { accessKeyId, secretAccessKey }, 79 82 }); 80 83 ··· 198 201 199 202 let mimeType; 200 203 if (extension === "png") mimeType = "image/png"; 201 - if (extension === "zip") mimeType = "application/zip"; 202 - if (extension === "mjs") mimeType = "application/javascript; charset=utf-8"; 203 - if (extension === "lisp") mimeType = "text/x-lisp; charset=utf-8"; 204 - if (extension === "lua") mimeType = "text/x-lua; charset=utf-8"; 205 - if (extension === "mp4") mimeType = "video/mp4"; 204 + if (extension === "zip") mimeType = "application/zip"; 205 + if (extension === "mjs") mimeType = "application/javascript; charset=utf-8"; 206 + if (extension === "lisp") mimeType = "text/x-lisp; charset=utf-8"; 207 + if (extension === "lua") mimeType = "text/x-lua; charset=utf-8"; 208 + if (extension === "mp4") mimeType = "video/mp4"; 206 209 if (extension === "json") mimeType = "application/json"; 207 210 if (extension === "gltf") mimeType = "model/gltf+json"; 208 211 if (extension === "glb") mimeType = "model/gltf-binary";
+1
system/netlify/functions/stretched-paintings.mjs
··· 19 19 if (!s3) { 20 20 s3 = new S3Client({ 21 21 endpoint: "https://" + ENDPOINT, 22 + region: "us-east-1", 22 23 credentials: { 23 24 accessKeyId: process.env.ART_KEY || process.env.DO_SPACES_KEY, 24 25 secretAccessKey: process.env.ART_SECRET || process.env.DO_SPACES_SECRET,