From 8d323ceab108278070d13b38668590ed2037ab01 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Tue, 12 May 2026 15:40:34 +0200 Subject: [PATCH] Refactor command handling in ChatRepository for Android and iOS - Reset commandLines and commandKind to default values when a command table event is received, ensuring a clean state for subsequent commands. - This change improves the handling of command events and maintains consistency across platforms. --- .../java/de/ypchat/android/data/repository/ChatRepository.kt | 2 ++ ios/YpChat/Data/ChatRepository.swift | 2 ++ server/broadcast.js | 4 ++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/android/app/src/main/java/de/ypchat/android/data/repository/ChatRepository.kt b/android/app/src/main/java/de/ypchat/android/data/repository/ChatRepository.kt index c74e5f5..d2a94fb 100644 --- a/android/app/src/main/java/de/ypchat/android/data/repository/ChatRepository.kt +++ b/android/app/src/main/java/de/ypchat/android/data/repository/ChatRepository.kt @@ -362,6 +362,8 @@ class ChatRepository( errorMessage = if (event.kind == "info" || event.kind.startsWith("login")) event.lines.joinToString(" | ") else current.errorMessage ) is SocketEvent.CommandTable -> current.copy( + commandLines = emptyList(), + commandKind = null, commandTable = CommandTableState(event.title, event.columns, event.rows) ) is SocketEvent.Error -> current.copy(errorMessage = event.message) diff --git a/ios/YpChat/Data/ChatRepository.swift b/ios/YpChat/Data/ChatRepository.swift index eac94ea..7496483 100644 --- a/ios/YpChat/Data/ChatRepository.swift +++ b/ios/YpChat/Data/ChatRepository.swift @@ -483,6 +483,8 @@ final class ChatRepository: ObservableObject { } case .commandTable(let title, let columns, let rows): + current.commandLines = [] + current.commandKind = nil current.commandTable = CommandTableState(title: title, columns: columns, rows: rows) case .error(let message): diff --git a/server/broadcast.js b/server/broadcast.js index 25dc1a2..99eb0fe 100644 --- a/server/broadcast.js +++ b/server/broadcast.js @@ -411,7 +411,7 @@ export function setupBroadcast(io, __dirname) { ['/stat ages', 'Jüngster und ältester Nutzer'], ['/stat names', 'Häufigkeit der verwendeten Namen'], ['/stat countries', 'Häufigkeit der Länder'], - ['/all-stats', 'Zusammenfassung wichtiger Kennzahlen'] + ['/all-stats', 'Kurzübersicht nur aus Logindatei (logins.log), keine Live-Chat-Metriken'] ]); return; } @@ -665,7 +665,7 @@ export function setupBroadcast(io, __dirname) { ['/logout-admin', 'Admin-/Command-Login beenden'], ['/whoami-rights', 'Aktuelle Admin-Rechte anzeigen'], ['/stat help', 'Hilfe zu Statistikbefehlen anzeigen'], - ['/all-stats', 'Zusammenfassung wichtiger Statistiken'], + ['/all-stats', 'Kurzübersicht nur aus Logindatei (logins.log), keine Live-Chat-Metriken'], ['/kick ', 'Benutzer aus dem Chat werfen'], ['/help oder /?', 'Diese Hilfe anzeigen'] ]);