Implement message retention, retry mechanism, and app updates

- Add KeychainManager for secure password storage
- Implement MessageRetentionService for encrypted local storage of favorite room messages
- Add MessageRetryService for automatic retry of failed messages
- Add /favorite command to toggle room retention
- Add /discover command to find active rooms
- Fix all force unwrapped optionals in BluetoothMeshService
- Update app info screen with new features
- Integrate all services with proper cleanup on panic
This commit is contained in:
jack
2025-07-05 19:35:37 +02:00
parent 7151896102
commit 506c2bc7cb
8 changed files with 940 additions and 63 deletions
+6 -2
View File
@@ -513,7 +513,9 @@ struct ContentView: View {
"/m": "send private message",
"/clear": "clear chat messages",
"/transfer": "transfer room ownership",
"/pass": "change room password"
"/pass": "change room password",
"/favorite": "toggle room retention",
"/discover": "find active rooms"
]
ForEach(commandSuggestions, id: \.self) { command in
@@ -595,7 +597,9 @@ struct ContentView: View {
("/m", "send private message"),
("/clear", "clear chat messages"),
("/transfer", "transfer room ownership"),
("/pass", "change room password")
("/pass", "change room password"),
("/favorite", "toggle room retention"),
("/discover", "find active rooms")
]
let input = newValue.lowercased()
commandSuggestions = commandDescriptions