• Joined on 2026-03-17
marcel commented on pull request marcel/familienarchiv#127 2026-03-27 23:35:12 +01:00
feat: notifications, @mentions, and comment deep-links (#71 #72 #73)

🔵 MINOR — debounceTimer not cleared on component destroy

marcel commented on pull request marcel/familienarchiv#127 2026-03-27 22:11:40 +01:00
feat: notifications, @mentions, and comment deep-links (#71 #72 #73)

Bug: actorName is never set — will always be null in every API response.

marcel commented on pull request marcel/familienarchiv#127 2026-03-27 22:11:40 +01:00
feat: notifications, @mentions, and comment deep-links (#71 #72 #73)

N+1: findById inside a loop.

marcel commented on pull request marcel/familienarchiv#127 2026-03-27 22:11:40 +01:00
feat: notifications, @mentions, and comment deep-links (#71 #72 #73)

N+1: same issue as notifyReplyfindById in a loop.

marcel commented on pull request marcel/familienarchiv#127 2026-03-27 22:11:40 +01:00
feat: notifications, @mentions, and comment deep-links (#71 #72 #73)

Avoid returning the Notification entity directly from the controller.

marcel commented on pull request marcel/familienarchiv#127 2026-03-27 22:11:40 +01:00
feat: notifications, @mentions, and comment deep-links (#71 #72 #73)

Layering violation: CommentService directly injects AppUserRepository.

marcel commented on pull request marcel/familienarchiv#127 2026-03-27 22:11:40 +01:00
feat: notifications, @mentions, and comment deep-links (#71 #72 #73)

Dead code: the List<Notification> overload is never called.

marcel commented on pull request marcel/familienarchiv#127 2026-03-27 22:11:40 +01:00
feat: notifications, @mentions, and comment deep-links (#71 #72 #73)

Hardcoded German strings bypass Paraglide.

marcel commented on pull request marcel/familienarchiv#127 2026-03-27 22:11:40 +01:00
feat: notifications, @mentions, and comment deep-links (#71 #72 #73)

href="#" scrolls the page to the top on click.

marcel commented on pull request marcel/familienarchiv#127 2026-03-27 22:11:40 +01:00
feat: notifications, @mentions, and comment deep-links (#71 #72 #73)

Review — @mkeller

marcel created pull request marcel/familienarchiv#127 2026-03-27 20:38:57 +01:00
feat: notifications, @mentions, and comment deep-links (#71 #72 #73)
2bc3b3fb6c feat(#73): deep-link to specific comments via ?commentId= query param
55cf1fb0a4 feat(#72): add @mention support in comment editor
e455efa670 feat(#71): add notification bell + preferences UI
1615a4ffa5 feat(backend): add V17 migration, @mention storage, MentionDTO, user search endpoint, and tests
bc62f3b0af feat(backend): trigger reply notifications from CommentService
Compare 7 commits »
marcel created branch feat/71-72-73-notifications-mentions-deeplinks in marcel/familienarchiv 2026-03-27 20:38:00 +01:00
marcel commented on issue marcel/familienarchiv#70 2026-03-27 19:13:41 +01:00
As a user I want a help page on the site so I can learn how to use the archive and share the guidance with family members before a scanning session

QA Review — @saraholt

Simple feature, but two things will silently break if not encoded as tests.


🟡 Section anchors must be verified by a test, not just specified

Leonie flagged…

marcel commented on issue marcel/familienarchiv#73 2026-03-27 19:13:24 +01:00
As a user I want to open a document directly at a specific comment so I can jump into a discussion from an email or notification

QA Review — @saraholt

The spec is clean and Leonie's UX comments cover the critical interaction gaps. Two things need to be encoded as tests, not just implementation notes.


🔴 High…

marcel commented on issue marcel/familienarchiv#72 2026-03-27 19:13:07 +01:00
As a user I want to @mention other users in comments so they are notified and linked to their profile

QA Review — @saraholt

The architect and Leonie have flagged the two biggest risks. I want to add the test coverage dimension to both.


🔴 Blocking — XSS fix needs a regression test…

marcel commented on issue marcel/familienarchiv#71 2026-03-27 19:12:41 +01:00
As a user I want to receive notifications for archive activity so I stay informed when family members annotate, comment, or start conversations

QA Review — @saraholt

The implementation plan is thorough and the TDD checkpoint table is a good start. Several critical test cases are missing that must be in this PR before merge.


###…

marcel commented on issue marcel/familienarchiv#73 2026-03-27 19:04:12 +01:00
As a user I want to open a document directly at a specific comment so I can jump into a discussion from an email or notification

UX Review — @leonievoss

The URL scheme is clean, the annotationId discriminator from the architect's comment is the right call. Two UX gaps to address.

🔴 High — 2-second highlight…

marcel commented on issue marcel/familienarchiv#72 2026-03-27 19:03:51 +01:00
As a user I want to @mention other users in comments so they are notified and linked to their profile

UX Review — @leonievoss

The architect has already flagged the XSS blocker and the contenteditable question. I want to add the UX and accessibility layer to both.

🔴 Blocker —…

marcel commented on issue marcel/familienarchiv#71 2026-03-27 19:03:23 +01:00
As a user I want to receive notifications for archive activity so I stay informed when family members annotate, comment, or start conversations

UX Review — @leonievoss

The backend design (confirmed clean by the architect) and the functional scope are solid. Accessibility and senior usability gaps need addressing on the frontend…