- Shipped
- September 29, 2026 at 2:22 AM UTC
- Author
- Kamo
- Commit
- 04e017c
Review findings on the AI-full-name fix (4ea53c5): - LOW: the mirrored-username comparison didn't trim either side, so an alias saved with stray whitespace (" luna ") survived the isBlank() gate and printed with the padding intact instead of being recognised as the mirror it is. Both sides are trimmed before comparing now. - MEDIUM (N+1): displayName(Member) now reads m.getUser() on the alias branch too, to tell a real nickname from the auto-mirrored login handle. GET /sessions/{guid}/members read its roster through the plain, un-joined **************** so a room of N participants who each carry ANY alias went from one query to N+1 lazy loads of user — exactly the pattern MarketingMemberLookupRepository and Exec2ExecRosterRepository already carry LEFT JOIN FETCH and comments to avoid. Added a mediaservice-local **************** (same arrangement as those two: the fetch join lives here rather than on shared-lib's MediaSessionMemberRepository, which every other caller would then also pay for) and pointed getMembers at it. Tests: MemberDisplayNamesTest gets the whitespace case (RED against the un-trimmed comparison, GREEN after). **************** pins the endpoint to the fetch-joined repository call and never the plain one — the regression this endpoint is now guarded against. **************** parses the new query's HQL and pins both LEFT JOIN FETCH clauses by text, the same way MarketingTrackingHqlTest and Exec2ExecQueryParseTest already pin theirs — no live database is available to this test suite for a true Hibernate-statistics statement count (no H2/Testcontainers dependency exists here, and the codebase's own convention for exactly this concern, per those two existing tests, is HQL-parse-only). The four other tests that construct ChatSessionMembersController directly **************** ChatSeatGateTest, ChatSessionTwoAiMembersTest, **************** are updated for the new constructor parameter; only **************** getMembers case needed its stub moved onto the new repository.
