• Joined on 2026-03-17
marcel commented on pull request marcel/familienarchiv#316 2026-04-24 10:32:42 +02:00
feat(documents): paginate /documents search so first paint isn't 1500 rows

🔒 Nora Steiner — Application Security Engineer

Verdict: Approved

Surface review

  • @Validated added at the DocumentController class level. My primary concern from the…
marcel pushed to main at marcel/familienarchiv 2026-04-24 10:32:42 +02:00
8f28a99e00 docs(specs): bulk upload split-panel spec + concept exploration
marcel commented on pull request marcel/familienarchiv#316 2026-04-24 10:32:28 +02:00
feat(documents): paginate /documents search so first paint isn't 1500 rows

🏛️ Markus Keller — Senior Application Architect

Verdict: Approved

Structure review

  • DocumentService.searchDocuments(..., Pageable) matches the Spring idiom used by `Notificatio…
marcel commented on pull request marcel/familienarchiv#316 2026-04-24 10:32:14 +02:00
feat(documents): paginate /documents search so first paint isn't 1500 rows

👨‍💻 Felix Brandt — Senior Fullstack Developer

Verdict: ⚠️ Approved with concerns

What I checked

  • TDD evidence in commit log — red/green visible per commit. ✓
  • Naming —…
marcel created pull request marcel/familienarchiv#316 2026-04-24 08:40:46 +02:00
feat(documents): paginate /documents search so first paint isn't 1500 rows
3311dc29ae feat(documents): paginate search with a Pagination control
67ae494d18 test(search): lock pagination behaviour and @Validated rejection
782f845dc9 feat(search): DocumentService.searchDocuments takes Pageable and slices
1a70a3db6d feat(search-result): extend DocumentSearchResult with pageNumber/pageSize/totalPages
Compare 4 commits »
marcel created branch feat/issue-315-paginate-documents-search in marcel/familienarchiv 2026-04-24 08:40:01 +02:00
marcel commented on issue marcel/familienarchiv#315 2026-04-24 07:50:42 +02:00
feat(documents): paginate /documents search so first paint isn't 1500 rows

🎨 Leonie Voss — UX Designer & Accessibility Advocate

Observations

  • 44px touch targets and aria-current="page" are in the spec — exactly right for the senior audience floor. ✓
  • The…
marcel commented on issue marcel/familienarchiv#315 2026-04-24 07:50:22 +02:00
feat(documents): paginate /documents search so first paint isn't 1500 rows

⚙️ Tobias Wendt — DevOps & Platform Engineer

Observations

  • Zero infrastructure change. No new env var, no new service, no new port, no Compose update. ✓
  • CI impact is nil — new…
marcel commented on issue marcel/familienarchiv#315 2026-04-24 07:50:10 +02:00
feat(documents): paginate /documents search so first paint isn't 1500 rows

🧪 Sara Holt — QA Engineer

Observations

  • The test plan in the issue covers the happy-path cases and the perf invariant (enrichment mock call count). Good bones, a few gaps worth…
marcel commented on issue marcel/familienarchiv#315 2026-04-24 07:49:54 +02:00
feat(documents): paginate /documents search so first paint isn't 1500 rows

🔒 Nora Steiner — Application Security Engineer

Observations

  • Missing @Validated on DocumentController is a blocker, not a nit. The issue spec proposes `@Min(0) @Max(100) int…
marcel commented on issue marcel/familienarchiv#315 2026-04-24 07:49:41 +02:00
feat(documents): paginate /documents search so first paint isn't 1500 rows

🏛️ Markus Keller — Senior Application Architect

Observations

  • Classic offset pagination is the right boring choice for 1500 rows. Cursor pagination's sweet spot starts at ~100k rows…
marcel commented on issue marcel/familienarchiv#315 2026-04-24 07:49:28 +02:00
feat(documents): paginate /documents search so first paint isn't 1500 rows

👨‍💻 Felix Brandt — Senior Fullstack Developer

Observations

  • The issue reads like a design doc, not a ticket — that's what I want to see. TDD plan is concrete.
  • One scope-correctness…
marcel deleted branch feat/issue-309-resume-strip-thumbnail from marcel/familienarchiv 2026-04-24 07:38:01 +02:00
marcel closed issue marcel/familienarchiv#309 2026-04-24 07:38:00 +02:00
As a user I want the dashboard resume strip to show the actual document thumbnail so I recognize what I was working on at a glance
marcel pushed to main at marcel/familienarchiv 2026-04-24 07:38:00 +02:00
7007491d8c style(dashboard): address @leonievoss — scale fallback icon to match larger container
629f0183f7 test(document): address @saraholt — lock JSON wire contract for thumbnailUrl
72cd6f5bbc feat(dashboard): fall back to document-text heroicon when no thumbnail yet
1d44bbb1bd feat(dashboard): render real document thumbnail in resume strip
a02f6cdcd7 refactor(thumbnails): drop frontend URL-builder now that backend owns the convention
Compare 12 commits »
marcel merged pull request marcel/familienarchiv#314 2026-04-24 07:37:59 +02:00
As a user I want the dashboard resume strip to show the actual document thumbnail so I recognize what I was working on at a glance
marcel commented on pull request marcel/familienarchiv#314 2026-04-24 07:29:55 +02:00
As a user I want the dashboard resume strip to show the actual document thumbnail so I recognize what I was working on at a glance

Rebased onto latest main

Main had advanced 32 commits since this PR opened, adding thumbnailAspect / pageCount columns to Document and a related refactor in the generated API types.…

marcel pushed to feat/issue-309-resume-strip-thumbnail at marcel/familienarchiv 2026-04-24 07:29:47 +02:00
7007491d8c style(dashboard): address @leonievoss — scale fallback icon to match larger container
629f0183f7 test(document): address @saraholt — lock JSON wire contract for thumbnailUrl
72cd6f5bbc feat(dashboard): fall back to document-text heroicon when no thumbnail yet
1d44bbb1bd feat(dashboard): render real document thumbnail in resume strip
a02f6cdcd7 refactor(thumbnails): drop frontend URL-builder now that backend owns the convention
Compare 44 commits »
marcel commented on pull request marcel/familienarchiv#314 2026-04-23 22:45:24 +02:00
As a user I want the dashboard resume strip to show the actual document thumbnail so I recognize what I was working on at a glance

🎨 Leonie Voss — UX Designer & Accessibility Advocate

Verdict: Approved

Cycle 2 delta

  • Fallback icon at h-24 w-24 (96×96 in a 180×252 container, ~38% of container height) now…