Commit Graph

  • a77c2ddc00 Merge branch 'fix/prod-readiness-healthcheck-domain' main MechaCat02 2026-07-19 18:42:36 +02:00
  • 40c6fd2ccb fix(deploy): unblock production bring-up (healthchecks + Caddy DOMAIN) MechaCat02 2026-07-19 18:42:32 +02:00
  • e69ec4d736 Merge branch 'feat/hide-comments-when-disabled' MechaCat02 2026-07-19 18:27:05 +02:00
  • 3fb1b5d80d feat(comments): hide every comment mention when COMMENTS_ENABLED=false MechaCat02 2026-07-19 18:26:59 +02:00
  • e1ca9d192f Merge branch 'feat/diashow-completeness-display' MechaCat02 2026-07-19 17:53:57 +02:00
  • 5009590882 feat(diashow): guarantee all eligible photos shown + 2048px display derivative MechaCat02 2026-07-19 17:53:53 +02:00
  • d9738a4cb9 Merge branch 'fix/prod-env-hardening' MechaCat02 2026-07-19 16:46:55 +02:00
  • 669a191968 fix(deploy): harden prod env for bcrypt hash and media path MechaCat02 2026-07-19 16:46:38 +02:00
  • a1733b03d5 Merge branch 'feature/diashow-theming-config' MechaCat02 2026-07-19 15:23:04 +02:00
  • 4026648f98 fix(diashow): working transitions + slide/push, fullscreen, activity controls MechaCat02 2026-07-19 15:22:15 +02:00
  • 44641473ea fix(quota): stop /me/quota leaking raw disk to guests MechaCat02 2026-07-19 15:22:03 +02:00
  • 57a907eca5 feat(theme+comments): runtime colour theme and COMMENTS_ENABLED switch MechaCat02 2026-07-19 15:21:55 +02:00
  • 6e0a760271 chore(dev): correct container env in docker-compose.dev.yml MechaCat02 2026-07-19 15:21:44 +02:00
  • 0abf413693 Merge branch 'test/burst-queue' MechaCat02 2026-07-18 19:54:44 +02:00
  • 002355ba40 test(e2e): client upload-queue under a realistic burst MechaCat02 2026-07-18 19:54:36 +02:00
  • 6155b4123d Merge branch 'release/v0.16.0' MechaCat02 2026-07-18 17:29:30 +02:00
  • 7758270cac chore: shared permission allowlist, screenshot script, gitignore MechaCat02 2026-07-18 17:29:20 +02:00
  • 9b8698f86b test(loadtest): 100-guest / 1000-image stress harness MechaCat02 2026-07-18 17:29:20 +02:00
  • 3c3a7d0082 fix(diashow): open SSE on mount; raise upload rate 10→100/hour MechaCat02 2026-07-18 17:29:08 +02:00
  • 3654aca18b feat(export): single-file offline keepsake viewer + guest download MechaCat02 2026-07-18 17:28:54 +02:00
  • f243bfe89a feat(ui): elegant wedding white/silver/gold redesign MechaCat02 2026-07-18 17:28:42 +02:00
  • 5546fb82e6 Merge branch 'fix/mobile-flake-ssr-2026-07-16' fabi 2026-07-16 22:02:43 +02:00
  • e2b7e54af9 test(e2e): fix load-induced mobile flakes (gesture timing + hydration) fabi 2026-07-16 21:15:26 +02:00
  • 15d338eeb8 fix(frontend): render client-side (ssr=false) to close pre-hydration interaction races fabi 2026-07-16 21:15:14 +02:00
  • 461b1eaf65 Merge branch 'chore/lint-and-format-2026-07-15' fabi 2026-07-15 20:46:00 +02:00
  • 460258c451 ci: gate ESLint + Prettier for frontend and e2e fabi 2026-07-15 20:45:59 +02:00
  • bbdfae09a0 chore(e2e): add ESLint + Prettier; fix real findings; dedupe BASE fabi 2026-07-15 20:45:59 +02:00
  • f8cba95e49 chore(frontend): add ESLint + Prettier; fix real findings; format the tree fabi 2026-07-15 20:45:42 +02:00
  • 4d14df18d0 Merge branch 'chore/rustfmt-2026-07-15' fabi 2026-07-15 19:52:17 +02:00
  • ee554e7f38 style(backend): rustfmt the whole tree; gate cargo fmt --check in CI fabi 2026-07-15 19:52:17 +02:00
  • 0fa40ddf80 Merge branch 'fix/edit-upload-keepsake-and-coverage-2026-07-15' fabi 2026-07-15 19:48:31 +02:00
  • c48d43f5b3 test(e2e): cover the untested security lifecycles (PIN reset, logout-all, ban gating, caption) fabi 2026-07-15 19:48:31 +02:00
  • db7c4459d7 fix(upload): editing a caption after release now regenerates the keepsake fabi 2026-07-15 19:48:15 +02:00
  • dd7b05415e Merge branch 'test/admin-login-rate-limit-2026-07-15' fabi 2026-07-15 19:10:41 +02:00
  • d2ad560df2 test(security): prove admin-login rate limit; make its toggle settable fabi 2026-07-15 19:10:41 +02:00
  • d452afb00e Merge branch 'test/suite-audit-2026-07-15' fabi 2026-07-15 07:27:02 +02:00
  • 3f74c65787 ci: run the checks that only ran on a laptop; mobile in CI; retries 0 fabi 2026-07-15 07:26:54 +02:00
  • 02971f3186 test(e2e): de-vacuum security tests; add quota, authz-sweep, keepsake-regen coverage fabi 2026-07-15 07:26:40 +02:00
  • e5201a9889 test(backend): DB-backed tests for the risky SQL; test isolation; clippy cleanup fabi 2026-07-15 07:26:08 +02:00
  • c229b560d8 fix(feed,host): two mis-tap bugs where a live re-render destroys the click target fabi 2026-07-15 07:25:19 +02:00
  • af997a84dd Merge branch 'fix/export-zip-strand-2026-07-14' fabi 2026-07-14 22:50:17 +02:00
  • 2bef6e19ef fix(export): deleting a comment mid-build no longer strands the ZIP forever fabi 2026-07-14 22:50:17 +02:00
  • db88230221 Merge branch 'fix/feed-suggestion-mousedown-2026-07-14' fabi 2026-07-14 22:06:56 +02:00
  • bf68bc08f4 fix(feed): commit filter suggestions on click, not mousedown fabi 2026-07-14 22:06:56 +02:00
  • 38e34fddf1 Merge branch 'chore/deploy-readiness-2026-07-14' fabi 2026-07-14 21:09:53 +02:00
  • 3c683247c0 chore(deploy): expose the export rebuild hatch in the UI; rehearse migration 014 fabi 2026-07-14 21:09:53 +02:00
  • 0447a6ad0e Merge branch 'fix/export-hardening-2026-07-14' fabi 2026-07-14 20:35:47 +02:00
  • 9666d74a46 fix(export): close all 13 findings from the multi-agent review fabi 2026-07-14 20:35:47 +02:00
  • 5affef47cf Merge branch 'refactor/export-epoch-2026-07-14' fabi 2026-07-14 19:48:38 +02:00
  • 8e906d7866 refactor(export): single epoch authority; fix upload-path TOCTOU losing photos fabi 2026-07-14 19:48:38 +02:00
  • 1148c2e906 Merge branch 'fix/export-epoch-2026-07-14' fabi 2026-07-14 07:35:25 +02:00
  • 9f3712894d fix(export): pin export workers to a live release epoch; make reopen atomic fabi 2026-07-14 07:35:25 +02:00
  • c197b2c025 Merge branch 'fix/rereview-export-race-2026-07-13' fabi 2026-07-13 22:05:07 +02:00
  • d643256f36 fix(rereview): close residual export finalize↔flip double-race at reopen fabi 2026-07-13 22:05:06 +02:00
  • 99f79e2898 Merge branch 'fix/rereview-gaps-2026-07-13' fabi 2026-07-13 21:47:47 +02:00
  • df275bbefa fix(rereview): close export-flip race + queue-dedup reload regression fabi 2026-07-13 21:47:44 +02:00
  • 768e712a26 Merge branch 'fix/audit-followup-2026-07-13' fabi 2026-07-13 21:24:03 +02:00
  • 811c724685 fix(audit-followup): close regressions/gaps from the persona-audit re-review fabi 2026-07-13 21:19:51 +02:00
  • c647ddfa6b Merge branch 'fix/user-flow-followups-2026-07-13' fabi 2026-07-13 21:06:33 +02:00
  • 36fe59caa5 fix(user-flow): persona-audit fixes — ban replay, locked-upload data loss, host UX, admin session fabi 2026-07-13 21:06:28 +02:00
  • 641174717c fix(user-flow): close offline-queue, export, session, ban & realtime gaps MechaCat02 2026-07-10 23:05:37 +02:00
  • 16d1f356be Merge branch 'security/audit-2026-07-07' fabi 2026-07-08 06:14:07 +02:00
  • a4b2c5bd1c fix(security): harden authz, media gating, recover, SSE, deps fabi 2026-07-08 06:14:00 +02:00
  • 683b1b6f65 Merge branch 'perf/stability-2026-07-07' fabi 2026-07-07 20:26:52 +02:00
  • d6c91974eb perf(backend): close config/upload/export hot paths + stability fixes fabi 2026-07-07 20:26:45 +02:00
  • 4cdb3ae14a Merge branch 'fix/audit-2026-07-07' fabi 2026-07-07 07:28:32 +02:00
  • faf7a2504a fix(audit): restore broken upload pipeline + role-based E2E audit fixes fabi 2026-07-07 07:28:27 +02:00
  • 14c667c694 Merge branch 'fix/review-2026-07-02-stack' fabi 2026-07-03 07:22:18 +02:00
  • 3f6dafba05 test(review-2): strengthen CR2 export-leak test to drive a real export fabi 2026-07-03 07:19:09 +02:00
  • 0ed97f45cf fix(review-2): address re-review — close two blocker regressions + harden tests fabi 2026-07-02 22:45:57 +02:00
  • b3d876fa85 fix(review-2): medium/low + docs — config validation, hygiene, doc sync fabi 2026-07-02 22:19:56 +02:00
  • 80179357a7 fix(review-2): high — read-only ban model, failed-compression cleanup, live SSE eviction fabi 2026-07-02 22:19:43 +02:00
  • dba4d3f932 fix(review-2): critical — repair comment posting + close export data leak fabi 2026-07-02 22:19:32 +02:00
  • 239459bb91 Merge branch 'fix/review-2026-07-01-hardening' fabi 2026-07-02 20:20:26 +02:00
  • 41ac742af8 test+docs: tighten H1 assertions, cover secret/XFF edges, document boot & SSE-ban fabi 2026-07-02 07:14:33 +02:00
  • a084ba86c5 fix(review): CSP nonce for FOUC script + feed_delta truncation signal fabi 2026-07-01 21:51:08 +02:00
  • 91ff961850 fix(security): medium/low — event-lock, atomic config, a11y, diashow, hygiene fabi 2026-07-01 21:25:58 +02:00
  • f08d858281 fix(security): high — live authz, XFF, SSE buffering, atomicity, pagination fabi 2026-07-01 21:25:50 +02:00
  • 498b4e256b fix(security): critical — repair PIN reset + enforce real prod secrets fabi 2026-07-01 21:25:39 +02:00
  • 5d21b3eefd Merge test/filter-search: grid filter OR/AND coverage (pure fn + unit + e2e) fabi 2026-07-01 20:08:28 +02:00
  • 74849c8d50 test: cover grid filter OR/AND (extract pure fn + unit + real e2e) fabi 2026-07-01 20:08:28 +02:00
  • 6ed0aaf0d7 Merge test/broaden-unit-coverage: quota formula + auth JWT decode unit tests fabi 2026-07-01 19:53:03 +02:00
  • 226e455328 test(unit): broaden coverage — quota formula + auth token/JWT decode fabi 2026-07-01 19:53:03 +02:00
  • 2c44006392 Merge test/review-followups: dedup helpers + XSS render guard + SSE hardening fabi 2026-07-01 19:49:44 +02:00
  • b1e2e66305 test(e2e): address self-review follow-ups (dedup, XSS render guard, SSE hardening) fabi 2026-07-01 19:49:44 +02:00
  • ec64fc361b Merge test/fix-vacuous-429-test: 429 retry test now actually fires fabi 2026-07-01 19:33:28 +02:00
  • 5f523d55fe test(e2e): fix vacuous 429 retry test (route never matched the feed) fabi 2026-07-01 19:33:28 +02:00
  • bbdb45155e Merge test/robustness-cleanup: stable locators + deterministic assertions fabi 2026-07-01 19:24:03 +02:00
  • 564104ae23 test(e2e): robustness — stable locators, exact assertions, no fixed sleep fabi 2026-07-01 19:24:03 +02:00
  • 104c3dde16 Merge test/unit-layer: backend cargo + frontend vitest unit tests fabi 2026-07-01 19:14:33 +02:00
  • 723a492d44 test(unit): add a unit-test layer (backend cargo + frontend vitest) fabi 2026-07-01 19:14:33 +02:00
  • fabc6af656 Merge test/deflake-vacuous-tests: make vacuous feed/SSE tests real fabi 2026-07-01 19:05:53 +02:00
  • 136417d6b4 test(e2e): make vacuous feed/SSE tests assert real behavior fabi 2026-07-01 19:05:53 +02:00
  • d4aa7b4932 Merge test/stored-xss-sse-abuse: stored-XSS + SSE-ticket abuse coverage fabi 2026-07-01 07:34:56 +02:00
  • 8f6e1d4ff7 test(e2e): stored-XSS (caption/comment) + SSE-ticket abuse coverage fabi 2026-07-01 07:34:55 +02:00
  • da586d0978 Merge test/pin-security-assertions: pin security assertions + real IDOR fabi 2026-07-01 07:28:23 +02:00
  • 20125fb713 test(e2e): pin security assertions + real cross-user IDOR coverage fabi 2026-07-01 07:27:22 +02:00
  • 6ccf2d0011 Merge fix/sheet-aria-modal-gating: sheet a11y gating + test-suite hygiene fabi 2026-06-30 22:12:11 +02:00
  • a3c0082c4b test(e2e): update suite for shipped features + gate Chromium-only perms fabi 2026-06-30 22:12:05 +02:00
  • 792a4f0e4b fix(frontend): robust Escape handling + deep-link back navigation fabi 2026-06-30 22:12:05 +02:00