v1.1.0: cross-round comparison view (#29) + list pagination (#33) - #59
Merged
Conversation
- #29 Growth over time: a subject sees their peer competency scores trending across shared rounds — a new server-rendered multi-series LineSVG chart, a round-by-round table, and a summary timeline, linked from My Feedback once two or more rounds are shared. Read-only over shared consolidations; no manager-only data. - #33 Pagination (25/page) on the Rounds (admin), Audit, and Users lists with Prev/Next controls, a shared pageNav helper, and paged repo methods. Post-review hardening: paged queries carry a unique id tiebreaker so page boundaries are deterministic under colliding timestamps (gateway test proves no skip/duplicate); pageNav is a consistent value type across handlers. gosec 0 / govulncheck 0; full test suite (incl. Postgres gateway) green. Known follow-ups (correct today, optimize later): the list pages still build a full user index for name resolution (bound it with a batch lookup as the user base grows), and the audit action-filter view caps at 200 rather than paging.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The v1.1.0 milestone: the best next enhancement plus the requested performance work.
#29 — Cross-round comparison (growth over time)
The most on-purpose feature for a 360 tool. A subject can now see how their peer competency scores trend across their shared rounds:
view.LineSVG, no JS lib — consistent with the existing radar/donut SVGs).Read-only over consolidations the subject already has access to — no manager-only data, no new privacy surface.
#33 — Pagination
The Rounds (admin), Audit log, and Users lists are paginated (25/page) with Prev/Next controls, via a shared
pageNavhelper and paged repo methods (FindPaged, fetchpageSize+1for has-next).Post-review hardening
A code review over the diff surfaced no runtime bugs but flagged real quality items, addressed here:
feedback_rounds/audit_logsqueries now carry a uniqueidtiebreaker so page boundaries can't skip/duplicate rows whencreated_atcollides. A gateway test (5 rows sharing a timestamp, paged in 2s) proves every row appears exactly once.pageNavis a value type across all three handlers (was a mix of pointer/value).Verification
go build,go vet,gofmt,go test ./...(incl. Postgres gateway tests) all green.gosec0 /govulncheck0. Release Docker image builds and serves the new routes. New behavior covered by unit + handler + gateway tests. CHANGELOG stamped[1.1.0], sonar bumped to1.1.0.Known follow-ups (correct today, optimize later)
FindByIDsas the user base grows.