Commit Graph

175 Commits

Author SHA1 Message Date
MingxuanGame
900fa9b121 fix(score): fix incorrect best_id 2025-08-26 13:18:11 +08:00
MingxuanGame
9681aa68b4 feat(banchobot): show weighted pp in score commands 2025-08-26 13:18:11 +08:00
MingxuanGame
bab6f843a5 fix(user): fix online status 2025-08-26 13:18:11 +08:00
MingxuanGame
9d92fa0a68 fix(score): fix score process 2025-08-26 13:18:11 +08:00
MingxuanGame
8d38f230cb refactor(room): remove duplicated multiplayer event model 2025-08-26 13:18:11 +08:00
pre-commit-ci[bot]
7625cd99f5 chore(deps): auto fix by pre-commit hooks 2025-08-26 13:18:11 +08:00
咕谷酱
56d6911589 Add multiplayer room event model and channel ID allocation
Introduces the MultiplayerRealtimeRoomEvent SQLModel for tracking real-time room events. Adds an async helper to allocate unique channel IDs for rooms, and updates room creation logic to use this helper for assigning channel IDs automatically.
2025-08-26 13:18:11 +08:00
咕谷酱
fabc1e9e88 Refactor Playlist model and add timestamps migration
Simplifies the PlaylistBase id field to a non-optional int and updates database logic to use session.refresh for id assignment. Adds Alembic migration to include created_at and updated_at columns in room_playlists for timestamp tracking.
2025-08-26 13:18:11 +08:00
咕谷酱
97dcc86d4d Add endpoint to ensure beatmap presence and cache
Introduces a new /beatmaps/ensure API endpoint to verify and cache beatmap metadata and raw files. Updates Playlist model to use auto-incrementing primary key and improves playlist DB insertion logic. Minor formatting and import changes in room and lio modules.
2025-08-26 13:18:11 +08:00
咕谷酱
ea575de250 Add updated_at and created_at to Playlist model
Introduces created_at and updated_at fields to the Playlist model for tracking creation and modification times. Refactors room user removal logic to handle owner transfer and participant count updates more robustly. Updates room query logic for more accurate filtering by category and status. Adds migration stubs for updated_at column in room playlists.
2025-08-26 13:18:11 +08:00
咕谷酱
e0aae80f4b Add password support to multiplayer rooms
Introduces a password field to the Room model and database schema, enabling password-protected multiplayer rooms. Adds LIO router endpoints for room creation, user join/leave, and updates related imports and router registrations.
2025-08-26 13:18:11 +08:00
咕谷酱
207fc086c0 Merge branch 'main' of https://github.com/GooGuTeam/g0v0-server 2025-08-22 22:03:55 +08:00
咕谷酱
6bcd8c1a21 Add asset proxy feature for resource URLs
Introduces asset proxy configuration and services to enable replacement of osu! resource URLs with custom domains. Updates API endpoints and caching services to process and rewrite resource URLs when asset proxy is enabled. Adds documentation and environment variables for asset proxy setup.
2025-08-22 22:03:51 +08:00
MingxuanGame
2ac56ed3bf fix(daily-challenge): fix duplicated top 10%/50% placements 2025-08-22 13:38:52 +00:00
MingxuanGame
9e5b9f023d fix(config,event): remove unused code from 93257f4 2025-08-22 12:01:56 +00:00
咕谷酱
93257f424c Add email sending toggle and fix event timestamp default
Introduces enable_email_sending to control real email delivery in config. Updates Event.created_at to use default_factory for correct timestamp initialization.
2025-08-22 19:54:21 +08:00
MingxuanGame
9b00dbda28 refactor(project): use unified utcnow 2025-08-22 11:27:45 +00:00
MingxuanGame
545fc9e0c6 fix(recent_activity): fix rank & achievement event
运行 tools/fix_user_rank_event.py 修复现存的 event
2025-08-22 11:00:36 +00:00
MingxuanGame
598fcc8b38 refactor(project): make pyright & ruff happy 2025-08-22 08:21:52 +00:00
咕谷酱
3b1d7a2234 Fix: Handle 'user_agent' data truncation error 2025-08-22 15:17:03 +08:00
咕谷酱
e293d7541b rollback code 2025-08-22 15:07:50 +08:00
咕谷酱
c8a68f97ed Merge branch 'main' of https://github.com/GooGuTeam/g0v0-server 2025-08-22 14:03:00 +08:00
咕谷酱
b300ce9b09 修复多人游戏排行榜问题 2025-08-22 13:52:28 +08:00
咕谷酱
6136b9fed3 修复用户状态问题 2025-08-22 13:06:23 +08:00
MingxuanGame
f63eb97486 feat(team): support team 2025-08-22 04:21:36 +00:00
咕谷酱
e5dc11cf86 添加邮件队列 2025-08-22 09:22:34 +08:00
咕谷酱
3bee2421fa 添加邮件验证 2025-08-22 08:19:12 +08:00
咕谷酱
ce465aa049 整理代码 2025-08-22 05:57:28 +08:00
咕谷酱
71e5f1815e 修复多人游戏成绩上传报错 2025-08-22 02:26:39 +08:00
咕谷酱
1fe603f416 add message redis 2025-08-22 01:49:03 +08:00
咕谷酱
36b695b531 fix error 2025-08-22 00:32:37 +08:00
咕谷酱
49ac399180 fix Failed to refresh user cache after score submit 2025-08-22 00:25:58 +08:00
咕谷酱
80d4237c5d ruff fix 2025-08-22 00:07:19 +08:00
咕谷酱
ad51514fb1 fix Pydantic serializer warnings 2025-08-21 23:48:58 +08:00
咕谷酱
822d7c6377 Add grade hot cache 2025-08-21 23:35:25 +08:00
MingxuanGame
68e41126cd feat(achievements): add some achievements 2025-08-21 14:25:26 +00:00
MingxuanGame
1104ff6c54 feat(score): don't include in best performance for 0pp 2025-08-21 11:43:36 +00:00
MingxuanGame
49aa5edc96 fix(statistics): fix rank_history use country rank 2025-08-21 09:07:45 +00:00
MingxuanGame
068697355f feat(achievement): support obtain achievements 2025-08-21 08:50:16 +00:00
MingxuanGame
9fb0d0c198 feat(notification): support notification 2025-08-21 07:22:44 +00:00
MingxuanGame
ef1b699547 feat(daily-challenge): show statistics in profile 2025-08-20 04:24:00 +00:00
MingxuanGame
ce756c354b fix(statistics): run recalculate independently 2025-08-19 13:45:12 +00:00
MingxuanGame
d139abb807 fix(user): complete default_group & is_deleted 2025-08-19 11:44:46 +00:00
MingxuanGame
b5b14f5466 fix(score): cannot fetch leaderboard with mods 2025-08-18 12:49:06 +00:00
MingxuanGame
b2de0417d1 fix(user): incorrect count of best performances 2025-08-18 12:15:33 +00:00
MingxuanGame
505d790640 feat(user): add ISO 3166-1 code 2025-08-18 12:14:46 +00:00
MingxuanGame
4aff8cab2d fix(playlist): ItemAttemptsCount.completed includes failed scores 2025-08-18 12:06:55 +00:00
MingxuanGame
1aa0d42e79 fix(score): duplicated score when processing leaderboard scores 2025-08-18 11:08:20 +00:00
MingxuanGame
7510b4fae1 fix(score): return user score & remove duplicated scores 2025-08-18 09:49:02 +00:00
咕谷酱
72c3778424 fix Value cannot be null. 2025-08-18 17:44:49 +08:00