nobswebdev
bd456451a4
Remove NEVER_MODE_INACTIVITY_DAYS env variable as idea of cleanup of inactive images changed
2026-10-21 15:03:53 +02:00
nobswebdev
d82d451448
Extract upload dropzone and queue UI with shared pick validation utils.
2026-10-20 22:20:16 +02:00
nobswebdev
47361a83b9
add optional Argon2id password wrap for zk uploads.
...
Wrap the image DEK for password-protected batches, keep the URL fragment as a separate secret, and extend prepare/decrypt helpers with tests.
2026-10-20 18:31:33 +02:00
nobswebdev
4376ed7ff1
Expand Vitest coverage for shared frontend utils.
...
Cover Axios error message extraction, generic error fallbacks, ArrayBuffer views used by Web Crypto, and share URL builders.
2026-10-19 23:05:46 +02:00
nobswebdev
afbd5e204c
Add client-side ZK and hotlink upload crypto with Pinia store.
...
Encrypt image bytes in the browser, keep keys out of POST bodies (URL fragment or path secret), and POST ciphertext via typed upload API helpers.
2026-10-19 23:05:33 +02:00
nobswebdev
0238858c8b
add frontend AES-GCM and base64 helpers with Vitest coverage.
2026-10-19 03:00:03 +02:00
nobswebdev
f2987da2fe
update upload validation to use shared AES-GCM size constants on the backend.
2026-10-19 02:59:52 +02:00
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
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
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
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
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
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