fix: live-review fixes (tag id filter, home widgets, display names, demo multi-user) #16

Merged
KofTwentyTwo merged 16 commits from fix/live-review into develop 2026-10-14 12:09:48 +00:00
KofTwentyTwo commented 2026-10-14 04:29:26 +00:00 (Migrated from github.com)

Summary

These are fixes from a live review: the demo dev server on QQQ 4.1.0-RC.6 with the full Next UI, captured as 74 screenshots against the real backend. Stacked on #14.

  • Tag filter by id (bug). Filtering collaborationTags by tag id returned nothing; only names worked. The expander now treats Integer, Long and BigDecimal values, and numeric strings that match an existing tag, as ids. Tests run at the expander level and through POST /qqq/v1/table/.../query. (42cf513)
  • Collaboration in the nav. The demo's Admin parent app was denied (it granted admin.access instead of admin.hasAccess), so Collaboration fell out of appTree. The producer was already correct. Tests now cover both placements, with and without a parent app. (e696d9e)
  • The home now uses standard widgets instead of an HTML wall:
    • KPIs: comments this week, open threads, open and overdue tasks, attachments with a human-readable size, open access requests, active custom fields;
    • Tags, Custom fields and Who's here tables, each with a real empty state;
    • full-width blocks with theme colors only. (68fe96c)
  • Display names. API payloads now carry display names next to user ids (tasks, attachments, shares, access requests, revisions, followers, assignments), resolved in one batch per response. User-id fields use the collaboration_user possible value source keyed on userId. The OpenAPI fragment changes are additive. (7e63314)
  • Sharing. Recipient and mention search exclude the caller, and the demo's links are absolute. (0366939)
  • Demo server.
    • The user is chosen per browser session with ?user=bob (stored in a cookie), so presence can show two people.
    • The session sends the real user name instead of "Anonymous". (ef2ee45)
  • Activity. Audit summaries read like "Edited by Alice Morgan: Title, Tenant" or "Created by …". (d828d16)

Test plan

  • ./mvnw verify: 127 tests, checkstyle clean, coverage about 96.4% instructions and 99.1% classes.
  • CircleCI test_only.
  • Re-run the live screenshots once the matching Next fixes are in.

🤖 Generated with Claude Code

## Summary These are fixes from a live review: the demo dev server on QQQ 4.1.0-RC.6 with the full Next UI, captured as 74 screenshots against the real backend. **Stacked on #14.** - **Tag filter by id (bug).** Filtering `collaborationTags` by tag id returned nothing; only names worked. The expander now treats Integer, Long and BigDecimal values, and numeric strings that match an existing tag, as ids. Tests run at the expander level and through `POST /qqq/v1/table/.../query`. (`42cf513`) - **Collaboration in the nav.** The demo's Admin parent app was denied (it granted `admin.access` instead of `admin.hasAccess`), so Collaboration fell out of `appTree`. The producer was already correct. Tests now cover both placements, with and without a parent app. (`e696d9e`) - **The home** now uses standard widgets instead of an HTML wall: - KPIs: comments this week, open threads, open and overdue tasks, attachments with a human-readable size, open access requests, active custom fields; - Tags, Custom fields and Who's here tables, each with a real empty state; - full-width blocks with theme colors only. (`68fe96c`) - **Display names.** API payloads now carry display names next to user ids (tasks, attachments, shares, access requests, revisions, followers, assignments), resolved in one batch per response. User-id fields use the `collaboration_user` possible value source keyed on `userId`. The OpenAPI fragment changes are additive. (`7e63314`) - **Sharing.** Recipient and mention search exclude the caller, and the demo's links are absolute. (`0366939`) - **Demo server.** - The user is chosen per browser session with `?user=bob` (stored in a cookie), so presence can show two people. - The session sends the real user name instead of "Anonymous". (`ef2ee45`) - **Activity.** Audit summaries read like "Edited by Alice Morgan: Title, Tenant" or "Created by …". (`d828d16`) ## Test plan - [x] `./mvnw verify`: 127 tests, checkstyle clean, coverage about 96.4% instructions and 99.1% classes. - [ ] CircleCI `test_only`. - [ ] Re-run the live screenshots once the matching Next fixes are in. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.