-
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