Repository navigation
v0.14.0 - Backlog sweep
Highlights
Phase 14, the backlog sweep: every defect and bounded improvement carried in PLAN.md since Phase 0 is fixed; what remains is gated on a trigger. Every decision to date is confirmed.
- Participants tab. Each section's staff editor and roster moved from Home to a Participants tab (Home keeps the title band, description and meeting times); every member sees staff with role badges, the roster stays with those allowed to see it.
- Account menu. The header shows your name; the account dialog sets your display name and, on phones, holds Sign out so the header stays one row.
- Gradebook and My grades. The gradebook sits under the section band and tabs; "(n missing)" is labelled against the Finalize count; Finalize-disabled reasons follow the design; a same-letter override keeps its recorded points; My grades shows how many assessments are not yet published; the sticky Student cell no longer takes the row hover.
- Admin. The Audit log gains a Target column and a true total ("Showing 50 of 100 changes"); admin tabs use the shared page header; catalog and course lists are in code order; one primary "New section" on an empty term; sign-in rate-limit copy says an hour.
- Operations. A client disconnect mid-request is logged as an abort, not a 500; expired sign-in mails are given up unsent;
seed-demo --resetremoves the old files directory;prune-filesclears day-old temporary uploads; the gradebook export honoursAcceptq-values. - Dependencies. React 19, Vite 8, Vitest 5, jsdom 30 and @types/node 26; local development needs Node 22.22.2 or newer. ESLint stays at 9 until its accessibility plugin supports 10.
- Process. GitHub Releases per phase (this is the second), generated notes without chore PRs, the capture script covers the section Home and Materials pages.
Specs: https://github.com/kapildev333/unicourse/tree/main/docs/specs. Plan and decisions: https://github.com/kapildev333/unicourse/blob/main/PLAN.md.
What's Changed
Changes
- P14-L1c: RemoveUniversity on seed --reset, .tmp pruning in prune-files, CSV writer error check by @kapildev333 in #122
- P14-L1a: client aborts logged as 499, expired sign-in mail given up, audit-log total by @kapildev333 in #123
- P14-L4: Participants tab, single New section on an empty term, e2e local year, Home and Materials captures by @kapildev333 in #124
- P14-L1b: catalog ordering, override keeps points, Accept q-values, real authz fixtures, unpublishedCount by @kapildev333 in #125
- P14-L2: TextLink, PageHeader levels, Account menu with display name, Audit log Target and total, rate-limit copy by @kapildev333 in #126
- P14-L3: gradebook under the section band, hover band fix, missing-count label, Finalize reasons, My grades unpublished count by @kapildev333 in #127
- P14-L5: React 19, Vite 8, Vitest 5, jsdom 30, @types/node 26; Node floor 22.22.2 by @kapildev333 in #128
Full Changelog: v0.12.0...v0.14.0