MingxuanGame
ec8bb02935
chore(linter): remove unnecessary blank line in BeatmapRawFetcher class
2025-11-09 04:04:17 +00:00
MingxuanGame
3a00ca9b91
fix(fetcher): fix unretieved exceptions
2025-11-09 09:37:59 +08:00
MingxuanGame
2bd770a995
fix(user): fix missing greenlet when invalidating cache
2025-11-09 09:35:21 +08:00
dependabot[bot]
20ccd3e979
chore(deps): bump the minor-and-patch group with 4 updates ( #81 )
...
Bumps the minor-and-patch group with 4 updates: [fastapi](https://github.com/fastapi/fastapi ), [newrelic](https://github.com/newrelic/newrelic-python-agent ), [pre-commit](https://github.com/pre-commit/pre-commit ) and [ruff](https://github.com/astral-sh/ruff ).
Updates `fastapi` from 0.120.4 to 0.121.1
- [Release notes](https://github.com/fastapi/fastapi/releases )
- [Commits](https://github.com/fastapi/fastapi/compare/0.120.4...0.121.1 )
Updates `newrelic` from 11.0.1 to 11.1.0
- [Release notes](https://github.com/newrelic/newrelic-python-agent/releases )
- [Commits](https://github.com/newrelic/newrelic-python-agent/compare/v11.0.1...v11.1.0 )
Updates `pre-commit` from 4.3.0 to 4.4.0
- [Release notes](https://github.com/pre-commit/pre-commit/releases )
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md )
- [Commits](https://github.com/pre-commit/pre-commit/compare/v4.3.0...v4.4.0 )
Updates `ruff` from 0.14.3 to 0.14.4
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.3...0.14.4 )
---
updated-dependencies:
- dependency-name: fastapi
dependency-version: 0.121.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: newrelic
dependency-version: 11.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: pre-commit
dependency-version: 4.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: ruff
dependency-version: 0.14.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-09 09:27:38 +08:00
MingxuanGame
05ccf5991f
feat(funding): add custom funding link for community support
2025-11-08 20:18:26 +00:00
MingxuanGame
27f345cb75
feat(fetcher): replace HTTPError with NoBeatmapError for better error handling
2025-11-08 20:03:25 +00:00
MingxuanGame
05540d44d0
feat(fetcher): optimize the process of getting beatmap raw to boost recalculate
2025-11-08 19:42:47 +00:00
MingxuanGame
6753843158
fix(docker): correct CALCULATOR_CONFIG format in docker-compose files
2025-11-08 18:42:22 +00:00
MingxuanGame
a46b17fce4
feat(recalculate): add --additional-count & --max-cached-beatmaps-count to batch calculate
2025-11-08 18:31:00 +00:00
MingxuanGame
5c2687e1e4
feat(cache): add user cache invalidation for avatar, cover, and beatmapset updates
2025-11-08 18:14:51 +00:00
MingxuanGame
0be3e903d4
feat(performance-point): switch performance calculator to performance-server ( #80 )
...
* feat(config): make `performance_server` as default calculator
* deploy(docker): use osu-performance-server
* docs(readme): add ruleset download instructions
* chore(dev): update development environment
* feat(dev): update development environment setup and service startup order
* fix(deps): move `rosu-pp-py` to `project.optional-dependencies`
* feat(beatmap): handle deleted beatmaps
* feat(performance-server): add a long timeout for calculation
* feat(recalculate): enhance CLI arguments for performance, leaderboard, and rating recalculations with CSV output support
* fix(recalculate): resolve reviews
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix(beatmapsync): resolve too long line
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-09 01:59:09 +08:00
MingxuanGame
293e57aea3
docs(configuration): update spectator-server documents
2025-11-08 13:09:40 +00:00
MingxuanGame
f289e8b74b
fix(scripts): import Settings directly from app.config
2025-11-08 13:08:23 +00:00
MingxuanGame
7d6d5696db
feat(user): add api /api/v2/me/beatmapset-favourites
2025-11-08 13:02:33 +00:00
dependabot[bot]
18caf1763f
chore(deps): bump redis from 6.4.0 to 7.0.1 ( #74 )
...
Bumps [redis](https://github.com/redis/redis-py ) from 6.4.0 to 7.0.1.
- [Release notes](https://github.com/redis/redis-py/releases )
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES )
- [Commits](https://github.com/redis/redis-py/compare/v6.4.0...v7.0.1 )
---
updated-dependencies:
- dependency-name: redis
dependency-version: 7.0.1
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-08 21:02:18 +08:00
allcontributors[bot]
aa5592917d
docs(contributors): add kyiuu1 as a contributor for ideas ( #69 )
...
* docs: update README.md
* docs: update README.en.md
* docs: update .all-contributorsrc
---------
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-11-08 20:56:52 +08:00
Copilot
d9d26d0523
feat(statistics): store ranked_score & total_score under classic scoring mode ( #68 )
...
* Initial plan
* feat(calculator): add classic score simulator and scoring mode support
- Add ScoringMode enum with STANDARDISED and CLASSIC modes
- Add scoring_mode configuration to game settings
- Implement GetDisplayScore function in calculator.py
- Add get_display_score method to Score model
- Update score statistics to use display scores based on scoring mode
Co-authored-by: MingxuanGame <68982190+MingxuanGame@users.noreply.github.com >
* fix(calculator): apply scoring mode to TotalScoreBestScore delete method
- Update delete method to use display score for consistency
- Ensures all UserStatistics modifications use configured scoring mode
Co-authored-by: MingxuanGame <68982190+MingxuanGame@users.noreply.github.com >
* refactor(calculator): address code review feedback
- Move MAX_SCORE constant to app/const.py
- Implement is_basic() as method in HitResult enum
- Move imports to top of file in Score model
- Revert TotalScoreBestScore storage to use standardised score
- Apply display score calculation in tools/recalculate.py
- Keep display score usage in UserStatistics modifications
Co-authored-by: MingxuanGame <68982190+MingxuanGame@users.noreply.github.com >
* chore(linter): auto fix by pre-commit hooks
* Don't use forward-ref for `ScoringMode`
* chore(linter): auto fix by pre-commit hooks
* fix(calculator): update HitResult usage in get_display_score and adjust ruleset value in PerformanceServerPerformanceCalculator
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: MingxuanGame <MingxuanGame@outlook.com >
2025-11-08 20:56:29 +08:00
MingxuanGame
ef3a900de0
chore(custom-ruleset): update custom ruleset definitions ( #79 )
2025-11-08 19:33:57 +08:00
MingxuanGame
65d7fd241b
chore(pre-commit): update branch name
2025-11-08 16:50:18 +08:00
dependabot[bot]
c177735fd0
chore(deps): bump docker/build-push-action from 5 to 6 ( #72 )
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 10:19:59 +08:00
dependabot[bot]
6a5ad0f57c
chore(deps): bump astral-sh/setup-uv from 6 to 7 ( #70 )
...
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv ) from 6 to 7.
- [Release notes](https://github.com/astral-sh/setup-uv/releases )
- [Commits](https://github.com/astral-sh/setup-uv/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 10:19:33 +08:00
dependabot[bot]
a4599de6f9
chore(deps): bump actions/checkout from 4 to 5 ( #71 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 10:19:21 +08:00
dependabot[bot]
811cbdf340
chore(deps): bump the minor-and-patch group with 13 updates ( #73 )
...
Bumps the minor-and-patch group with 13 updates:
| Package | From | To |
| --- | --- | --- |
| [aioboto3](https://github.com/terricain/aioboto3 ) | `15.1.0` | `15.5.0` |
| [aiomysql](https://github.com/aio-libs/aiomysql ) | `0.2.0` | `0.3.2` |
| [alembic](https://github.com/sqlalchemy/alembic ) | `1.16.5` | `1.17.1` |
| [apscheduler](https://github.com/agronholm/apscheduler ) | `3.11.0` | `3.11.1` |
| [bleach](https://github.com/mozilla/bleach ) | `6.2.0` | `6.3.0` |
| [cryptography](https://github.com/pyca/cryptography ) | `46.0.2` | `46.0.3` |
| [fastapi](https://github.com/fastapi/fastapi ) | `0.118.0` | `0.120.4` |
| [newrelic](https://github.com/newrelic/newrelic-python-agent ) | `11.0.0` | `11.0.1` |
| [python-dotenv](https://github.com/theskumar/python-dotenv ) | `1.1.1` | `1.2.1` |
| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy ) | `2.0.43` | `2.0.44` |
| [sqlmodel](https://github.com/fastapi/sqlmodel ) | `0.0.25` | `0.0.27` |
| [pyright](https://github.com/RobertCraigie/pyright-python ) | `1.1.406` | `1.1.407` |
| [ruff](https://github.com/astral-sh/ruff ) | `0.13.3` | `0.14.3` |
Updates `aioboto3` from 15.1.0 to 15.5.0
- [Changelog](https://github.com/terricain/aioboto3/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/terricain/aioboto3/compare/v15.1.0...v15.5.0 )
Updates `aiomysql` from 0.2.0 to 0.3.2
- [Release notes](https://github.com/aio-libs/aiomysql/releases )
- [Changelog](https://github.com/aio-libs/aiomysql/blob/main/CHANGES.txt )
- [Commits](https://github.com/aio-libs/aiomysql/compare/v0.2.0...v0.3.2 )
Updates `alembic` from 1.16.5 to 1.17.1
- [Release notes](https://github.com/sqlalchemy/alembic/releases )
- [Changelog](https://github.com/sqlalchemy/alembic/blob/main/CHANGES )
- [Commits](https://github.com/sqlalchemy/alembic/commits )
Updates `apscheduler` from 3.11.0 to 3.11.1
- [Release notes](https://github.com/agronholm/apscheduler/releases )
- [Changelog](https://github.com/agronholm/apscheduler/blob/3.11.1/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/apscheduler/compare/3.11.0...3.11.1 )
Updates `bleach` from 6.2.0 to 6.3.0
- [Changelog](https://github.com/mozilla/bleach/blob/main/CHANGES )
- [Commits](https://github.com/mozilla/bleach/compare/v6.2.0...v6.3.0 )
Updates `cryptography` from 46.0.2 to 46.0.3
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/46.0.2...46.0.3 )
Updates `fastapi` from 0.118.0 to 0.120.4
- [Release notes](https://github.com/fastapi/fastapi/releases )
- [Commits](https://github.com/fastapi/fastapi/compare/0.118.0...0.120.4 )
Updates `newrelic` from 11.0.0 to 11.0.1
- [Release notes](https://github.com/newrelic/newrelic-python-agent/releases )
- [Commits](https://github.com/newrelic/newrelic-python-agent/compare/v11.0.0...v11.0.1 )
Updates `python-dotenv` from 1.1.1 to 1.2.1
- [Release notes](https://github.com/theskumar/python-dotenv/releases )
- [Changelog](https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md )
- [Commits](https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.1 )
Updates `sqlalchemy` from 2.0.43 to 2.0.44
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases )
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst )
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits )
Updates `sqlmodel` from 0.0.25 to 0.0.27
- [Release notes](https://github.com/fastapi/sqlmodel/releases )
- [Changelog](https://github.com/fastapi/sqlmodel/blob/main/docs/release-notes.md )
- [Commits](https://github.com/fastapi/sqlmodel/compare/0.0.25...0.0.27 )
Updates `pyright` from 1.1.406 to 1.1.407
- [Release notes](https://github.com/RobertCraigie/pyright-python/releases )
- [Commits](https://github.com/RobertCraigie/pyright-python/compare/v1.1.406...v1.1.407 )
Updates `ruff` from 0.13.3 to 0.14.3
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.13.3...0.14.3 )
---
updated-dependencies:
- dependency-name: aioboto3
dependency-version: 15.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: aiomysql
dependency-version: 0.3.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: alembic
dependency-version: 1.17.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: apscheduler
dependency-version: 3.11.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: bleach
dependency-version: 6.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: cryptography
dependency-version: 46.0.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: fastapi
dependency-version: 0.120.4
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: newrelic
dependency-version: 11.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: python-dotenv
dependency-version: 1.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: sqlalchemy
dependency-version: 2.0.44
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: sqlmodel
dependency-version: 0.0.27
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: pyright
dependency-version: 1.1.407
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: ruff
dependency-version: 0.14.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 10:18:49 +08:00
dependabot[bot]
9be89d764c
chore(deps): bump maxminddb from 2.8.2 to 3.0.0 ( #75 )
...
Bumps [maxminddb](https://github.com/maxmind/MaxMind-DB-Reader-python ) from 2.8.2 to 3.0.0.
- [Release notes](https://github.com/maxmind/MaxMind-DB-Reader-python/releases )
- [Changelog](https://github.com/maxmind/MaxMind-DB-Reader-python/blob/main/HISTORY.rst )
- [Commits](https://github.com/maxmind/MaxMind-DB-Reader-python/compare/v2.8.2...v3.0.0 )
---
updated-dependencies:
- dependency-name: maxminddb
dependency-version: 3.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 10:16:04 +08:00
dependabot[bot]
05134d260e
chore(deps): bump pillow from 11.3.0 to 12.0.0 ( #76 )
...
Bumps [pillow](https://github.com/python-pillow/Pillow ) from 11.3.0 to 12.0.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases )
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst )
- [Commits](https://github.com/python-pillow/Pillow/compare/11.3.0...12.0.0 )
---
updated-dependencies:
- dependency-name: pillow
dependency-version: 12.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 10:14:06 +08:00
dependabot[bot]
39daebd589
chore(deps): bump aiofiles from 24.1.0 to 25.1.0 ( #77 )
...
Bumps [aiofiles](https://github.com/Tinche/aiofiles ) from 24.1.0 to 25.1.0.
- [Release notes](https://github.com/Tinche/aiofiles/releases )
- [Changelog](https://github.com/Tinche/aiofiles/blob/main/CHANGELOG.md )
- [Commits](https://github.com/Tinche/aiofiles/compare/v24.1.0...v25.1.0 )
---
updated-dependencies:
- dependency-name: aiofiles
dependency-version: 25.1.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 10:13:22 +08:00
Copilot
bb24b5ae4d
chore(deps): add Dependabot configuration for automated dependency updates ( #65 )
...
* Initial plan
* chore(deps): add Dependabot configuration for Python, GitHub Actions, and Docker
Co-authored-by: MingxuanGame <68982190+MingxuanGame@users.noreply.github.com >
* chore(deps): switch to uv ecosystem and change schedule to Sunday
Co-authored-by: MingxuanGame <68982190+MingxuanGame@users.noreply.github.com >
* chore(deps): use type/dependencies label only
Co-authored-by: MingxuanGame <68982190+MingxuanGame@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: MingxuanGame <68982190+MingxuanGame@users.noreply.github.com >
2025-11-02 09:49:34 +08:00
MingxuanGame
55604621cf
chore(custom-ruleset): Update custom ruleset definitions ( #64 )
2025-11-01 17:12:56 +08:00
MingxuanGame
cf160f1357
feat(user-preference): restrict playmode update to official modes only
2025-10-26 14:18:00 +00:00
MingxuanGame
2519301690
chore(custom-ruleset): Update custom ruleset definitions ( #63 )
2025-10-26 21:22:17 +08:00
MingxuanGame
f6e2e8ed44
deploy(docker): update spectator image to support custom rulesets
2025-10-26 13:14:53 +00:00
MingxuanGame
33f321952d
feat(custom-rulesets): support custom rulesets ( #23 )
...
* feat(custom_ruleset): add custom rulesets support
* feat(custom-ruleset): add version check
* feat(custom-ruleset): add LegacyIO API to get ruleset hashes
* feat(pp): add check for rulesets whose pp cannot be calculated
* docs(readme): update README to include support for custom rulesets
* fix(custom-ruleset): make `rulesets` empty instead of throw a error when version check is disabled
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* chore(custom-ruleset): apply the latest changes of generator
c891bcd159
and
e25041ad3b
* feat(calculator): add fallback performance calculation for unsupported modes
* fix(calculator): remove debug print
* fix: resolve reviews
* feat(calculator): add difficulty calculation checks
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-10-26 21:10:36 +08:00
MingxuanGame
8f4a9d5fed
feat(fetcher): use client_credentials grant type to avoid missing refresh token ( #62 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-10-25 20:01:50 +08:00
MingxuanGame
2c81e22749
feat(calculator): support generate PerformanceAttributes & DifficultyAttributes from JSON Schema ( #59 )
...
Prepare for custom rulesets.
Schema Genetator: https://github.com/GooGuTeam/custom-rulesets/tree/main/CustomRulesetMetadataGenerator
```bash
dotnet -- schemas path/to/rulesets -o schema.json
```
```bash
python scripts/generate_ruleset_attributes.py schema.json
```
2025-10-25 19:10:53 +08:00
allcontributors[bot]
f792d146b5
docs(contributors): add 4aya as a contributor for ideas ( #61 )
...
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: MingxuanGame <MingxuanGame@outlook.com >
2025-10-25 18:57:08 +08:00
MingxuanGame
07bf9864d2
docs(all-contributors): add initial contributors list
2025-10-19 18:29:11 +08:00
MingxuanGame
965c96d0b2
feat(config): add docs for matchmaking
2025-10-18 16:08:00 +00:00
咕谷酱
a4dbb9a167
feat(matchmaking): support matchmaking ( #48 )
2025-10-19 00:05:06 +08:00
MingxuanGame
b180d3f39d
fix(config): add missing code-block end
2025-10-18 11:12:53 +00:00
MingxuanGame
8790ccad64
feat(pp-calculator): support other pp calculators ( #57 )
...
New configurations:
- CALCULATOR="rosu": specific pp calculator
- CALCULATOR_CONFIG='{}': argument passed through into calculator
2025-10-18 19:10:53 +08:00
MingxuanGame
563a30d28f
chore(model): remove empty SignalR files
2025-10-12 17:09:35 +08:00
MingxuanGame
2b78920fed
fix(recalculate-job): rename job id for recalculate_failed_beatmap
2025-10-12 16:16:50 +08:00
咕谷酱
de917b7456
Delete osu-web-master directory
2025-10-12 03:36:38 +08:00
咕谷酱
a10c07dc57
Align session verification logic with osu-web
...
Updated session verification method selection to match osu-web's State.php:36 logic, using SUPPORT_TOTP_VERIFICATION_VER for version checks and prioritizing TOTP when available. Added example environment files for osu-web-master to support local, dusk, and testing setups.
2025-10-12 03:34:38 +08:00
咕谷酱
0e2df8dfef
Fix trusted_device flag inversion in session creation
...
Corrects the logic for the trusted_device parameter when creating login sessions by inverting its value. This ensures that the session accurately reflects whether the device is trusted or not.
2025-10-12 03:17:56 +08:00
咕谷酱
a8af03a464
Update .env.example
2025-10-12 02:52:22 +08:00
咕谷酱
73d25c7604
Add Cloudflare Turnstile verification to auth flows
...
Introduces Cloudflare Turnstile verification for registration, OAuth password grant, and password reset endpoints (excluding osu! client). Adds related configuration options and a new service for token validation. Also refactors password change logic to support TOTP or password-based verification, improving security for users with TOTP enabled.
2025-10-12 02:39:46 +08:00
咕谷酱
301130df02
Refactor SMTP config usage in EmailQueue
...
Move SMTP configuration retrieval from class initialization to method scope in send_email_by_smtp. This improves encapsulation and ensures the latest settings are used when sending emails.
2025-10-12 00:47:18 +08:00
咕谷酱
6731373ded
Add MailerSend and template-based email verification
...
Introduced support for MailerSend as an email provider alongside SMTP, with configuration options in settings. Added Jinja2-based multi-language email templates for verification emails, and refactored the email sending logic to use these templates and support language selection based on user country code. Updated related services and API endpoints to pass country code and handle new response formats. Added dependencies for Jinja2 and MailerSend.
2025-10-12 00:36:47 +08:00
MingxuanGame
a32976857f
feat(score): invalidate cache when pin/unpin/reorder scores
2025-10-08 06:12:12 +00:00