Commit Graph

  • 966732a6d2 feat: modernize build tooling and add CI/CD workflow master Ryan Walters 2025-11-18 11:55:06 -06:00
  • 3292d35521 build(docker): copy migrations directory to build context Ryan Walters 2025-11-03 12:07:27 -06:00
  • 71ac0782d0 feat(json): enhance error context with debug mode detailed reporting Ryan Walters 2025-11-03 12:04:20 -06:00
  • 1c6d2d4b6e perf: implement batch operations and optimize database indexes Ryan Walters 2025-11-03 11:18:42 -06:00
  • 51f8256e61 feat: implement comprehensive retry mechanism and improve observability Ryan Walters 2025-11-03 10:18:07 -06:00
  • b1ed2434f8 feat: add ESLint configuration and testing infrastructure Ryan Walters 2025-11-03 02:21:35 -06:00
  • 47c23459f1 refactor: implement comprehensive graceful shutdown across all services Ryan Walters 2025-11-03 02:10:01 -06:00
  • 8af9b0a1a2 refactor(scraper): implement graceful shutdown with broadcast channels Ryan Walters 2025-11-03 01:22:12 -06:00
  • 020a00254f chore: improve database pool connection options, tighter thresholds & limits Xevion 2025-09-14 12:18:39 -05:00
  • 45de5be60d refactor: redistribute main.rs into new modules for app & service initialization Xevion 2025-09-14 12:18:15 -05:00
  • 8384f418c8 refactor: remove unused/dead code, apply allowances to the rest Xevion 2025-09-14 01:57:30 -05:00
  • 3dca896a35 feat(web): add 10 second timeout layer Xevion 2025-09-14 01:47:04 -05:00
  • 1b7d2d2824 fix: make version retrieval search current dir, add basic logs, existence check Xevion 2025-09-13 22:08:48 -05:00
  • e370008d75 fix: pass RAILWAY_GIT_COMMIT_SHA through Docker, provide Cargo.toml for frontend (version retrieval) Xevion 2025-09-13 22:02:41 -05:00
  • 176574343f fix: provide proper theme-based colors to all elements necessary Xevion 2025-09-13 21:57:56 -05:00
  • 91899bb109 fix: limit devtools panel to dev mode Xevion 2025-09-13 21:35:29 -05:00
  • 08ae54c093 fix: use wildcard COPY for .git directory, use RAILWAY_GIT_COMMIT_SHA as fallback Xevion 2025-09-13 21:20:16 -05:00
  • 33b8681b19 chore: use locale-based number formatting Xevion 2025-09-13 21:12:13 -05:00
  • 398a1b9474 feat: dark mode with theme toggle button Xevion 2025-09-13 21:11:16 -05:00
  • a732ff9a15 feat: better frontend state implementation, acquire version in frontend build time Xevion 2025-09-13 20:11:39 -05:00
  • bfcd868337 refactor: proper implementation of services status, better styling/appearance/logic Xevion 2025-09-13 19:34:34 -05:00
  • 99f0d0bc49 fix: add build.rs and .git dir to Dockerfile COPY build step, add git dependency Xevion 2025-09-13 19:03:51 -05:00
  • 8b7729788d chore: replace template properties Xevion 2025-09-13 19:01:05 -05:00
  • 27b0cb877e feat: display project version on frontend Xevion 2025-09-13 18:58:30 -05:00
  • 8ec2f7d36f chore: bump version to 0.3.2 Xevion 2025-09-13 18:52:08 -05:00
  • 28a8a15b6b feat: embed git commit into binary, provide link on frontend Xevion 2025-09-13 18:51:48 -05:00
  • 19b3a98f66 feat: setup span recording for CustomJsonFormatter, use 'yansi' for better ANSI terminal colors in CustomPrettyFormatter Xevion 2025-09-13 18:40:55 -05:00
  • b64aa41b14 feat: better profile-based router assembly, tracing layer for responses with span-based request paths Xevion 2025-09-13 18:01:53 -05:00
  • 64449e8976 feat: setup pretty frontend for system status Xevion 2025-09-13 17:49:35 -05:00
  • 2e0fefa5ee feat: implement interval backoff for presence indicator Xevion 2025-09-13 16:15:33 -05:00
  • 97488494fb chore: bump version to 0.3.0 Xevion 2025-09-13 15:52:40 -05:00
  • b3322636a9 feat: setup frontend build code, tune .dockerignore patterns Xevion 2025-09-13 15:47:43 -05:00
  • 878cc5f773 docs: setup proper documentation, organize & clean README Xevion 2025-09-13 15:27:32 -05:00
  • 94fb6b4190 chore: set banner URL default in config, remove old mentions of redis Xevion 2025-09-13 14:48:49 -05:00
  • e3b638a7d8 feat: add ETag & Cache-Control headers, cached hexadecimal hashes via rapidhash Xevion 2025-09-13 13:24:54 -05:00
  • 404a52e64c feat: cache mime types for valid assets, use octet-stream content type Xevion 2025-09-13 12:37:36 -05:00
  • a917315967 fix: simplify asset serving, use fallback primarily Xevion 2025-09-13 12:23:27 -05:00
  • 9d51fde893 feat: add arguments for enabling/disabling srevices Xevion 2025-09-13 12:06:10 -05:00
  • 79fc931077 refactor: remove 'auto' mode, just specify value via constant for better clap visibility Xevion 2025-09-13 11:38:18 -05:00
  • f3861a60c4 chore: add dev-release helper profile into Cargo.toml Xevion 2025-09-13 11:34:25 -05:00
  • 26b1a88860 chore: use clippy by default for check command, fix lint Xevion 2025-09-13 11:31:09 -05:00
  • 27ac9a7302 feat: add formatter CLI argument, setup asset embedding in release mode Xevion 2025-09-13 11:30:57 -05:00
  • 1d345ed247 chore: customize bacon, add 'dev' job Xevion 2025-09-13 11:30:23 -05:00
  • 6f831f5fa6 feat: setup web/ for tanstack router frontend Xevion 2025-09-13 11:30:11 -05:00
  • ac2638dd9a feat: implement proper SIGTERM handling for container shutdown Xevion 2025-09-13 09:43:25 -05:00
  • cfb847f2e5 feat: holiday exclusion logic for ICS command Xevion 2025-09-13 02:20:27 -05:00
  • e7d47f1f96 feat: implement ICS command Xevion 2025-09-13 01:49:57 -05:00
  • 9a48587479 chore: drop redis Xevion 2025-09-13 01:49:47 -05:00
  • 624247ee14 feat: basic activity status Xevion 2025-09-13 01:04:46 -05:00
  • 430e2a255b fix: avoid crashing due to odd url parse Xevion 2025-09-13 01:01:49 -05:00
  • bbc78131ec feat: setup recoverable/unrecoverable job error distinction, delete unrecoverable jobs Xevion 2025-09-13 00:48:11 -05:00
  • 77ab71d4d5 feat: map RAILWAY_DEPLOYMENT_DRAINING_SECONDS to SHUTDOWN_TIMEOUT Xevion 2025-09-13 00:36:11 -05:00
  • 9d720bb0a7 feat: implement common job trait & better interface for scheduler & workers Xevion 2025-09-13 00:17:53 -05:00
  • dcc564dee6 fix: credit_hour_session is optional Xevion 2025-09-12 23:50:36 -05:00
  • 4ca55a1fd4 feat: schedule & query jobs efficiently in batches Xevion 2025-09-12 23:41:27 -05:00
  • a6e7adcaef fix: improve json error handling, make email_address optional Xevion 2025-09-12 23:36:07 -05:00
  • 752c855dec chore: drop env prefixed config vars Xevion 2025-09-12 22:39:32 -05:00
  • 14b02df8f4 feat: much better JSON logging, project-wide logging improvements, better use of debug/trace levels, field attributes Xevion 2025-09-12 22:01:14 -05:00
  • 00cb209052 fix: disable poor error snippet Xevion 2025-09-12 21:40:07 -05:00
  • dfc05a2789 feat: setup rate limiter middleware & config Xevion 2025-09-12 21:12:06 -05:00
  • fe798e1867 fix: avoid COPY of non existent dir, add .dockerignore Xevion 2025-09-12 20:57:33 -05:00
  • 39688f800f chore: update Dockerfile rust to 1.89.0 Xevion 2025-09-12 20:53:24 -05:00
  • b2b4bb67f0 chore: rustfmt rewrite Xevion 2025-09-12 20:52:07 -05:00
  • e5d8cec2d6 refactor: reorganize banner api files, fix clippy lints, reformat Xevion 2025-09-12 20:50:47 -05:00
  • e9a0558535 feat: asynchronous, rate limited term session acquisition Xevion 2025-09-12 20:35:12 -05:00
  • 353c36bcf2 feat: 'search' example binary Xevion 2025-09-12 20:12:23 -05:00
  • 2f853a7de9 feat: middleware headers, fix concurrent session cookies issue, middleware headers, invalid session details Xevion 2025-09-12 20:12:12 -05:00
  • dd212c3239 chore: update dependencies, add sqlx 'macros', add futures, add 'http' (explicit) Xevion 2025-09-12 20:11:13 -05:00
  • 8ff3a18c3e feat: Dockerfile Xevion 2025-09-01 00:47:26 -05:00
  • 43647096e9 feat: scraper system Xevion 2025-09-01 00:46:38 -05:00
  • 1bdbd1d6d6 chore: remove unused dependencies Xevion 2025-09-01 00:26:20 -05:00
  • 23be6035ed feat: much better, smarter session acquisition Xevion 2025-08-31 15:33:50 -05:00
  • 139e4aa635 feat: translate over to sqlx, remove diesel Xevion 2025-08-29 13:26:53 -05:00
  • 677bb05b87 chore: update & sort dependencies, add sqlx, remove 'migrations' Xevion 2025-08-29 12:52:33 -05:00
  • f2bd02c970 chore: add bacon config Xevion 2025-08-29 12:09:50 -05:00
  • 8cdf969a53 feat: command logging, explicit builtin command error handler Xevion 2025-08-29 12:09:37 -05:00
  • 4764d48ac9 feat: move scraper into separate module, begin building data models Xevion 2025-08-29 11:07:46 -05:00
  • e734e40347 feat: setup diesel & schema, course with metrics/audit tables Xevion 2025-08-27 18:57:43 -05:00
  • c7117f14a3 feat: smart day string, terse refactor and use types properly, work on unimplemented commands lightly, util modules, Xevion 2025-08-27 13:46:41 -05:00
  • cb8a595326 chore: solve lints, improve formatting Xevion 2025-08-27 12:19:17 -05:00
  • ac70306c04 feat: improve logging, solve lints, improve implementations, remove unused code, standardize things Xevion 2025-08-27 12:13:09 -05:00
  • 9972357cf6 feat: implement simple web service, improve ServiceManager encapsulation Xevion 2025-08-27 11:58:57 -05:00
  • 2ec899cf25 feat: by CRN querying, redis caching, fixed deserialization, gcal integration Xevion 2025-08-27 11:12:08 -05:00
  • ede064be87 feat: add current term identification, term point state machine Xevion 2025-08-27 02:36:22 -05:00
  • a17bcf0247 fix: broken recurrence, enhanced handling, simpler/terse form Xevion 2025-08-27 02:33:32 -05:00
  • c529bf9727 feat: sort meeting times in gcal command Xevion 2025-08-27 00:22:06 -05:00
  • 5ace08327d refactor: clean up MeetingScheduleInfo methods and enhance Term season handling Xevion 2025-08-27 00:11:33 -05:00
  • a01a30d047 feat: continue work on gcal, better meetings schedule types Xevion 2025-08-26 23:57:06 -05:00
  • 31ab29c2f1 feat!: first pass re-implementation of banner, gcal command Xevion 2025-08-26 20:53:21 -05:00
  • 5018ad0d31 chore: remove dummy service Xevion 2025-08-26 19:16:11 -05:00
  • 87100a57d5 feat: service manager for coordination, configureable smart graceful shutdown timeout Xevion 2025-08-26 18:45:22 -05:00
  • cff672b30a feat: use anyhow, refactor services & coordinator out of main.rs Xevion 2025-08-26 15:33:29 -05:00
  • d4c55a3fd8 feat!: begin rust rewrite Xevion 2025-08-26 15:22:44 -05:00
  • e081e7f493 feat: add google calendar link generation command Xevion 2025-08-26 12:29:27 -05:00
  • 5891bed728 test: fixup term_test as config_test, passing tests Xevion 2025-08-26 11:59:02 -05:00
  • 95e760c549 feat: move default term acquisition & season range from global into config state, LoadLocation once, remove bare constants Xevion 2025-08-26 11:53:29 -05:00
  • 5a722d16c6 docs: add trivial documentation for all types, functions, packages etc. Xevion 2025-08-26 11:39:30 -05:00
  • deef4cabaa chore: reformat markdown files Xevion 2025-08-26 11:21:43 -05:00
  • 49fa964d3a refactor: rearrange & rename files, fix meeting times response decode Xevion 2025-08-26 11:21:38 -05:00
  • ae50b1462c feat: implement resty http client, simplified request building, session timer middleware Xevion 2025-08-26 10:45:50 -05:00