ios: limit number of items in console (#1859)

This commit is contained in:
Stanislav Dmitrenko
2023-01-30 12:07:06 +00:00
committed by GitHub
parent dfa0272065
commit a58be6ebb6
3 changed files with 12 additions and 5 deletions
+7
View File
@@ -513,6 +513,13 @@ final class ChatModel: ObservableObject {
func contactNetworkStatus(_ contact: Contact) -> NetworkStatus {
networkStatuses[contact.activeConn.agentConnId] ?? .unknown
}
func addTerminalItem(_ item: TerminalItem) {
if terminalItems.count >= 500 {
terminalItems.remove(at: 0)
}
terminalItems.append(item)
}
}
struct UnreadChatItemCounts {
+3 -3
View File
@@ -94,8 +94,8 @@ func chatSendCmdSync(_ cmd: ChatCommand, bgTask: Bool = true, bgDelay: Double? =
logger.debug("chatSendCmd \(cmd.cmdType) response: \(json)")
}
DispatchQueue.main.async {
ChatModel.shared.terminalItems.append(.cmd(.now, cmd.obfuscated))
ChatModel.shared.terminalItems.append(.resp(.now, resp))
ChatModel.shared.addTerminalItem(.cmd(.now, cmd.obfuscated))
ChatModel.shared.addTerminalItem(.resp(.now, resp))
}
return resp
}
@@ -1009,7 +1009,7 @@ class ChatReceiver {
func processReceivedMsg(_ res: ChatResponse) async {
let m = ChatModel.shared
await MainActor.run {
m.terminalItems.append(.resp(.now, res))
m.addTerminalItem(.resp(.now, res))
logger.debug("processReceivedMsg: \(res.responseType)")
switch res {
case let .newContactConnection(user, connection):
+2 -2
View File
@@ -110,8 +110,8 @@ struct TerminalView: View {
if composeState.message.starts(with: "/sql") && (!prefPerformLA || !developerTools) {
let resp = ChatResponse.chatCmdError(user: nil, chatError: ChatError.error(errorType: ChatErrorType.commandError(message: "Failed reading: empty")))
DispatchQueue.main.async {
ChatModel.shared.terminalItems.append(.cmd(.now, cmd))
ChatModel.shared.terminalItems.append(.resp(.now, resp))
ChatModel.shared.addTerminalItem(.cmd(.now, cmd))
ChatModel.shared.addTerminalItem(.resp(.now, resp))
}
} else {
DispatchQueue.global().async {