2df0ba0ec5
chore: add ts-rs generated bindings
2026-01-30 21:29:32 -06:00
dd148e08a0
fix(ci): fix rust/frontend/security job failures and expand local checks
2026-01-30 21:22:01 -06:00
3494341e3f
ci: split quality checks into parallel jobs with security scanning
...
Reorganize CI pipeline into separate jobs for Rust quality, frontend
quality, tests, Docker build, and security audits. Add cargo-audit,
bun audit, and Trivy filesystem scanning. Allow formatting checks to
pass with warnings on push events while failing on PRs.
2026-01-30 21:08:16 -06:00
acccaa54d4
chore: update frontend packages
2026-01-30 21:07:08 -06:00
550401b85c
refactor: use friendly term codes in URL query parameters
2026-01-30 20:49:08 -06:00
a2a9116b7a
fix: avoid clipping page content
2026-01-30 19:32:05 -06:00
a103f0643a
feat: refactor admin instructor UI with component extraction and optimistic updates
2026-01-30 19:31:31 -06:00
fb27bdc119
feat: implement session expiry extension and 401 recovery
2026-01-30 16:01:17 -06:00
669dec0235
feat: add timeline API with schedule-aware enrollment aggregation
...
Implements POST /api/timeline endpoint that aggregates enrollment by
subject over 15-minute slots, filtering courses by their actual meeting
times. Includes ISR-style schedule cache with hourly background refresh
using stale-while-revalidate pattern, database indexes for efficient
queries, and frontend refactor to dynamically discover subjects from API.
2026-01-30 10:56:11 -06:00
7b8c11ac13
feat: add calendar export endpoints for ICS and Google Calendar
2026-01-30 04:08:16 -06:00
a767a3f8be
feat: add root error page handling
2026-01-30 04:07:53 -06:00
8ce398c0e0
feat: add scraper analytics dashboard with timeseries and subject monitoring
2026-01-30 03:46:48 -06:00
203c337cf0
feat: add confidence-based RMP matching with manual review workflow
...
Replace simple auto-matching with scored candidate generation that
considers department overlap, name uniqueness, and rating volume.
Candidates above 0.85 auto-accept; others require admin approval.
2026-01-30 01:31:11 -06:00
39ba131322
feat: add mobile touch controls with gesture detection
2026-01-29 23:56:45 -06:00
2fad9c969d
fix: avoid title on icon, use simpler href-based login redirect
2026-01-29 23:44:05 -06:00
47b4f3315f
feat: enhance login page with FAQ section and improved styling
2026-01-29 23:40:48 -06:00
fa28f13a45
feat: add interactive timeline visualization for class times
...
Implements a canvas-based timeline view with D3 scales showing class
counts across subjects. Features drag-to-pan, mouse wheel zoom, subject
filtering, hover tooltips, and smooth animations. Timeline auto-follows
current time and supports keyboard navigation.
2026-01-29 23:19:39 -06:00
5a6ea1e53a
fix: handle backend startup delays with retry logic in auth
2026-01-29 20:04:50 -06:00
ba2b2fc50a
fix: increase Banner API timeouts to handle slow responses
2026-01-29 19:49:57 -06:00
cfe098d193
feat: add websocket support for real-time scrape job monitoring
2026-01-29 19:31:04 -06:00
d861888e5e
fix: proper centering for login page content, avoid unnecssary scrollbar
2026-01-29 18:05:50 -06:00
f0645d82d9
refactor: persist audit log state in module scope for cross-navigation caching
2026-01-29 17:54:27 -06:00
7a1cd2a39b
refactor: centralize number formatting with locale-aware utility
2026-01-29 17:53:38 -06:00
d2985f98ce
feat: enhance audit log with smart diffing, conditional request caching, auto refreshing
2026-01-29 17:35:11 -06:00
b58eb840f3
refactor: consolidate navigation with top nav bar and route groups
2026-01-29 17:01:47 -06:00
2bc6fbdf30
feat: implement relative time feedback and improve tooltip customization
2026-01-29 16:44:06 -06:00
e41b970d6e
fix: implement i64 serialization for JavaScript compatibility, fixing avatar URL display
2026-01-29 15:51:19 -06:00
db0ec1e69d
feat: add rmp profile links and confidence-aware rating display
2026-01-29 15:43:39 -06:00
36bcc27d7f
feat: setup smart page transitions, fix laggy theme-aware element transitions
2026-01-29 14:59:47 -06:00
98a6d978c6
feat: implement course change auditing with time-series metrics endpoint
2026-01-29 14:19:36 -06:00
4deeef2f00
feat: optimize asset delivery with build-time compression and encoding negotiation
2026-01-29 13:56:10 -06:00
e008ee5a12
feat: show search duration and result count feedback
2026-01-29 13:15:25 -06:00
a007ccb6a2
fix: remove out:fade transition from CourseTable
2026-01-29 13:08:45 -06:00
527cbebc6a
feat: implement user authentication system with admin dashboard
2026-01-29 12:56:51 -06:00
c90bd740de
refactor: consolidate query logic and eliminate N+1 instructor loads
2026-01-29 12:03:06 -06:00
61f8bd9de7
refactor: consolidate menu snippets and strengthen type safety
...
Replaces duplicated dropdown/context menu code with parameterized snippet,
eliminates unsafe type casts, adds error handling for clipboard and API
calls, and improves accessibility annotations.
2026-01-29 11:40:55 -06:00
b5eaedc9bc
feat: add delivery mode indicators and tooltips to location column
2026-01-29 11:32:35 -06:00
58475c8673
feat: add page selector dropdown with animated pagination controls
...
Replace Previous/Next buttons with 5-slot page navigation centered in
pagination bar. Current page becomes a dropdown trigger allowing direct
page jumps. Side slots animate on page transitions.
2026-01-29 11:31:55 -06:00
78159707e2
feat: table FLIP animations, improved time tooltip details & day abbreviations
2026-01-29 03:40:40 -06:00
779144a4d5
feat: implement smart name abbreviation for instructor display
2026-01-29 03:14:55 -06:00
0da2e810fe
feat: add multi-select subject filtering with searchable comboboxes
2026-01-29 03:03:21 -06:00
ed72ac6bff
refactor: extract reusable SimpleTooltip component and enhance UI hints
2026-01-29 01:37:04 -06:00
57b5cafb27
feat: enhance table scrolling and eliminate initial theme flash
2026-01-29 01:18:02 -06:00
841191c44d
feat: integrate OverlayScrollbars with theme-aware styling
2026-01-29 01:05:19 -06:00
67d7c81ef4
feat: implement interactive data table with sorting and column control
...
Replaces static course table with TanStack Table featuring sortable
columns, column visibility management, and server-side sort handling.
Adds reusable data-table primitives adapted for Svelte 5 runes.
2026-01-29 01:04:18 -06:00
d108a41f91
feat: sync RMP professor ratings and display in course search interface
2026-01-29 00:26:40 -06:00
5fab8c216a
feat: add course search UI with ts-rs type bindings
...
Integrate ts-rs for Rust-to-TypeScript type generation, build course
search page with filters, pagination, and expandable detail rows,
and refactor theme toggle into a reactive store with view transition
animation.
2026-01-28 22:11:17 -06:00
e3b855b956
refactor: migrate frontend from React to SvelteKit
2026-01-28 21:06:53 -06:00
fa2fc45aa9
refactor: extract theme toggle styles to CSS and improve timeout handling
2026-01-28 19:47:24 -06:00
7cc8267c2e
feat: implement real-time service status tracking and health reporting
2026-01-28 18:37:42 -06:00