diff --git a/main.py b/main.py index db3e1e5..6199b24 100644 --- a/main.py +++ b/main.py @@ -681,13 +681,6 @@ def main_loop(screen, args): if handle_vote_broadcast(message, game_state, ui): continue - # Seed the roster from the status dump after connect/map change; - # table chunks stay suppressed, real content flows normally - if status_seeder.is_active(): - if not is_real_content(message): - status_seeder.feed(message) - continue - # Command echoes only show at -v or higher verbosity; a # status echo opens a window that hides its chunked output if is_command_echo(message): @@ -777,6 +770,16 @@ def main_loop(screen, args): ui.print_message(f"^1[^7{timestamp}^1] Error: Stats connection failed: {e}^7\n") logger.error(f'Stats connection failed: {e}') + # Seed the roster from the status dump after connect/map change. + # Must run after the cvar/credential handlers above (their + # responses share the window and are never table rows) and + # before the shape-based suppressor (rows must buffer, not + # vanish). Table chunks stay suppressed, real content flows. + if status_seeder.is_active(): + if not is_real_content(message): + status_seeder.feed(message) + continue + # Hide output of RCON commands (cvar dumps, status tables) if is_command_output(message): logger.debug('Suppressed RCON command output')