mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-28 05:16:23 -06:00
4cc92009ed
* feat(mac): unified Liquid Glass pairing approval panel Replace the serial node/device pairing NSAlerts with one floating approval panel. Both prompters feed request cards into a shared PairingApprovalCenter; each card shows a hardware icon, platform and model, app/core version, source IP, a copyable short id, request age, a trust line (first connection / already-paired-id caution / repair token rotation), and a friendly access summary with an elevated warning for system.run-class commands. Requests resolved elsewhere disappear live; Not Now snoozes without resolving (gateway TTL applies) and the menu-bar pending line reopens the panel. Liquid Glass surface on macOS 26+, material fallback on macOS 15. Deletes the NSAlert + invisible-host-window machinery, dead node isRepair handling, and text-only describe() body. Closes #102535 * fix(mac): satisfy swiftformat conditionalAssignment and resync native i18n inventory
14 lines
441 B
Swift
14 lines
441 B
Swift
import Testing
|
|
@testable import OpenClaw
|
|
|
|
struct NodePairingReconcilePolicyTests {
|
|
@Test func `policy polls only while requests are pending`() {
|
|
#expect(NodePairingReconcilePolicy.shouldPoll(pendingCount: 0) == false)
|
|
#expect(NodePairingReconcilePolicy.shouldPoll(pendingCount: 1))
|
|
}
|
|
|
|
@Test func `policy uses slow safety interval`() {
|
|
#expect(NodePairingReconcilePolicy.activeIntervalMs >= 10000)
|
|
}
|
|
}
|