Lobby screen stays drawn behind the run after the game starts

Ouverte
#44 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@Jr-JoshS y travaille déjà.

Depuis le 31/10/2026.

  • #45 par @Jr-JoshS — ouverte

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
20/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
lua
Domaine
game-dev

Piste de recherche

Start at G.FUNCS.start_run and Game:delete_run, then at MPAPI.refresh_current_view() and its G.STAGE check, to see how a lobby update can rebuild G.MAIN_MENU_UI during the gap before the run starts. The work is already under way: open PR #45 is linked. Check that PR's approach first, and a fix is done when the lobby UI is gone after a delayed delete_run in a three-client Royale lobby.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Reported in #bugs-and-issues with a screenshot: in a Battle Royale, one player had the pre-match lobby screen (Ready, the deck/stake chip, View Code, Leave Lobby) drawn behind the game for the whole run.

Why: G.FUNCS.start_run runs delete_run (which removes the menu) and then, a tick later, start_run. In that gap G.STAGE is still MAIN_MENU, so a lobby update arriving then (e.g. the host writing lobby metadata at the start) calls MPAPI.refresh_current_view(), which passes its G.STAGE check and rebuilds the lobby page as a new G.MAIN_MENU_UI. Nothing removes it when the run starts. It's more likely on a slower PC (a longer gap) and in Royale (more lobby updates around the start).

To reproduce: 3 players in a private Royale lobby, opened from the PvP menu. Make one guest slow to start (e.g. delay its Game:delete_run by 0.5s) and have the host change lobby metadata repeatedly while starting. That guest has G.MAIN_MENU_UI ~= nil during the run, and the lobby cards and buttons show behind the blind select.

Reproduced with three clients on a local server.

Langage dominant
Lua
Étoiles
9
Forks
4
Merge moyen
19 h 50 min
PR mergées (30 j)
11

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de Balatro-Multiplayer/BalatroMultiplayerAPI

Toutes les issues de Balatro-Multiplayer/BalatroMultiplayerAPI

Issues similaires

Plus d'issues Lua

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.