• Joined on 2026-03-17
marcel commented on issue marcel/familienarchiv#362 2026-04-28 12:28:34 +02:00
feat: Person @mentions in transcription blocks with hover card

🗳️ Decision Queue — Action Required

5 decisions need your input before implementation starts.

Architecture

  • Domain coupling: direct call vs. ApplicationEvent. PersonService
marcel commented on issue marcel/familienarchiv#362 2026-04-28 12:28:08 +02:00
feat: Person @mentions in transcription blocks with hover card

📋 Elicit — Requirements Engineer

Observations

  • detectMention() space constraint is an unspecified UX gap. The existing mention.ts function kills detection as soon as the query…
marcel commented on issue marcel/familienarchiv#362 2026-04-28 12:28:00 +02:00
feat: Person @mentions in transcription blocks with hover card

🚀 Tobias Wendt — DevOps & Platform Engineer

Observations

  • No infrastructure changes required. This feature is entirely application-level — no new Docker services, no new…
marcel commented on issue marcel/familienarchiv#362 2026-04-28 12:27:37 +02:00
feat: Person @mentions in transcription blocks with hover card

🎨 Leonie Voss — UX Designer & Accessibility Strategist

Observations

  • <button> for navigation is semantically wrong. The spec renders mention links as `<button class="person-mentio…
marcel commented on issue marcel/familienarchiv#362 2026-04-28 12:27:21 +02:00
feat: Person @mentions in transcription blocks with hover card

🧪 Sara Holt — Senior QA Engineer

Observations

  • propagateDisplayNameChange() has no test plan in the spec, and it is the highest-risk method in this feature. It mutates stored…
marcel commented on issue marcel/familienarchiv#362 2026-04-28 12:27:03 +02:00
feat: Person @mentions in transcription blocks with hover card

🔐 Nora "NullX" Steiner — Application Security Engineer

Observations

  • XSS in renderTranscriptionBody(). The spec generates `{…
marcel commented on issue marcel/familienarchiv#362 2026-04-28 12:26:45 +02:00
feat: Person @mentions in transcription blocks with hover card

👨‍💻 Felix Brandt — Senior Fullstack Developer

Observations

  • CRITICAL: detectMention() breaks on multi-word person names. I checked frontend/src/lib/utils/mention.ts:23: …
marcel commented on issue marcel/familienarchiv#362 2026-04-28 12:26:29 +02:00
feat: Person @mentions in transcription blocks with hover card

🏗️ Markus Keller — Senior Application Architect

Observations

  • Cross-domain coupling is inverted. The spec has PersonService.propagateDisplayNameChange() call `TranscriptionBlockSe…
marcel opened issue marcel/familienarchiv#362 2026-04-28 12:16:14 +02:00
feat: Person @mentions in transcription blocks with hover card
marcel commented on pull request marcel/familienarchiv#360 2026-04-28 11:56:00 +02:00
feat(stammbaum): family network — graph, badge, edit card, /stammbaum page (#358)

📋 Elicit — Requirements Engineer

Verdict: Approved

Requirements coverage

The PR closes #358 and the implementation aligns closely with the feature scope described in the PR…

marcel commented on pull request marcel/familienarchiv#360 2026-04-28 11:55:41 +02:00
feat(stammbaum): family network — graph, badge, edit card, /stammbaum page (#358)

🎨 Leonie Voss — UX Design & Accessibility

Verdict: ⚠️ Approved with concerns

Critical (WCAG blocker)

1. Delete button touch target: 32px — fails WCAG 2.2 SC 2.5.8

`Relationsh…

marcel commented on pull request marcel/familienarchiv#360 2026-04-28 11:55:27 +02:00
feat(stammbaum): family network — graph, badge, edit card, /stammbaum page (#358)

⚙️ Tobias Wendt — DevOps & Platform Engineer

Verdict: Approved

What I checked

This PR adds no changes to docker-compose.yml, CI workflow files, Dockerfile, or infrastructure…

marcel commented on pull request marcel/familienarchiv#360 2026-04-28 11:55:17 +02:00
feat(stammbaum): family network — graph, badge, edit card, /stammbaum page (#358)

🧪 Sara Holt — QA Engineer

Verdict: ⚠️ Approved with concerns

What's there (and looks good)

marcel commented on pull request marcel/familienarchiv#360 2026-04-28 11:55:02 +02:00
feat(stammbaum): family network — graph, badge, edit card, /stammbaum page (#358)

🔒 Nora "NullX" Steiner — Security Engineer

Verdict: Approved

What I checked

Authentication on read endpoints (no @RequirePermission)

The controller comment is explicit:…

marcel commented on pull request marcel/familienarchiv#360 2026-04-28 11:54:46 +02:00
feat(stammbaum): family network — graph, badge, edit card, /stammbaum page (#358)

🏛️ Markus Keller — Application Architect

Verdict: Approved

Layer boundaries

  • RelationshipServicePersonService.getById() / findAllFamilyMembers() / getAllById() —…
marcel commented on pull request marcel/familienarchiv#360 2026-04-28 11:54:32 +02:00
feat(stammbaum): family network — graph, badge, edit card, /stammbaum page (#358)

👨‍💻 Felix Brandt — Senior Fullstack Developer

Verdict: ⚠️ Approved with concerns

Blockers

**1. DRY violation: PersonRelationshipsCard.svelte re-implements chipLabel() and…

marcel commented on pull request marcel/familienarchiv#360 2026-04-28 11:48:57 +02:00
feat(stammbaum): family network — graph, badge, edit card, /stammbaum page (#358)

Round 2 concerns addressed

All 5 open reviewer concerns resolved. Backend: 1413/1413 green. Frontend: 889/889+ pass (3 pre-existing HelpPopover browser-mode flakes unrelated to this…

marcel pushed to feat/stammbaum-issue-358 at marcel/familienarchiv 2026-04-28 11:48:29 +02:00
9b750a0698 docs(stammbaum): document intentional auth design on RelationshipController GET endpoints
9996017eb7 fix(stammbaum): add focus-visible ring to zoom buttons — WCAG 2.4.7
eec1b9d1c3 test(stammbaum): prove DELETE and PATCH /family-member return 403 for READ_ALL-only users
7cbf51763f test(stammbaum): prove GET /api/network and GET /api/persons/{id}/relationships reject unauthenticated requests (401)
b24dc75c60 refactor(stammbaum): use shared chipLabel/otherName from relationshipLabels in both components
Compare 6 commits »
marcel commented on issue marcel/familienarchiv#332 2026-04-28 11:28:54 +02:00
refactor: bulk-edit follow-ups deferred from PR #331

S4: A S3: Is the cookie needed anyway? If it's needed, we make HttpOnly false, if its not needed, remove it. Please verify beforehand.

marcel commented on pull request marcel/familienarchiv#360 2026-04-28 11:25:24 +02:00
feat(stammbaum): family network — graph, badge, edit card, /stammbaum page (#358)

🎨 Leonie Voss — UX Designer & Accessibility Strategist

Verdict: ⚠️ Approved with concerns

The visual design follows the brand system. One WCAG violation that needs fixing before merge.…