fix(spectator): wrong converted gamemode written into replay

This commit is contained in:
MingxuanGame
2025-07-27 11:47:09 +00:00
parent 589927a300
commit e34e35caf1
2 changed files with 4 additions and 5 deletions

View File

@@ -7,7 +7,6 @@ from typing import Any
from app.models.beatmap import BeatmapRankStatus
from .score import (
GameMode,
ScoreStatisticsInt,
)
from .signalr import MessagePackArrayModel
@@ -139,7 +138,7 @@ class StoreClientState(BaseModel):
state: SpectatorState | None
beatmap_status: BeatmapRankStatus
checksum: str
gamemode: GameMode
ruleset_id: int
score_token: int
watched_user: set[int]
score: StoreScore

View File

@@ -12,7 +12,7 @@ from app.database.user import User
from app.dependencies.database import engine
from app.models.beatmap import BeatmapRankStatus
from app.models.mods import mods_to_int
from app.models.score import MODE_TO_INT, LegacyReplaySoloScoreInfo, ScoreStatisticsInt
from app.models.score import LegacyReplaySoloScoreInfo, ScoreStatisticsInt
from app.models.spectator_hub import (
APIUser,
FrameDataBundle,
@@ -171,7 +171,7 @@ class SpectatorHub(Hub):
state=state,
beatmap_status=beatmap.beatmap_status,
checksum=beatmap.checksum,
gamemode=beatmap.mode,
ruleset_id=state.ruleset_id,
score_token=score_token,
watched_user=set(),
score=StoreScore(
@@ -245,7 +245,7 @@ class SpectatorHub(Hub):
await session.commit()
await session.refresh(score_record)
save_replay(
ruleset_id=MODE_TO_INT[store.gamemode],
ruleset_id=store.ruleset_id,
md5=store.checksum,
username=store.score.score_info.user.name,
score=score_record,