Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Read & store score total without mods on submission #11211

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

bdach
Copy link
Contributor

@bdach bdach commented May 13, 2024

This is being sent from the client after ppy/osu#27912. There's no actual release with that pull out yet, so if you wanna test full-stack, test with latest game master.

The intended place of storage is the data json. @peppy initially wanted to do a new column for this, but unfortunately due to the fact that columns cannot be added online to ROW_FORMAT=COMPRESSED tables, this is not very easy to do on a table with several billion records inside. Thus in the json it goes. It's not guaranteed json will be much better either due to the unpredictable behaviour of json compression, but it seems to be the best way forward.

The param is nullable / allowed-missing for now. It will probably cease to be after submission is disabled for clients that don't send it, and all rows that have it missing are back-populated.

The end goal in sight here is to be able to do perpetual mod multiplier rebalances without precision loss, e.g. ppy/osu#27685. In the future this could also prove useful for something like custom mod multiplier support for tournaments.

@nanaya
Copy link
Collaborator

nanaya commented May 23, 2024

are we going ahead with this? seems working apart of the interface in solo-score-json.ts can use an update.

@bdach
Copy link
Contributor Author

bdach commented May 23, 2024

seems working apart of the interface in solo-score-json.ts can use an update.

Correct me if I'm wrong but that looks like a frontend-facing interface? I wasn't really intending on exposing this to the frontend at all, it's basically only intended for internal / maintenance usage for when we do need to rebalance mod multipliers for the time being.

@nanaya
Copy link
Collaborator

nanaya commented May 23, 2024

yeah but the it kind of documents what attributes the json has

bdach added a commit to bdach/osu-web that referenced this pull request May 23, 2024
@bdach
Copy link
Contributor Author

bdach commented May 23, 2024

Does 1ded710 work for that? Do I need to be doing other than just that?

@@ -48,6 +48,7 @@ type SoloScoreJsonDefaultAttributes = {
started_at: string | null;
statistics: Partial<Record<SoloScoreStatisticsAttribute, number>>;
total_score: number;
total_score_without_mods?: boolean;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes but why is it a boolean 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

whoooooooooooooooooops

@bdach bdach force-pushed the total-score-without-mods branch from 1ded710 to c866744 Compare May 23, 2024 09:59
Copy link
Collaborator

@nanaya nanaya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

kinda wonder about the length of the key though (total_score_without_mods)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging this pull request may close these issues.

None yet

2 participants