kitchen/frontend
jtricerolph bcc94024e3 Pre-deploy security/correctness fixes (port log E17)
- Remove dead kitchen->KDS internal API (api/internal.py, verify_internal_secret)
  — KDS reads kitchen_db directly (E16), nothing ever called this endpoint
- Add expires_at to dispute_attachments; public attachment links now expire
  after 30 days instead of staying valid forever (A4)
- Add services/upload_validation.py: sniff real file content via python-magic
  instead of trusting the client-supplied Content-Type header, plus a 20MB
  cap. Applied across invoices/logbook/food_flags/credit_notes/disputes
  upload endpoints (A5) — disputes previously had no file-type check at all
- Fix nginx client_max_body_size drift (800m -> the plan's intended 20m)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 14:44:58 +00:00
..
node_modules Initial kitchen scaffold — Phase 1 kitchen port (build-verified 2026-07-11) 2026-07-12 12:15:39 +00:00
public Update pdf.worker.min.mjs to match pdfjs-dist 5.7.284 2026-07-12 21:37:27 +00:00
src Add iOS install hint + Apple PWA meta tags, fix missing beforeinstallprompt handler 2026-08-06 14:12:12 +00:00
Dockerfile Initial kitchen scaffold — Phase 1 kitchen port (build-verified 2026-07-11) 2026-07-12 12:15:39 +00:00
index.html Add iOS install hint + Apple PWA meta tags, fix missing beforeinstallprompt handler 2026-08-06 14:12:12 +00:00
nginx.conf Pre-deploy security/correctness fixes (port log E17) 2026-08-06 14:44:58 +00:00
package-lock.json Initial kitchen scaffold — Phase 1 kitchen port (build-verified 2026-07-11) 2026-07-12 12:15:39 +00:00
package.json Initial kitchen scaffold — Phase 1 kitchen port (build-verified 2026-07-11) 2026-07-12 12:15:39 +00:00
tsconfig.json Initial kitchen scaffold — Phase 1 kitchen port (build-verified 2026-07-11) 2026-07-12 12:15:39 +00:00
vite.config.ts Initial kitchen scaffold — Phase 1 kitchen port (build-verified 2026-07-11) 2026-07-12 12:15:39 +00:00