mirror of
https://github.com/Xevion/Pac-Man.git
synced 2025-12-06 01:15:42 -06:00
Bumps the rust-minor group with 8 updates in the / directory: | Package | From | To | | --- | --- | --- | | [bitflags](https://github.com/bitflags/bitflags) | `2.9.4` | `2.10.0` | | [circular-buffer](https://github.com/andreacorbellini/rust-circular-buffer) | `1.1.0` | `1.2.0` | | rust-embed | `8.7.2` | `8.9.0` | | [tokio](https://github.com/tokio-rs/tokio) | `1.47.1` | `1.48.0` | | [http](https://github.com/hyperium/http) | `1.3.1` | `1.4.0` | | [hyper](https://github.com/hyperium/hyper) | `1.7.0` | `1.8.1` | | [bytes](https://github.com/tokio-rs/bytes) | `1.10.1` | `1.11.0` | | [bon](https://github.com/elastio/bon) | `3.7.2` | `3.8.1` | Updates `bitflags` from 2.9.4 to 2.10.0 - [Release notes](https://github.com/bitflags/bitflags/releases) - [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md) - [Commits](https://github.com/bitflags/bitflags/compare/2.9.4...2.10.0) Updates `circular-buffer` from 1.1.0 to 1.2.0 - [Release notes](https://github.com/andreacorbellini/rust-circular-buffer/releases) - [Changelog](https://github.com/andreacorbellini/rust-circular-buffer/blob/master/CHANGELOG.md) - [Commits](https://github.com/andreacorbellini/rust-circular-buffer/compare/v1.1.0...v1.2.0) Updates `rust-embed` from 8.7.2 to 8.9.0 Updates `serde` from 1.0.225 to 1.0.228 - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.225...v1.0.228) Updates `tokio` from 1.47.1 to 1.48.0 - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.47.1...tokio-1.48.0) Updates `http` from 1.3.1 to 1.4.0 - [Release notes](https://github.com/hyperium/http/releases) - [Changelog](https://github.com/hyperium/http/blob/master/CHANGELOG.md) - [Commits](https://github.com/hyperium/http/compare/v1.3.1...v1.4.0) Updates `hyper` from 1.7.0 to 1.8.1 - [Release notes](https://github.com/hyperium/hyper/releases) - [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md) - [Commits](https://github.com/hyperium/hyper/compare/v1.7.0...v1.8.1) Updates `bytes` from 1.10.1 to 1.11.0 - [Release notes](https://github.com/tokio-rs/bytes/releases) - [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md) - [Commits](https://github.com/tokio-rs/bytes/compare/v1.10.1...v1.11.0) Updates `bon` from 3.7.2 to 3.8.1 - [Release notes](https://github.com/elastio/bon/releases) - [Changelog](https://github.com/elastio/bon/blob/master/release-plz.toml) - [Commits](https://github.com/elastio/bon/compare/v3.7.2...v3.8.1) --- updated-dependencies: - dependency-name: bitflags dependency-version: 2.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: rust-minor - dependency-name: circular-buffer dependency-version: 1.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: rust-minor - dependency-name: rust-embed dependency-version: 8.9.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: rust-minor - dependency-name: serde dependency-version: 1.0.228 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: rust-minor - dependency-name: tokio dependency-version: 1.48.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: rust-minor - dependency-name: http dependency-version: 1.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: rust-minor - dependency-name: hyper dependency-version: 1.8.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: rust-minor - dependency-name: bytes dependency-version: 1.11.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: rust-minor - dependency-name: bon dependency-version: 3.8.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: rust-minor ... Signed-off-by: dependabot[bot] <support@github.com>
pacman-server
Despite the naming of this crate, it's not a server for the Pac-Man game allowing multiplayer or anything super interesting.
This crate is a webserver that hosts an OAuth login and leaderboard API for the main pacman crate to hook into.
Features
- Axum Webserver
- Health Check
- Inbound Rate Limiting
- Outbound Rate Limiting
- Provider Circuit Breaker
- Database
- OAuth
- Discord
- GitHub
- Leaderboard
- Score Submission
- Score Listings
- Pagination
- Global / Daily
- Name Restrictions & Flagging
- Avatars
- 8-bit Conversion
- Storage?
- Common Server/Client Crate
- CI/CD & Tests
Todo
- Refresh Token Handling (Encryption, Expiration & Refresh Timings)
- Refresh Token Background Job
- S3 Storage for Avatars
- Common Server/Client Crate, Basics
- Crate-level Log Level Configuration
- Span Tracing
- Avatar Pixelization
- Leaderboard API
- React-based Frontend
- Name Restrictions & Flagging
- Simple CI/CD Checks & Tests
- API Rate Limiting (outbound provider requests)
- API Rate Limiting (inbound requests, by IP, by User)
- Provider Circuit Breaker
- Merge migration files
Notes
Image Handling
Avatar images are stored in S3 as follows:
-
avatars/{user_public_id}/{avatar_hash}.original.png -
avatars/{user_public_id}/{avatar_hash}.mini.png -
The original image is converted to PNG and resized to a maximum of 512x512 pixels.
- Ideally, non-square images are fitted to a square.
-
The mini image is converted to PNG and resized to a maximum of 16x16, 24x24, or 32x32 pixels. TBD.
-
All images receive a Content-Type header of
image/png.
Image processing is handled immediately asynchronously, allowing a valid presigned URL to be generated immediately.