-
v0.10.7 Stable
released this
2026-03-11 16:40:46 +00:00 | 50 commits to main since this releaseAdded
- SSO account creation: Shared helper to create User + OAuthAccount from a provider identity; used by OAuth callbacks and Slack App Home, and reusable for other SSO routes 🖥️
- UserProfile from OAuth: New users created via the provider-identity helper now get a Celery task enqueued to populate UserProfile from their OAuth account profile data (TidyHQ, Slack, etc.) 🖥️
Changed
- Committee training pending bookings: Added delete button, restyled assign buttons, removed placeholder bulk assign
- Training bookings: Trim available slot display in booking modal for readability
- Material scan mode: Add camera border and modal to reflect scanner status
- Material scan mode: Add an optional "Also update last used date" toggle (off by default)
- Material scan mode: Add a scan history table showing recently scanned items with status colouring
- Committee materials: Allow manual updates of last seen/used timestamps from the view/edit modal, plus quick actions to mark as used/consumed and reprint labels
Fixed
- Committee materials: Delete confirmation modal deletes the material rather than opening another modal
- User settings: Don't create user_settings for user IDs that aren't in the users table (fixes FK violations for stale or Slack-only sessions) Underlying cause fixed below but change added to prevent issues in core functionality in the future 🖥️
- Slack App Home: User ID is no longer half created if the first interaction with the portal is generating a Slack app home 🖥️
- Committee tokens cumulative chart: Removed leading zero-padding in "Total individual hours over time" so each line begins at the first recorded contribution
- Material scan mode: Treat organisation-owned material as member-owned for scan status colouring, and skip unused-threshold warnings for organisation-owned material
- Committee material creation: Fix transparency on user search results
- Material scan mode: Only log location changes when the location actually changes; otherwise log a "committee scanned" audit entry
- Training bookings: Only show competency check indicator on inductions that have it enabled
- Training bookings waitlist: Exclude incompatible events from request list