Commit Graph
96 Commits
Author SHA1 Message Date
nobswebdev e1f0d01467 Restore Axios error.message when response body has no API message. 2026-10-18 18:22:15 +02:00
nobswebdev 1826cef8fe Strip metadata in the ExifTool worker during upload preview.
Cache stripped blobs, show original vs stripped metadata tabs, and keep user-facing errors on fixed store messages with console logging for diagnostics.
2026-10-18 18:02:49 +02:00
nobswebdev 18597f4127 Add upload queue UI with ExifTool metadata preview on pick.
Users can select images within configured limits, see per-row load status, and inspect raw ExifTool output before upload work continues.
2026-10-17 21:39:59 +02:00
nobswebdev 5b6304709e Serialize ExifTool work in the worker with a FIFO job queue.
Overlapping parseMetadata calls on one WASM instance caused wrong metadata when multiple files were read in parallel; callers can still postMessage concurrently.
2026-10-15 20:43:22 +02:00
nobswebdev e10341d44b Patch zeroperl-ts so worker WASM load honors custom fetch.
Postinstall updates @6over3/zeroperl-ts and wires the worker to load zeroperl.wasm via Vite ?url.
2026-10-15 18:57:43 +02:00
nobswebdev 42f9a3eafc Wire metadata previews through ExifTool store with friendly status messages.
Prefetch ExifTool on upload mount and track pending/loading/ready per file for batch preview loads.
2026-10-15 17:18:25 +02:00
nobswebdev b47c5c7696 Add ExifTool worker and Pinia store for off-thread metadata reads.
Warm up WASM in a dedicated worker with a tiny JPEG probe and expose init/read RPC to the main thread.
2026-10-15 17:18:21 +02:00
nobswebdev 321c67fa3d Add metadata Pinia store for ExifTool queue preview reads.
Introduce preview entry types, resolveErrorMessage, and nullcart-style resolveAxiosErrorMessage for upcoming upload API errors.
2026-10-13 22:18:48 +02:00
nobswebdev e89f76a673 Pin @uswriting/exiftool and patch exit-0 stderr guard on install.
Postinstall removes upstream guards that mark parseMetadata failed when stderr is non-empty after success; Docker dev image copies patches before npm ci.
2026-10-13 21:07:04 +02:00
nobswebdev 686a80e988 Merge pull request 'Slave/upload api' (#5) from slave/upload-api into master
Reviewed-on: #5
2026-10-12 20:12:15 +00:00
nobswebdev 8b42dbb962 Use Node 22 in dev Docker images for file-type v22. 2026-10-12 21:45:44 +02:00
nobswebdev bffb6de145 Align frontend env with single-image upload validation limits. 2026-10-12 20:18:43 +02:00
nobswebdev d4529376c6 Add single-image zk and hotlink upload API with service tests.
Replace batch DTOs with per-mode endpoints, persist ciphertext with file-type
checks, and return a hashed delete token for future revocation.
2026-10-12 20:18:40 +02:00
nobswebdev 7f99256863 Verify ALTCHA before upload body parse with single-use replay store.
Run challenge TTL and replay tracking in middleware, remove the guard, and
wire ScheduleModule for pruning used solutions.
2026-10-12 20:18:36 +02:00
nobswebdev 96383a7426 Restructure upload validation env and colocate config types.
Move app config shapes under types/config, replace batch upload env vars with
per-image bytes and JSON body padding, and extend IsBase64 for decoded limits.
2026-10-12 20:18:22 +02:00
nobswebdev 4b7f8459cb Align frontend env with validation limits and axios plugin.
Flatten share/API config keys, nest validation limits only, and move the HTTP client to plugins/axios.
2026-10-07 00:36:16 +02:00
nobswebdev c762223200 Add zk and hotlink upload create DTOs with batch options.
Split item shapes, array caps from config, and password-protected zk item transform.
2026-10-07 00:36:16 +02:00
nobswebdev fa36b27d1b Add isBase64 and NullOr validators for upload DTOs.
Include toBase64 helper and focused specs for base64 and null-or field rules.
2026-10-07 00:36:13 +02:00
nobswebdev 493843cc42 Move upload caps into validation config env vars.
Replace MAX_IMAGES_PER_UPLOAD with VALIDATION_UPLOAD_* limits mirrored on the frontend VITE_* names.
2026-10-07 00:36:10 +02:00
nobswebdev 1f47cf051f Merge pull request 'Slave/altcha throttle' (#4) from slave/altcha-throttle into master
Reviewed-on: #4
2026-10-06 17:55:44 +00:00
nobswebdev 64180d21e7 validate env booleans as true/false strings only.
Avoid @IsBoolean with implicit conversion mismatching isEnabled(); add tests and shared BOOLEAN_STRING_VALUES.
2026-10-06 19:44:31 +02:00
nobswebdev b16678bf74 add dockerignore for backend and frontend dev images.
Prevent copying host node_modules, dist, and build artifacts into Docker build context.
2026-10-06 19:44:13 +02:00
nobswebdev e50c71e549 update .env.example with ALTCHA and throttle variables.
Add default THROTTLE_TTL_MS and THROTTLE_LIMIT; remove obsolete hotlink throttle env keys.
2026-10-06 19:06:32 +02:00
nobswebdev 7e4a889b50 add upload rate limiter per IP to backend.
Nest throttler with nullcart-style default profile and upload override via throttleProfiles.
2026-10-06 18:59:44 +02:00
nobswebdev 84f8a85214 add ALTCHA verification guard for uploads.
Verify body.altcha when ALTCHA_ENABLED; export AltchaGuard only. Drop unused StorageModule export.
2026-10-06 15:04:31 +02:00
nobswebdev 87376ea37f add ALTCHA challenge endpoint and env config.
GET /api/altcha/challenge, nullcart-style env validation, and ALTCHA_ENABLED wiring.
2026-10-05 23:53:28 +02:00
nobswebdev edd97c17f7 Merge pull request 'Slave/db storage' (#3) from slave/db-storage into master
Reviewed-on: #3
2026-10-05 21:15:04 +00:00
nobswebdev a8070da39d add local ciphertext storage module to backend.
Bind-mount backend/uploads in dev; path helpers with traversal guards and Jest coverage for StorageService.
2026-10-05 23:01:31 +02:00
nobswebdev fb1cb1d6b0 add migration and entities for uploads upload_zk upload_hotlink. 2026-10-05 22:14:26 +02:00
nobswebdev 64041aa9a8 add TypeORM postgres config and migration runner. 2026-10-05 20:54:50 +02:00
nobswebdev ca8233eb5a Merge pull request 'Slave/frontend shell' (#2) from slave/frontend-shell into master
Reviewed-on: #2
2026-10-05 14:25:43 +00:00
nobswebdev 7bf4a851aa add VITE share and API vars to env example. 2026-09-28 14:55:56 +02:00
nobswebdev ceeaea2120 add Pinia axios and VITE config to frontend. 2026-09-28 14:55:56 +02:00
nobswebdev a7dac01168 add vue-router and empty upload viewer delete views. 2026-09-28 14:55:21 +02:00
nobswebdev 0d1b9c0d40 add Tailwind and design tokens to frontend.
Tailwind v4 via Vite plugin, theme tokens in main.css, and VS Code hints for v4 at-rules.
2026-09-28 14:24:57 +02:00
nobswebdev 479eafac63 Merge pull request 'Slave/scaffold dev docker' (#1) from slave/scaffold-dev-docker into master
Reviewed-on: #1
2026-09-27 21:43:50 +00:00
nobswebdev 8287fa4aae add dev quickstart to README.
Document env copy, no-cache compose build, and local npm install for editors.
2026-09-27 23:28:31 +02:00
nobswebdev 559ba6c4b5 add frontend Docker dev service on port 5173.
Vite hot reload via src bind mount; starts after backend health check passes.
2026-09-27 23:25:34 +02:00
nobswebdev cb0eed2e01 add Prettier config from nullcart.
Editor format-on-save uses root .prettierrc; align App.vue indentation.
2026-09-27 23:16:11 +02:00
nobswebdev 3ed8510aa9 add Vite Vue 3 TypeScript frontend skeleton.
Minimal home view and dev server on port 5173 for later Docker wiring.
2026-09-27 23:12:01 +02:00
nobswebdev 572844bc73 add backend Docker dev service with hot reload.
Wire Nest into dev compose with src bind mount and health-check probe.
2026-09-27 23:06:19 +02:00
nobswebdev a785ce775f add NestJS skeleton and GET /api/health-check.
Thin API bootstrap with config module and nullcart-style health route for Docker checks.
2026-09-27 23:05:28 +02:00
nobswebdev aff4d2cc6f add deploy scripts and Tor skeleton from nullcart.
Prod deploy, cert bootstrap/issue/renew, and onion hostname helper for docker-compose.prod.
2026-09-27 22:52:58 +02:00
nobswebdev 4cb44e4582 add .env.example and docker-compose.dev.yml for local dev.
Postgres 16, pgAdmin 8, and env placeholders for backend, ALTCHA, and throttles.
2026-09-27 22:49:17 +02:00
nobswebdev 90c2bbdbdd add monorepo layout and root README 2026-09-27 22:29:19 +02:00
nobswebdev 6bc8c2f92b init Readme 2026-09-27 18:17:47 +02:00