osuAkatsuki / bancho.py

An osu! server for the generic public, optimized for maintainability in modern python
https://akatsuki.gg
MIT License
201 stars 126 forks source link

fix: ensure frozen state on database and cache are in sync on !map #534

Closed minisbett closed 7 months ago

minisbett commented 9 months ago

Describe your changes

When using the !map command to update the status of a beatmap the map is always being frozen. Currently however, the code does set frozen to true in the database, but for the local cache it only updates the status.

I noticed this when debugging #420 and this PR might offer the solution for that issue. I invalidated the cache when debugging (_cache_expired always returned true) which meant it's always being fetched from the api, which caused the status to be reverted because when checking whether it's frozen on the api check it wasn't (since it checks the cache where it was false, not the database where it's true).

Related Issues / Projects

Checklist