Add iPad support, auto-pinning, and comprehensive logging
- Adaptive iPhone/iPad layout with NavigationSplitView sidebar - Auto-detect SSL-pinned domains, fall back to passthrough - Certificate install via local HTTP server (Safari profile flow) - App Group-backed CA, per-domain leaf cert LRU cache - DB-backed config repository, Darwin notification throttling - Rules engine, breakpoint rules, pinned domain tracking - os.Logger instrumentation across tunnel/proxy/mitm/capture/cert/rules/db/ipc/ui - Fix dyld framework embed, race conditions, thread safety
This commit is contained in:
@@ -36,6 +36,15 @@ struct ComposeListView: View {
|
||||
.foregroundStyle(.secondary)
|
||||
.lineLimit(1)
|
||||
}
|
||||
if let ts = request.lastSentAt {
|
||||
Text(formatTimestamp(ts))
|
||||
.font(.caption2)
|
||||
.foregroundStyle(.tertiary)
|
||||
}
|
||||
}
|
||||
Spacer()
|
||||
if let status = request.responseStatus {
|
||||
StatusBadge(statusCode: status)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -124,6 +133,13 @@ struct ComposeListView: View {
|
||||
try? composeRepo.insert(&request)
|
||||
}
|
||||
|
||||
private func formatTimestamp(_ ts: Double) -> String {
|
||||
let date = Date(timeIntervalSince1970: ts)
|
||||
let formatter = RelativeDateTimeFormatter()
|
||||
formatter.unitsStyle = .abbreviated
|
||||
return "Sent \(formatter.localizedString(for: date, relativeTo: Date()))"
|
||||
}
|
||||
|
||||
private func encodeHeaders(_ headers: [(key: String, value: String)]) -> String? {
|
||||
var dict: [String: String] = [:]
|
||||
for h in headers { dict[h.key] = h.value }
|
||||
|
||||
Reference in New Issue
Block a user