Block a user
feat: Expandable metadata drawer + transcription system (#175, #176)
🔧 Tobias Wendt — DevOps & Platform Engineer
Verdict: ✅ Approved
What I checked
- Flyway migrations (V18, V19, V20): Clean SQL, proper FK constraints with named indexes,…
feat: Expandable metadata drawer + transcription system (#175, #176)
🎨 Leonie Voss — UI/UX Design Lead
Verdict: ⚠️ Approved with concerns
Blockers
None — the implementation follows the spec and discussion resolutions well.
Concerns
1.…
feat: Expandable metadata drawer + transcription system (#175, #176)
🔒 Nora "NullX" Steiner — Application Security Engineer
Verdict: 🚫 Changes requested
Blockers
- HTML sanitization via regex is insufficient (
TranscriptionService.java:109): …
feat: Expandable metadata drawer + transcription system (#175, #176)
🧪 Sara Holt — QA Engineer & Test Strategist
Verdict: 🚫 Changes requested
Blockers
- Zero new tests in a 1,281-line addition PR. This is the single biggest quality gap I've…
feat: Expandable metadata drawer + transcription system (#175, #176)
🏗️ Markus Keller — Application Architect
Verdict: ⚠️ Approved with concerns
Blockers
TranscriptionServicedirectly injectsAnnotationServiceANDDocumentService—…
feat: Expandable metadata drawer + transcription system (#175, #176)
👨💻 Felix Brandt — Senior Fullstack Developer
Verdict: 🚫 Changes requested
Blockers
- No tests anywhere in this PR. This is a TDD violation — every new behavior must have a…
feat: Expandable metadata drawer + transcription system (#175, #176)
marcel
pushed to feat/issue-175-176-metadata-drawer-transcription at marcel/familienarchiv
2026-04-05 11:35:15 +02:00
marcel
created branch feat/issue-175-176-metadata-drawer-transcription in marcel/familienarchiv
2026-04-05 11:35:15 +02:00
feat: Annotation-backed collaborative transcription system
🏗️ Markus Keller — Application Architect
Interactive architecture discussion with the project owner. All 7 items were resolved.
Resolved Items
- **Domain boundary: TranscriptionBlock…
feat: Annotation-backed collaborative transcription system
🎨 Leonie Voss — UI/UX Discussion Summary
Worked through 10 open UI/UX items with the team. All resolved.
Resolved items
- Textarea over contenteditable — Use
<textarea>with…
feat: Expandable metadata header with labeled "Details" toggle
🎨 Leonie Voss — UI/UX Discussion Summary
Worked through 8 open UI/UX items with the team. All resolved.
Resolved items
- Tap target height — Update AC from "min 44×28px" to **min…
feat: Transcription read mode (clean split)
🔧 Tobias Wendt — DevOps & Platform Engineer
Questions & Observations
- No infrastructure impact — purely frontend. No new services, no new environment variables, no new Docker…
feat: Transcription read mode (clean split)
🎨 Leonie Voss — UI/UX Design Lead
Questions & Observations
- Typography choice: Tinos at 16px — Tinos is a good serif reading font, metrically compatible with Times New Roman. At…
feat: Transcription read mode (clean split)
🔒 Nora "NullX" Steiner — Application Security Engineer
Questions & Observations
- Read-only rendering — minimal attack surface — this is a display-only feature. The text comes…
feat: Transcription read mode (clean split)
🧪 Sara Holt — QA Engineer & Test Strategist
Questions & Observations
-
Good AC coverage — 15 criteria, mostly concrete and testable. A few observations:
-
Missing edge cases: …
feat: Transcription read mode (clean split)
🏗️ Markus Keller — Application Architect
Questions & Observations
- No backend changes — this is purely frontend. The data comes from the same endpoint as transcribe mode (`GET…
feat: Transcription read mode (clean split)
👨💻 Felix Brandt — Senior Fullstack Developer
Questions & Observations
- Dependency on #176 — this issue can't be implemented until the transcription block backend (issue #176)…
feat: Annotation-backed collaborative transcription system
🔧 Tobias Wendt — DevOps & Platform Engineer
Questions & Observations
- Flyway migrations — two new migrations: create
transcription_blockstable, alterdocument_commentsto add…
feat: Annotation-backed collaborative transcription system
🎨 Leonie Voss — UI/UX Design Lead
Questions & Observations
- Contenteditable styling — the block cards use
contenteditablefor text input. This is the most delicate UI element in…