iOS: gate env var API key behind DEBUG, tighten deep link rate limit, cap WebSocket message size

This commit is contained in:
Rocuts 2026-03-02 12:31:23 -05:00
parent 96a1edcdc2
commit fea884f4d0
3 changed files with 9 additions and 6 deletions

View File

@ -2591,8 +2591,8 @@ extension NodeAppModel {
"agent deep link rejected: unkeyed message too long chars=\(message.count, privacy: .public)")
return
}
if Date().timeIntervalSince(self.lastAgentDeepLinkPromptAt) < 1.0 {
self.deepLinkLogger.debug("agent deep link prompt throttled")
if Date().timeIntervalSince(self.lastAgentDeepLinkPromptAt) < 5.0 {
self.deepLinkLogger.debug("agent deep link prompt rate-limited (min 5 s interval)")
return
}
self.lastAgentDeepLinkPromptAt = Date()

View File

@ -987,9 +987,12 @@ final class TalkModeManager: NSObject {
self.logger.warning("unknown voice alias \(requestedVoice ?? "?", privacy: .public)")
}
let resolvedKey =
(self.apiKey?.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty == false ? self.apiKey : nil) ??
ProcessInfo.processInfo.environment["ELEVENLABS_API_KEY"]
let configuredKey = self.apiKey?.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty == false ? self.apiKey : nil
#if DEBUG
let resolvedKey = configuredKey ?? ProcessInfo.processInfo.environment["ELEVENLABS_API_KEY"]
#else
let resolvedKey = configuredKey
#endif
let apiKey = resolvedKey?.trimmingCharacters(in: .whitespacesAndNewlines)
let preferredVoice = resolvedVoice ?? self.currentVoiceId ?? self.defaultVoiceId
let voiceId: String? = if let apiKey, !apiKey.isEmpty {

View File

@ -59,7 +59,7 @@ extension URLSession: WebSocketSessioning {
public func makeWebSocketTask(url: URL) -> WebSocketTaskBox {
let task = self.webSocketTask(with: url)
// Avoid "Message too long" receive errors for large snapshots / history payloads.
task.maximumMessageSize = 16 * 1024 * 1024 // 16 MB
task.maximumMessageSize = 4 * 1024 * 1024 // 4 MB
return WebSocketTaskBox(task: task)
}
}