fix(presence): dedupe instances via stable instanceId

This commit is contained in:
Peter Steinberger
2025-12-12 16:56:46 +00:00
parent cd84c5ad08
commit 6a05d60f41
3 changed files with 132 additions and 5 deletions

View File

@@ -1,13 +1,24 @@
import Foundation
enum InstanceIdentity {
private static let suiteName = "com.steipete.clawdis.shared"
private static let instanceIdKey = "instanceId"
private static let defaults: UserDefaults = {
UserDefaults(suiteName: suiteName) ?? .standard
}()
static let instanceId: String = {
if let name = Host.current().localizedName?.trimmingCharacters(in: .whitespacesAndNewlines),
!name.isEmpty
if let existing = defaults.string(forKey: instanceIdKey)?
.trimmingCharacters(in: .whitespacesAndNewlines),
!existing.isEmpty
{
return name
return existing
}
return UUID().uuidString
let id = UUID().uuidString.lowercased()
defaults.set(id, forKey: instanceIdKey)
return id
}()
static let displayName: String = {
@@ -19,4 +30,3 @@ enum InstanceIdentity {
return "clawdis-mac"
}()
}