• Joined on 2026-03-17
marcel commented on issue marcel/familienarchiv#696 2026-05-31 11:27:44 +02:00
fix(ui): hide write/edit controls from READ_ALL (read-only) users

🛡️ Nora "NullX" Steiner — Application Security Engineer

Observations

  • This issue gets the threat model right, and says so explicitly: **hiding the button is not the control — the…
marcel commented on issue marcel/familienarchiv#696 2026-05-31 11:27:32 +02:00
fix(ui): hide write/edit controls from READ_ALL (read-only) users

👨‍💻 Felix Brandt — Senior Fullstack Developer

Observations

  • Clean implementation. The gate became {#if canUpload} backed by `const canUpload = $derived(Boolean(data?.user &&…
marcel commented on issue marcel/familienarchiv#696 2026-05-31 11:27:24 +02:00
fix(ui): hide write/edit controls from READ_ALL (read-only) users

🏛️ Markus Keller — Application Architect

Observations

  • The layering is exactly right: the issue states up front that backend authz (@RequirePermission(WRITE_ALL) + server-side route…
marcel pushed to feat/issue-696-hide-write-controls at marcel/familienarchiv 2026-05-31 11:22:44 +02:00
944370dcfd refactor(layout): extract canUpload derived for the upload-button gate (#696)
marcel commented on pull request marcel/familienarchiv#699 2026-05-31 11:16:10 +02:00
fix(ui): hide write/edit controls from READ_ALL (read-only) users (#696)

📋 Elicit — Requirements Engineer & Business Analyst

Verdict: ⚠️ Approved with one traceability concern

The change is well-scoped and the implementation matches the stated intent. My…

marcel commented on pull request marcel/familienarchiv#699 2026-05-31 11:15:57 +02:00
fix(ui): hide write/edit controls from READ_ALL (read-only) users (#696)

⚙️ Tobias Wendt — DevOps & Platform Engineer

Verdict: Approved (LGTM)

Nothing in my domain to flag. I checked for the things I always check:

  • No infrastructure surface touched
marcel commented on pull request marcel/familienarchiv#699 2026-05-31 11:15:50 +02:00
fix(ui): hide write/edit controls from READ_ALL (read-only) users (#696)

🎨 Leonie Voss — UX & Accessibility Lead

Verdict: Approved

This is a real UX win, and it's the right fix from a user-journey standpoint. A reader without WRITE_ALL previously saw…

marcel commented on pull request marcel/familienarchiv#699 2026-05-31 11:15:40 +02:00
fix(ui): hide write/edit controls from READ_ALL (read-only) users (#696)

🏛️ Markus Keller — Application Architect

Verdict: Approved

No architectural concerns. This is a leaf-level UI gate plus test coverage — it touches no module boundary, no layer rule,…

marcel commented on pull request marcel/familienarchiv#699 2026-05-31 11:15:30 +02:00
fix(ui): hide write/edit controls from READ_ALL (read-only) users (#696)

🧪 Sara Holt — Senior QA Engineer

Verdict: Approved

The test strategy here is textbook: the behavior is verified at the layer where it lives. UI visibility → component test;…

marcel commented on pull request marcel/familienarchiv#699 2026-05-31 11:15:18 +02:00
fix(ui): hide write/edit controls from READ_ALL (read-only) users (#696)

👨‍💻 Felix Brandt — Senior Fullstack Developer

Verdict: Approved

Clean, disciplined, TDD-shaped change. The fix is a one-token condition tweak, and the tests precede and justify it.…

marcel commented on pull request marcel/familienarchiv#699 2026-05-31 11:15:06 +02:00
fix(ui): hide write/edit controls from READ_ALL (read-only) users (#696)

🛡️ Nora "NullX" Steiner — Application Security Engineer

Verdict: Approved

This is exactly the shape a UI-hardening fix should take: the visual gate is cosmetic, and the real

marcel created pull request marcel/familienarchiv#699 2026-05-31 11:14:09 +02:00
fix(ui): hide write/edit controls from READ_ALL (read-only) users (#696)
marcel commented on issue marcel/familienarchiv#696 2026-05-31 11:13:17 +02:00
fix(ui): hide write/edit controls from READ_ALL (read-only) users

Implemented on feat/issue-696-hide-write-controls

The confirmed leak is closed and the boundary is documented. Three atomic, TDD commits:

marcel opened issue marcel/familienarchiv#698 2026-05-31 11:13:13 +02:00
As a reader browsing topics I want each theme box to count documents across its whole sub-topic tree so I can judge a topic's depth at a glance
marcel created branch feat/issue-696-hide-write-controls in marcel/familienarchiv 2026-05-31 11:13:01 +02:00
marcel pushed to feat/issue-696-hide-write-controls at marcel/familienarchiv 2026-05-31 11:13:01 +02:00
5edefdd082 test(document): document READ_ALL -> 403 on document write endpoints (#696)
97274beba0 test(layout): lock upload-button gate against ANNOTATE_ALL-only users (#696)
c3652f5b57 fix(ui): hide header upload button from non-writers (#696)
Compare 3 commits »
marcel opened issue marcel/familienarchiv#697 2026-05-31 10:04:59 +02:00
feat(transcription): let read-only users read transcriptions (read tab only, no edit)
marcel opened issue marcel/familienarchiv#696 2026-05-31 10:04:18 +02:00
fix(ui): hide write/edit controls from READ_ALL (read-only) users
marcel deleted branch fix/csrf-missing-client-fetches from marcel/familienarchiv 2026-05-30 14:39:17 +02:00
marcel pushed to main at marcel/familienarchiv 2026-05-30 14:39:16 +02:00
397fc3c7e4 test(security): add unit tests for cookies.ts CSRF utilities
5d8d85057d fix(security): make csrfFetch a function to respect vi.stubGlobal mocks
58254b492b fix(security): add csrfFetch wrapper and apply to all client-side mutating requests
Compare 3 commits »