Commit Graph

  • 402e9df255 Move About page static images out of /about to fix nginx 403. master nobswebdev 2026-10-31 05:33:49 +01:00
  • da2d020a45 Show ExifTool WASM download progress on upload queue rows. nobswebdev 2026-10-31 04:14:55 +01:00
  • 9696c85a8e Cache zeroperl.wasm in the ExifTool worker after first fetch. nobswebdev 2026-10-31 00:17:12 +01:00
  • c95af9576f Improve upload metadata status copy and stack status lines on all widths. nobswebdev 2026-10-31 00:10:18 +01:00
  • 5562ad95cc Merge pull request 'Precompress ExifTool WASM with Brotli and serve via nginx brotli_static.' (#14) from slave/wasm-load-optimization into master nobswebdev 2026-10-30 22:33:33 +00:00
  • 32cd1bdb9e Precompress ExifTool WASM with Brotli and serve via nginx brotli_static. nobswebdev 2026-10-30 23:32:16 +01:00
  • a5f6afdc22 Merge pull request 'Slave/ui polishing' (#13) from slave/ui-polishing into master nobswebdev 2026-10-30 19:49:54 +00:00
  • 26899fdf66 add full-page drag hint overlay for file drop on upload. nobswebdev 2026-10-30 20:43:18 +01:00
  • 88bc0111de reorder about page sections with host comparison first. nobswebdev 2026-10-30 19:07:45 +01:00
  • 946cf21110 add preview thumbnail to metadata inspector and share links. nobswebdev 2026-10-30 18:54:56 +01:00
  • 1298e05010 show metadata inspector tabs when strip fails. nobswebdev 2026-10-30 18:37:02 +01:00
  • 19a8feff19 add not-found handling to ZK and hotlink viewer pages. nobswebdev 2026-10-30 17:43:29 +01:00
  • bb08bb389f make upload and metadata UI responsive on mobile. nobswebdev 2026-10-30 16:23:09 +01:00
  • 938229eeea add thumbnail preview for each queued image. nobswebdev 2026-10-29 22:31:04 +01:00
  • 9cc73e0dc5 replace upload dropzone with global intake controls. nobswebdev 2026-10-29 21:40:07 +01:00
  • ebe8b9aa2f fix app shell layout so footer stays visible on short pages. nobswebdev 2026-10-29 19:52:47 +01:00
  • ec072f7dda simplify configure upload modal share mode copy. nobswebdev 2026-10-29 19:52:47 +01:00
  • e07049dda9 update about flow diagrams and align prose width with comparison table. nobswebdev 2026-10-29 18:58:37 +01:00
  • 1df2e6a4f7 add site footer with source links and author credit. nobswebdev 2026-10-29 18:58:37 +01:00
  • fa1c2abb51 add about page with features and competitor comparison. nobswebdev 2026-10-29 18:14:18 +01:00
  • eed17c9aab add top navigation with logo upload and about links. nobswebdev 2026-10-29 18:14:15 +01:00
  • 80497177f8 Merge pull request 'Slave/prod deploy' (#12) from slave/prod-deploy into master nobswebdev 2026-10-28 23:22:14 +00:00
  • adb1d7bca9 Fix Onion-Location on SPA responses behind nginx add_header. nobswebdev 2026-10-28 23:12:08 +01:00
  • b97fcc2b20 Add CSP sandbox on nginx hotlink image responses. nobswebdev 2026-10-28 22:38:28 +01:00
  • 4a534a8007 Add production deployment guide and restrict CORS to development. nobswebdev 2026-10-28 22:07:32 +01:00
  • 915d62f09a Trust nginx proxy and drop hotlink response headers from Nest. nobswebdev 2026-10-28 20:56:21 +01:00
  • cb37a1e23c Add prod nginx image with clearnet, onion, and SPA build. nobswebdev 2026-10-28 20:56:21 +01:00
  • 4385a024a8 Add prod compose and backend production image. nobswebdev 2026-10-28 20:56:05 +01:00
  • f5024b84d8 Merge pull request 'Slave/lifecycle' (#11) from slave/lifecycle into master nobswebdev 2026-10-27 21:12:03 +00:00
  • 214fa0f875 Enforce maxViews atomically when reserving a view slot. nobswebdev 2026-10-27 22:09:48 +01:00
  • 3cf1d5e8aa Fix drop lastViewedAt migration order for fresh databases. nobswebdev 2026-10-27 22:09:45 +01:00
  • 29407814cc Add UploadCleanupService for cron purge and delete uploads. nobswebdev 2026-10-27 21:07:01 +01:00
  • 00ef845277 Add DeleteView one-click delete page at /d/:id?token=... nobswebdev 2026-10-27 19:13:40 +01:00
  • c147a010b5 Enforce max views on access and purge after the last allowed view. nobswebdev 2026-10-27 18:30:35 +01:00
  • 9a2bc67b1d Reject expired uploads on ZK and hotlink GET with 404. nobswebdev 2026-10-27 15:30:03 +01:00
  • 481eb0bcd6 Add DELETE /api/uploads/:id with delete_token and unlink ciphertext. nobswebdev 2026-10-27 15:19:25 +01:00
  • 073e6ac1f2 Increment view_count after successful ZK and hotlink GETs. nobswebdev 2026-10-27 14:59:50 +01:00
  • cb8a6a800d Drop lastViewedAt from uploads because inactivity cleanup is out of scope. nobswebdev 2026-10-27 14:55:27 +01:00
  • eda4b8af6e Merge pull request 'Slave/hotlink serve' (#10) from slave/hotlink-serve into master nobswebdev 2026-10-27 13:25:53 +00:00
  • 6407b64f26 Derive API origin from VITE_API_BASE_URL for hotlink image src. nobswebdev 2026-10-27 14:03:30 +01:00
  • dfc52749b2 Add hotlink viewer page at /h/:id/:secret. nobswebdev 2026-10-26 23:06:28 +01:00
  • bf36b1d2aa Restrict hotlink mimeType to image/* and harden image responses. nobswebdev 2026-10-26 23:06:23 +01:00
  • 5db90f02c5 Add GET /i/:id/:secret hotlink image decrypt stream. nobswebdev 2026-10-26 21:47:30 +01:00
  • 4517fe906a Merge pull request 'Slave/zk viewer' (#9) from slave/zk-viewer into master nobswebdev 2026-10-26 19:24:05 +00:00
  • 82cdb6ffa3 Clear ZK viewer secrets and image blob when leaving the page. nobswebdev 2026-10-26 20:22:47 +01:00
  • dc8e576679 add password prompt to ZK viewer for wrapped uploads nobswebdev 2026-10-26 20:06:54 +01:00
  • 112aa99f1e add ViewerView decrypt from URL fragment via view store nobswebdev 2026-10-26 19:13:15 +01:00
  • 65bbc4537b add GET /api/uploads/:id for zk ciphertext JSON nobswebdev 2026-10-26 02:11:57 +01:00
  • 6aa9c7cd61 Merge pull request 'Slave/upload ui' (#8) from slave/upload-ui into master nobswebdev 2026-10-25 22:43:56 +00:00
  • 7b70788dcf Point hotlink viewer links at the viewer page path. nobswebdev 2026-10-25 23:39:33 +01:00
  • ee9f80da5f Remove unused resolveAxiosErrorMessage helper. nobswebdev 2026-10-25 22:23:01 +01:00
  • 42fe209164 Simplify upload modal, dropzone, and settings markup. nobswebdev 2026-10-25 22:00:16 +01:00
  • f5be0a0de3 Show copyable share links after batch upload completes. nobswebdev 2026-10-25 22:00:16 +01:00
  • f305ce7a39 Refactor metadata inspector with shared tab list and output panel. nobswebdev 2026-10-25 22:00:15 +01:00
  • 4e9a3368a6 Persist upload IDs and URL secrets on successful queue entries. nobswebdev 2026-10-25 22:00:05 +01:00
  • 5f6ee193e7 Configure share link origins from clearnet scheme and onion hostname. nobswebdev 2026-10-25 22:00:05 +01:00
  • 95ed6e5f58 Add share URL builders and embed format helpers for uploaded images. nobswebdev 2026-10-25 22:00:01 +01:00
  • b4cc26a632 Polish upload UI for dual queue status and batch confirm flow. nobswebdev 2026-10-23 18:34:17 +02:00
  • 271c2b7b2d Execute batch uploads with metadata gates, encryption, and queue state. nobswebdev 2026-10-23 18:34:13 +02:00
  • fe643d9831 Add client ALTCHA proof-of-work and Vite env flags for uploads. nobswebdev 2026-10-23 18:34:09 +02:00
  • 805665745b Add batch upload configure modal and settings mapping utilities. nobswebdev 2026-10-22 03:14:02 +02:00
  • 3bb3258686 Pin dev Docker images to Node 22.23.4 for October 2026 security fixes. nobswebdev 2026-10-21 17:46:33 +02:00
  • bd456451a4 Remove NEVER_MODE_INACTIVITY_DAYS env variable as idea of cleanup of inactive images changed nobswebdev 2026-10-21 15:03:53 +02:00
  • d82d451448 Extract upload dropzone and queue UI with shared pick validation utils. nobswebdev 2026-10-20 22:20:16 +02:00
  • 3ab66c250c Merge pull request 'Slave/client crypto' (#7) from slave/client-crypto into master nobswebdev 2026-10-20 17:30:03 +00:00
  • 47361a83b9 add optional Argon2id password wrap for zk uploads. nobswebdev 2026-10-20 18:31:33 +02:00
  • 4376ed7ff1 Expand Vitest coverage for shared frontend utils. nobswebdev 2026-10-19 23:05:46 +02:00
  • afbd5e204c Add client-side ZK and hotlink upload crypto with Pinia store. nobswebdev 2026-10-19 23:05:33 +02:00
  • 0238858c8b add frontend AES-GCM and base64 helpers with Vitest coverage. nobswebdev 2026-10-19 03:00:03 +02:00
  • f2987da2fe update upload validation to use shared AES-GCM size constants on the backend. nobswebdev 2026-10-19 02:59:52 +02:00
  • 7b9b8ec107 Merge pull request 'Slave/metadata pipeline' (#6) from slave/metadata-pipeline into master nobswebdev 2026-10-18 16:57:38 +00:00
  • e1f0d01467 Restore Axios error.message when response body has no API message. nobswebdev 2026-10-18 18:22:15 +02:00
  • 1826cef8fe Strip metadata in the ExifTool worker during upload preview. nobswebdev 2026-10-18 18:02:49 +02:00
  • 18597f4127 Add upload queue UI with ExifTool metadata preview on pick. nobswebdev 2026-10-17 21:39:59 +02:00
  • 5b6304709e Serialize ExifTool work in the worker with a FIFO job queue. nobswebdev 2026-10-15 20:43:22 +02:00
  • e10341d44b Patch zeroperl-ts so worker WASM load honors custom fetch. nobswebdev 2026-10-15 18:57:43 +02:00
  • 42f9a3eafc Wire metadata previews through ExifTool store with friendly status messages. nobswebdev 2026-10-15 17:18:25 +02:00
  • b47c5c7696 Add ExifTool worker and Pinia store for off-thread metadata reads. nobswebdev 2026-10-15 17:18:21 +02:00
  • 321c67fa3d Add metadata Pinia store for ExifTool queue preview reads. nobswebdev 2026-10-13 22:18:48 +02:00
  • e89f76a673 Pin @uswriting/exiftool and patch exit-0 stderr guard on install. nobswebdev 2026-10-13 21:07:04 +02:00
  • 686a80e988 Merge pull request 'Slave/upload api' (#5) from slave/upload-api into master nobswebdev 2026-10-12 20:12:15 +00:00
  • 8b42dbb962 Use Node 22 in dev Docker images for file-type v22. nobswebdev 2026-10-12 21:45:44 +02:00
  • bffb6de145 Align frontend env with single-image upload validation limits. nobswebdev 2026-10-12 20:18:43 +02:00
  • d4529376c6 Add single-image zk and hotlink upload API with service tests. nobswebdev 2026-10-12 20:18:40 +02:00
  • 7f99256863 Verify ALTCHA before upload body parse with single-use replay store. nobswebdev 2026-10-12 20:18:36 +02:00
  • 96383a7426 Restructure upload validation env and colocate config types. nobswebdev 2026-10-12 20:18:22 +02:00
  • 4b7f8459cb Align frontend env with validation limits and axios plugin. nobswebdev 2026-10-07 00:36:16 +02:00
  • c762223200 Add zk and hotlink upload create DTOs with batch options. nobswebdev 2026-10-07 00:36:16 +02:00
  • fa36b27d1b Add isBase64 and NullOr validators for upload DTOs. nobswebdev 2026-10-07 00:36:13 +02:00
  • 493843cc42 Move upload caps into validation config env vars. nobswebdev 2026-10-07 00:36:10 +02:00
  • 1f47cf051f Merge pull request 'Slave/altcha throttle' (#4) from slave/altcha-throttle into master nobswebdev 2026-10-06 17:55:44 +00:00
  • 64180d21e7 validate env booleans as true/false strings only. nobswebdev 2026-10-06 19:44:31 +02:00
  • b16678bf74 add dockerignore for backend and frontend dev images. nobswebdev 2026-10-06 19:44:13 +02:00
  • e50c71e549 update .env.example with ALTCHA and throttle variables. nobswebdev 2026-10-06 19:06:32 +02:00
  • 7e4a889b50 add upload rate limiter per IP to backend. nobswebdev 2026-10-06 18:59:44 +02:00
  • 84f8a85214 add ALTCHA verification guard for uploads. nobswebdev 2026-10-06 15:04:31 +02:00
  • 87376ea37f add ALTCHA challenge endpoint and env config. nobswebdev 2026-10-05 23:53:28 +02:00
  • edd97c17f7 Merge pull request 'Slave/db storage' (#3) from slave/db-storage into master nobswebdev 2026-10-05 21:15:04 +00:00
  • a8070da39d add local ciphertext storage module to backend. nobswebdev 2026-10-05 23:01:31 +02:00
  • fb1cb1d6b0 add migration and entities for uploads upload_zk upload_hotlink. nobswebdev 2026-10-05 22:14:26 +02:00