Ryan Walters
07e0709c50
test: A/B test cargo-vcpkg vs manual vcpkg with 2025.10.17
...
Adds cargo-vcpkg step alongside manual vcpkg for macOS to determine if
the fix is due to using manual vcpkg or simply upgrading to vcpkg
2025.10.17. Both methods will run to compare behavior.
- Updated vcpkg baseline from 2024.11.16 to 2025.10.17
- Restored macOS triplets in Cargo.toml
- Added duplicate cargo-vcpkg step for macOS builds
2025-11-02 11:52:39 -06:00
Ryan Walters
aeb03aaf52
fix: use manual vcpkg installation for macOS builds
...
Replaces cargo-vcpkg with direct vcpkg installation for macOS to fix
libogg build failures. Uses vcpkg 2025.10.17 with proper SDL2 package
installation and VCPKG_ROOT environment variable for rust-sdl2
integration. Windows and Linux continue using cargo-vcpkg.
2025-11-02 11:34:55 -06:00
Ryan Walters
3f6126418a
ci: update macOS runner versions in build workflow
...
Update GitHub Actions macOS runners to use macos-15-intel for x86_64 and macos-15 for aarch64 targets to align with latest runner availability.
2025-11-02 10:43:19 -06:00
Ryan Walters
54ef292606
chore: update vcpkg baseline to 2024.11.16
...
Updates vcpkg from 2024.05.24 to stable 2024.11.16 release to fix
platform-specific build failures. Avoids 2025.x versions which have
breaking vcpkgTools.xml changes incompatible with cargo-vcpkg.
2025-11-02 10:34:54 -06:00
Ryan Walters
13e592502f
fix: update vcpkg cache paths and web serve directory
...
Update GitHub Actions workflows to use correct Cargo.toml/Cargo.lock paths
in root directory instead of pacman/ subdirectory. Fix Justfile web command
to serve from web/dist/client instead of pacman/dist.
2025-11-02 09:57:02 -06:00
Ryan Walters
d9519746b8
fix: proper asset path for emscripten
2025-09-29 15:29:52 -05:00
Ryan Walters
55b31ba31e
feat: setup 'web' frontend
2025-09-25 12:37:21 -05:00
Ryan Walters
c524fdb3e7
fix: rewrite oauth provider linking system, add email_verified attribute for providers
2025-09-24 13:38:31 -05:00
Ryan Walters
bdd3c74a2d
refactor: general improvements, better comments, structuring of oauth flow (but still broken)
2025-09-24 13:13:10 -05:00
Ryan Walters
655c3c68d5
chore: limit retry to once
2025-09-24 12:08:04 -05:00
Ryan Walters
6134da1d49
chore: log testcontainer request duration, limit request trace to just image
2025-09-24 12:06:24 -05:00
Ryan Walters
0b5aeceb51
feat: improve test reliability and add request tracing
...
- Add retry configuration for flaky tests (2 retries for default, 3 for
OAuth)
- Configure test groups with proper concurrency limits (serial: 1,
integration: 4)
- Add tower-http tracing layer with custom span formatting for HTTP
requests
- Simplify database pool handling by removing unnecessary Arc wrapper
- Improve test context setup with better logging and error handling
- Refactor user creation parameters for better clarity and consistency
- Add debug logging for OAuth cookie handling
2025-09-19 17:35:53 -05:00
Ryan Walters
e1b266f3b2
refactor: rename Claims fields internally, maintain terse serialization with serde rename
2025-09-19 11:56:02 -05:00
Ryan Walters
76985f6390
refactor: allow testing of mocked providers via AuthRegistry creation, avoid creation of responses in auth
2025-09-19 11:50:25 -05:00
Ryan Walters
4a041a7695
test: apply coverage filters to pacman-server crate
2025-09-19 10:46:23 -05:00
Ryan Walters
62b619a3cc
ci: adjust timeouts for nextest given docker requirements
2025-09-19 10:28:59 -05:00
Ryan Walters
67c9460c84
refactor(auth): implement session-based PKCE and eliminate provider duplication
...
- Replace in-memory PKCE storage with encrypted session cookies
- Add PKCE verifier and CSRF state fields to JWT Claims struct
- Move common PKCE validation logic to OAuthProvider trait
- Extract provider-specific methods for token exchange and user fetching
- Remove PkceManager and DashMap-based storage system
- Update GitHub and Discord providers to use new session-based approach
2025-09-19 10:23:33 -05:00
Ryan Walters
7e98bc7488
test: add low slow-timeout for nextest
2025-09-19 09:50:48 -05:00
Ryan Walters
698f95ff32
refactor: clean test setup code, cleanup tests, separate into different files
2025-09-19 09:50:22 -05:00
Ryan Walters
54eca9f447
fix: install crypto provider default select
2025-09-19 08:54:20 -05:00
Ryan Walters
f9e79eb6d6
fix: move railway.json to root, explicitly configure with Dockerfile
2025-09-19 08:35:47 -05:00
Ryan Walters
408b660490
fix: drop unused fast_image_resize, drop toolchain back to 1.86, limit emscripten build to pacman project properly
2025-09-18 23:16:55 -05:00
Ryan Walters
cc06cd88a1
refactor: allow optional database in setup, use derived default
2025-09-18 22:58:38 -05:00
Ryan Walters
e2c725cb95
feat: allow health check forcing in debug, setup test mocking, plan out integration tests
2025-09-18 22:42:00 -05:00
Ryan Walters
350f92ab21
tests: setup basic tests, integration tests with testcontainers
2025-09-18 21:33:15 -05:00
Ryan Walters
3ad00bdcba
chore: setup lib for testing, image handling notes in README
2025-09-18 13:18:53 -05:00
Ryan Walters
7f9d3e9158
feat: implement r2 image upload for avatars
2025-09-18 13:18:14 -05:00
Ryan Walters
56e02e7253
refactor: remove unnecessary HashMap for passing code/state strings, formatter lifetime tweak
2025-09-17 13:18:58 -05:00
Ryan Walters
e2f3f6790f
refactor: create common pkce handling, max_age on link cookie
2025-09-17 13:08:48 -05:00
Ryan Walters
1be59f474d
feat: add Server header middleware, bump version to v0.4.0
2025-09-17 12:37:12 -05:00
Ryan Walters
916428fe76
feat: setup healthcheck route & background task
2025-09-17 12:32:52 -05:00
Ryan Walters
e02c2286bb
chore: add .scripts with local postgres setup script, setup todo list in README
2025-09-17 12:23:55 -05:00
Ryan Walters
c12dc11d8f
feat: normalize provider details into oauth_accounts table, auth linking intent, provider array in profile response
2025-09-17 11:17:31 -05:00
Ryan Walters
1cf3b901e8
feat: users table with sqlx, migrations, data persistence
2025-09-17 09:43:52 -05:00
Ryan Walters
ac1417aabc
feat: discord oauth provider, setup provider list route, add 'active' method, common type alias
2025-09-17 09:23:31 -05:00
Ryan Walters
8e23fb66a4
feat: setup smarter PKCE map purging & BasicClient type alias, smarter EnvFilter string building
2025-09-17 04:06:52 -05:00
Ryan Walters
92acb07b04
feat: setup tracing calls throughout project
2025-09-17 04:05:59 -05:00
Ryan Walters
18e750fa61
feat: add tracing/tracing-subscriber, setup CustomPrettyFormatter & CustomJsonFormatter
2025-09-17 03:48:35 -05:00
Ryan Walters
8d9c0621c9
feat: proper shutdown timeout handling
2025-09-17 03:41:13 -05:00
Ryan Walters
750b47b609
feat: add SIGINT/SIGTERM graceful shutdown handling
2025-09-17 03:36:59 -05:00
Ryan Walters
b1fae907ee
chore: add railway.json drainingSeconds
2025-09-17 03:33:39 -05:00
Ryan Walters
f3db44c48b
feat: setup github provider with generic trait, proper routes, session & jwt handling, errors & user agent
2025-09-17 03:33:18 -05:00
Ryan Walters
264478bdaa
chore: reformat recipes, add server/docker recipes, strip symbols for release
2025-09-17 01:30:04 -05:00
Ryan Walters
f69a5c7d52
feat: initial server config & Dockerfile
2025-09-16 22:13:35 -05:00
Ryan Walters
7ede82cc5d
feat: add pacman-common/pacman-server crates
v0.81.1
2025-09-16 09:36:12 -05:00
Ryan Walters
d0ee7db2ef
fix: update workspace Cargo.toml, README.md workspace distinctions
v0.81.0
2025-09-16 09:19:23 -05:00
Ryan Walters
a3c4c94d42
refactor: create workspace, move 'pacman' into pacman/ subfolder as workspace member
2025-09-16 01:07:16 -05:00
Ryan Walters
841cf5b83e
feat: implement pause state management and single tick command
2025-09-11 17:03:24 -05:00
Ryan Walters
a887fae00f
feat: separate player/ghost collider sizes, move fruit sprite up 1 pixel, add fruit TTL
v0.80.3
2025-09-11 14:46:07 -05:00
Ryan Walters
273385dfe4
refactor: improve audio system states, add try_new(), organize constants, volume memory
2025-09-11 14:45:48 -05:00