• Joined on 2026-03-17
marcel opened issue marcel/familienarchiv#339 2026-04-26 19:56:16 +02:00
feat(viewer): show delete icon directly on transcription annotation
marcel deleted branch feat/issue-336-audit-user-management from marcel/familienarchiv 2026-04-26 19:42:02 +02:00
marcel closed issue marcel/familienarchiv#336 2026-04-26 19:42:01 +02:00
feat(audit): track user management events in audit log (USER_CREATED, USER_DELETED, GROUP_MEMBERSHIP_CHANGED)
marcel pushed to main at marcel/familienarchiv 2026-04-26 19:42:00 +02:00
ce41e96a45 test(audit): add 401 unauthenticated tests for createUser, adminUpdateUser, deleteUser
a6c8af0971 test(audit): replace null-actorId bootstrap calls with createUserForBootstrap(), increase timeouts to 10s
6d9910b805 refactor(audit): extract createUserForBootstrap() to make null actorId contract explicit
1dd6e054fc test(audit): add GROUP_MEMBERSHIP_CHANGED integration test with payload assertions
23cff1cdd7 refactor(audit): drop @DirtiesContext, add @BeforeEach, use existsByKind in wait conditions
Compare 14 commits »
marcel merged pull request marcel/familienarchiv#337 2026-04-26 19:42:00 +02:00
feat(audit): track user management events in audit log (#336)
marcel opened issue marcel/familienarchiv#338 2026-04-26 18:39:29 +02:00
feat(briefwechsel): discovery landing grid + gap markers
marcel commented on pull request marcel/familienarchiv#337 2026-04-26 17:48:14 +02:00
feat(audit): track user management events in audit log (#336)

Second-round review concerns addressed

All open blockers and actionable suggestions from the second review round have been resolved.


Blockers resolved

**Nora — Finding 1: null…

marcel pushed to feat/issue-336-audit-user-management at marcel/familienarchiv 2026-04-26 17:47:51 +02:00
ce41e96a45 test(audit): add 401 unauthenticated tests for createUser, adminUpdateUser, deleteUser
a6c8af0971 test(audit): replace null-actorId bootstrap calls with createUserForBootstrap(), increase timeouts to 10s
6d9910b805 refactor(audit): extract createUserForBootstrap() to make null actorId contract explicit
Compare 3 commits »
marcel commented on pull request marcel/familienarchiv#337 2026-04-26 15:58:21 +02:00
feat(audit): track user management events in audit log (#336)

📋 Elicit — Requirements Engineer

Verdict: ⚠️ Approved with concerns

The implemented scope aligns well with what the PR description claims. My job is to flag what the PR doesn't cover…

marcel commented on pull request marcel/familienarchiv#337 2026-04-26 15:58:10 +02:00
feat(audit): track user management events in audit log (#336)

🎨 Leonie Voss — UX Design Lead

Verdict: Approved

This PR contains no frontend or UI changes — it is entirely backend: new audit event kinds, service wiring, and tests.

Nothing to…

marcel commented on pull request marcel/familienarchiv#337 2026-04-26 15:58:07 +02:00
feat(audit): track user management events in audit log (#336)

🛠️ Tobias Wendt — DevOps & Platform Engineer

Verdict: Approved

This is a backend-only PR with no infrastructure, Compose, CI, or migration changes. From a platform perspective,…

marcel commented on pull request marcel/familienarchiv#337 2026-04-26 15:58:00 +02:00
feat(audit): track user management events in audit log (#336)

🏗️ Markus Keller — Application Architect

Verdict: Approved

The structural choices are sound. I want to flag one dependency direction question and one minor design note.


###…

marcel commented on pull request marcel/familienarchiv#337 2026-04-26 15:57:48 +02:00
feat(audit): track user management events in audit log (#336)

🧪 Sara Holt — Senior QA Engineer

Verdict: Approved

This is a solid test addition. The right tools are used at each layer, the async pattern is handled correctly, and coverage matches…

marcel commented on pull request marcel/familienarchiv#337 2026-04-26 15:57:32 +02:00
feat(audit): track user management events in audit log (#336)

🔐 Nora "NullX" Steiner — Application Security Engineer

Verdict: ⚠️ Approved with concerns

The permission model is correct, the audit trail is well-structured, and the 403 tests are a…

marcel commented on pull request marcel/familienarchiv#337 2026-04-26 15:57:14 +02:00
feat(audit): track user management events in audit log (#336)

👨‍💻 Felix Brandt — Senior Fullstack Developer

Verdict: Approved

Overall this is clean, disciplined backend work. The implementation is focused, the helpers do one thing, and the…

marcel commented on pull request marcel/familienarchiv#337 2026-04-26 15:55:31 +02:00
feat(audit): track user management events in audit log (#336)

Review concerns addressed

All blockers and actionable suggestions from the six-persona review have been resolved. Summary of changes pushed to this branch:


Blockers resolved

**Felix…

marcel pushed to feat/issue-336-audit-user-management at marcel/familienarchiv 2026-04-26 15:53:57 +02:00
1dd6e054fc test(audit): add GROUP_MEMBERSHIP_CHANGED integration test with payload assertions
23cff1cdd7 refactor(audit): drop @DirtiesContext, add @BeforeEach, use existsByKind in wait conditions
11d93919b2 refactor(audit): replace LIMIT :limit JPQL with Pageable in audit query
f6bcc4f72a refactor(audit): extract actorId() helper in UserController
f4a4436eda test(audit): add 403 permission tests for createUser, adminUpdateUser, deleteUser
Compare 6 commits »
marcel commented on issue marcel/familienarchiv#332 2026-04-26 15:49:15 +02:00
refactor: bulk-edit follow-ups deferred from PR #331

🗳️ Decision Queue — Action Required

2 decisions need your input before implementation starts.

Frontend / UX

  • **S4 — Mobile PDF preview expanded/collapsed state on document…
marcel commented on issue marcel/familienarchiv#332 2026-04-26 15:48:58 +02:00
refactor: bulk-edit follow-ups deferred from PR #331

📋 Elicit — Requirements Engineer

Observations

Issue structure is exemplary. Must → Should → Could ordering with explicit "Done when" conditions on every item is exactly the…

marcel commented on issue marcel/familienarchiv#332 2026-04-26 15:48:37 +02:00
refactor: bulk-edit follow-ups deferred from PR #331

🚀 Tobias Wendt — DevOps & Platform Engineer

Observations

M4 — @SpringBootTest with Testcontainers: standard and correct. The existing integration tests (`PersonServiceIntegrationTes…