Fix login form fields reappearing after Play -> Back (real playtest bug)
_show_authenticated() (the session-restore path, used when returning to main_menu.tscn -- e.g. after clicking Back from world_list) only hid EmailEdit/Over18Check, unlike _on_auth_complete() (the fresh-login path) which hides the full form: UsernameEdit, PasswordEdit, EmailEdit, Over18Check, AuthButton, AuthModeLabel. Play was correctly enabled and the welcome message was correctly visible, so a check that stopped at those two passed clean -- but the actual login fields were still on screen, which is what a real user sees as "it's making me log in again." Confirmed via live PC1 playtest today. Reported by: real playtest, 2026-08-20 (yesterday's automated regression test for this exact Play -> Back flow only asserted Play/welcome/auth buttons row -- strengthened smoke_test_main_menu_back.gd to also check the individual form fields, and confirmed it fails exactly this way with the bug reintroduced before restoring the fix). Verified against a live backend: 61/61 pytest (unaffected), 8/8 Godot smoke tests (including 20/20 on the strengthened back-nav test). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M6rUEynmv2QmweocAQYARN
This commit is contained in:
@@ -100,8 +100,20 @@ func _show_authenticated(username: String) -> void:
|
||||
_status_label.visible = false
|
||||
_welcome_label.text = "Welcome, %s!" % username
|
||||
_welcome_label.visible = true
|
||||
# Hide the same full set of form fields _on_auth_complete() hides right
|
||||
# after a fresh login/register -- this path (session restore on scene
|
||||
# reload, e.g. after Play -> Back) used to only hide EmailEdit/
|
||||
# Over18Check, leaving UsernameEdit/PasswordEdit/AuthButton/
|
||||
# AuthModeLabel visible on top of the welcome message. Real bug: Play
|
||||
# was enabled and the welcome label was correct, so it wasn't caught by
|
||||
# checks for those alone -- the login fields being back on screen is
|
||||
# what a user actually sees as "it's making me log in again."
|
||||
_username_edit.visible = false
|
||||
_password_edit.visible = false
|
||||
_email_edit.visible = false
|
||||
_over_18_check.visible = false
|
||||
_auth_button.visible = false
|
||||
_auth_mode_label.visible = false
|
||||
_play_button.disabled = false
|
||||
_auth_buttons_row.visible = false
|
||||
print("Restored authenticated session for: ", username)
|
||||
|
||||
Reference in New Issue
Block a user