b02a0738e2
chore: bump to v0.6.0, update roadmap & changelog
2026-01-30 20:37:31 -06:00
1954166db6
feat: add name parsing and normalization for instructor-RMP matching
2026-01-30 20:02:59 -06:00
9fed651641
feat: add adaptive scheduling and scraper admin endpoints
...
Subjects now have individually calculated scrape intervals based on their
historical change ratio, consecutive zero-change runs, failure counts, and
the current time of day. This reduces unnecessary scrapes during inactive
periods while maintaining responsiveness during peak hours. Includes four
new admin endpoints for monitoring scraper health and scheduling decisions.
2026-01-30 02:14:37 -06:00
cfe098d193
feat: add websocket support for real-time scrape job monitoring
2026-01-29 19:31:04 -06:00
4deeef2f00
feat: optimize asset delivery with build-time compression and encoding negotiation
2026-01-29 13:56:10 -06:00
527cbebc6a
feat: implement user authentication system with admin dashboard
2026-01-29 12:56:51 -06:00
0da2e810fe
feat: add multi-select subject filtering with searchable comboboxes
2026-01-29 03:03:21 -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
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
992263205c
refactor: consolidate types, remove dead code, and fix minor bugs
...
Replace DayOfWeek with chrono::Weekday via extension traits, unify
RateLimitConfig into the config module, and remove the unused time
command, BannerState, and ClassDetails stub. Fix open_only query
parameter to respect false values and correct 12-hour time display.
2026-01-28 16:31:11 -06:00
Ryan Walters
8af9b0a1a2
refactor(scraper): implement graceful shutdown with broadcast channels
...
Replace task abortion with broadcast-based graceful shutdown for scheduler and workers. Implement cancellation tokens for in-progress work with 5s timeout. Add tokio-util dependency for CancellationToken support. Update ServiceManager to use completion channels and abort handles for better service lifecycle control.
2025-11-03 01:22:12 -06:00
3dca896a35
feat(web): add 10 second timeout layer
2025-09-14 01:47:52 -05:00
27b0cb877e
feat: display project version on frontend
2025-09-13 18:58:35 -05:00
8ec2f7d36f
chore: bump version to 0.3.2
2025-09-13 18:52:23 -05:00
19b3a98f66
feat: setup span recording for CustomJsonFormatter, use 'yansi' for better ANSI terminal colors in CustomPrettyFormatter
2025-09-13 18:40:55 -05:00
97488494fb
chore: bump version to 0.3.0
2025-09-13 15:52:40 -05:00
e3b638a7d8
feat: add ETag & Cache-Control headers, cached hexadecimal hashes via rapidhash
2025-09-13 13:24:54 -05:00
404a52e64c
feat: cache mime types for valid assets, use octet-stream content type
2025-09-13 12:37:36 -05:00
79fc931077
refactor: remove 'auto' mode, just specify value via constant for better clap visibility
2025-09-13 11:38:43 -05:00
27ac9a7302
feat: add formatter CLI argument, setup asset embedding in release mode
2025-09-13 11:30:57 -05:00
ac2638dd9a
feat: implement proper SIGTERM handling for container shutdown
2025-09-13 09:43:47 -05:00
e7d47f1f96
feat: implement ICS command
2025-09-13 01:50:18 -05:00
9a48587479
chore: drop redis
2025-09-13 01:49:47 -05:00
624247ee14
feat: basic activity status
2025-09-13 01:04:46 -05:00
a6e7adcaef
fix: improve json error handling, make email_address optional
2025-09-12 23:36:07 -05:00
e9a0558535
feat: asynchronous, rate limited term session acquisition
2025-09-12 20:35:12 -05:00
dd212c3239
chore: update dependencies, add sqlx 'macros', add futures, add 'http' (explicit)
2025-09-12 20:11:13 -05:00
1bdbd1d6d6
chore: remove unused dependencies
2025-09-01 00:26:20 -05:00
23be6035ed
feat: much better, smarter session acquisition
2025-08-31 15:34:49 -05:00
139e4aa635
feat: translate over to sqlx, remove diesel
2025-08-31 15:34:49 -05:00
677bb05b87
chore: update & sort dependencies, add sqlx, remove 'migrations'
2025-08-29 12:52:46 -05:00
4764d48ac9
feat: move scraper into separate module, begin building data models
2025-08-29 11:07:46 -05:00
a01a30d047
feat: continue work on gcal, better meetings schedule types
2025-08-26 23:57:06 -05:00
31ab29c2f1
feat!: first pass re-implementation of banner, gcal command
2025-08-26 21:40:18 -05:00
87100a57d5
feat: service manager for coordination, configureable smart graceful shutdown timeout
2025-08-26 19:16:26 -05:00
cff672b30a
feat: use anyhow, refactor services & coordinator out of main.rs
2025-08-26 19:16:26 -05:00
d4c55a3fd8
feat!: begin rust rewrite
...
service scheduling, configs, all dependencies, tracing, graceful
shutdown, concurrency
2025-08-26 19:16:26 -05:00