Build Information
Failed to build XMPPChatSwift, reference v1.0.0 (ff6f24), with Swift 6.2 for macOS (SPM) on 29 Jun 2026 04:22:22 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64Build Log
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
386 |
387 | /// Clear edit action
388 | public func clearEditAction() {
| `- note: add '@available' attribute to enclosing instance method
389 | editAction = nil
| |- error: setter for 'editAction' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
390 | }
391 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:398:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
393 |
394 | /// Set last viewed timestamp for a room
395 | public func setLastViewedTimestamp(roomJID: String, timestamp: Int64) {
| `- note: add '@available' attribute to enclosing instance method
396 | guard var room = rooms[roomJID] else { return }
397 | room.lastViewedTimestamp = timestamp
398 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
399 | saveToCache()
400 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:408:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
403 |
404 | /// Update unread count for a room
405 | public func updateUnreadCount(roomJID: String, count: Int) {
| `- note: add '@available' attribute to enclosing instance method
406 | guard var room = rooms[roomJID] else { return }
407 | room.unreadMessages = count
408 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
409 | saveToCache()
410 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:430:17: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
421 | /// list view models don't always eagerly hydrate `room.messages` from
422 | /// cache, but the cache itself is always up to date.
423 | public func recomputeUnreadForRoom(jid: String, currentUserLocal: String) {
| `- note: add '@available' attribute to enclosing instance method
424 | guard var room = rooms[jid] else { return }
425 |
:
428 | if room.unreadMessages != 0 {
429 | room.unreadMessages = 0
430 | rooms[jid] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
431 | saveToCache()
432 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:489:13: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
421 | /// list view models don't always eagerly hydrate `room.messages` from
422 | /// cache, but the cache itself is always up to date.
423 | public func recomputeUnreadForRoom(jid: String, currentUserLocal: String) {
| `- note: add '@available' attribute to enclosing instance method
424 | guard var room = rooms[jid] else { return }
425 |
:
487 | if room.unreadMessages != unread {
488 | room.unreadMessages = unread
489 | rooms[jid] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
490 | saveToCache()
491 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:557:13: error: setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
552 | }
553 |
554 | private func loadFromCache() {
| `- note: add '@available' attribute to enclosing instance method
555 | if let data = UserDefaults.standard.data(forKey: "ethora_room_store"),
556 | let decoded = try? JSONDecoder().decode([String: Room].self, from: data) {
557 | rooms = decoded
| |- error: setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
558 | }
559 | if let hiddenData = UserDefaults.standard.data(forKey: "ethora_room_store_hidden"),
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:561:13: error: setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
552 | }
553 |
554 | private func loadFromCache() {
| `- note: add '@available' attribute to enclosing instance method
555 | if let data = UserDefaults.standard.data(forKey: "ethora_room_store"),
556 | let decoded = try? JSONDecoder().decode([String: Room].self, from: data) {
:
559 | if let hiddenData = UserDefaults.standard.data(forKey: "ethora_room_store_hidden"),
560 | let decodedHidden = try? JSONDecoder().decode(Set<String>.self, from: hiddenData) {
561 | hiddenRoomJIDs = decodedHidden
| |- error: setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
562 | }
563 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:567:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
568 | activeRoomJID = nil
569 | editAction = nil
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:568:9: error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
568 | activeRoomJID = nil
| |- error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
569 | editAction = nil
570 | usersSet.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:569:9: error: setter for 'editAction' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
568 | activeRoomJID = nil
569 | editAction = nil
| |- error: setter for 'editAction' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
570 | usersSet.removeAll()
571 | reportRoom = ReportRoomState()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:570:9: error: cannot pass as inout because setter for 'usersSet' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
568 | activeRoomJID = nil
569 | editAction = nil
570 | usersSet.removeAll()
| |- error: cannot pass as inout because setter for 'usersSet' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
571 | reportRoom = ReportRoomState()
572 | hiddenRoomJIDs.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:571:9: error: setter for 'reportRoom' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
568 | activeRoomJID = nil
569 | editAction = nil
570 | usersSet.removeAll()
571 | reportRoom = ReportRoomState()
| |- error: setter for 'reportRoom' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
572 | hiddenRoomJIDs.removeAll()
573 | UserDefaults.standard.removeObject(forKey: "ethora_room_store")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:572:9: error: cannot pass as inout because setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
568 | activeRoomJID = nil
:
570 | usersSet.removeAll()
571 | reportRoom = ReportRoomState()
572 | hiddenRoomJIDs.removeAll()
| |- error: cannot pass as inout because setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
573 | UserDefaults.standard.removeObject(forKey: "ethora_room_store")
574 | UserDefaults.standard.removeObject(forKey: "ethora_room_store_hidden")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:15:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
15 | @Published public var currentUser: User?
| `- error: 'Published' is only available in macOS 10.15 or newer
16 | @Published public var token: String?
17 | @Published public var refreshToken: String?
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:16:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
15 | @Published public var currentUser: User?
16 | @Published public var token: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
17 | @Published public var refreshToken: String?
18 | @Published public var isAuthenticated: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:17:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
15 | @Published public var currentUser: User?
16 | @Published public var token: String?
17 | @Published public var refreshToken: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
18 | @Published public var isAuthenticated: Bool = false
19 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:18:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
16 | @Published public var token: String?
17 | @Published public var refreshToken: String?
18 | @Published public var isAuthenticated: Bool = false
| `- error: 'Published' is only available in macOS 10.15 or newer
19 |
20 | private init() {
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:12:25: error: 'ObservableObject' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
<unknown>:0: error: cannot convert value of type 'KeyPath<UserStore, User?>' to expected argument type 'ReferenceWritableKeyPath<UserStore, User?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<UserStore, String?>' to expected argument type 'ReferenceWritableKeyPath<UserStore, String?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<UserStore, String?>' to expected argument type 'ReferenceWritableKeyPath<UserStore, String?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<UserStore, Bool>' to expected argument type 'ReferenceWritableKeyPath<UserStore, Bool>'
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:26:13: error: setter for 'token' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
18 | @Published public var isAuthenticated: Bool = false
19 |
20 | private init() {
| `- note: add '@available' attribute to enclosing initializer
21 | // Load from defaults if available
22 | if let savedToken = UserDefaults.standard.string(forKey: "ethora_user_token"),
:
24 | let savedUserData = UserDefaults.standard.data(forKey: "ethora_user_data"),
25 | let user = try? JSONDecoder().decode(User.self, from: savedUserData) {
26 | self.token = savedToken
| |- error: setter for 'token' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
27 | self.refreshToken = savedRefreshToken
28 | self.currentUser = user
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:27:13: error: setter for 'refreshToken' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
18 | @Published public var isAuthenticated: Bool = false
19 |
20 | private init() {
| `- note: add '@available' attribute to enclosing initializer
21 | // Load from defaults if available
22 | if let savedToken = UserDefaults.standard.string(forKey: "ethora_user_token"),
:
25 | let user = try? JSONDecoder().decode(User.self, from: savedUserData) {
26 | self.token = savedToken
27 | self.refreshToken = savedRefreshToken
| |- error: setter for 'refreshToken' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
28 | self.currentUser = user
29 | self.isAuthenticated = true
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:28:13: error: setter for 'currentUser' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
18 | @Published public var isAuthenticated: Bool = false
19 |
20 | private init() {
| `- note: add '@available' attribute to enclosing initializer
21 | // Load from defaults if available
22 | if let savedToken = UserDefaults.standard.string(forKey: "ethora_user_token"),
:
26 | self.token = savedToken
27 | self.refreshToken = savedRefreshToken
28 | self.currentUser = user
| |- error: setter for 'currentUser' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
29 | self.isAuthenticated = true
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:29:13: error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
18 | @Published public var isAuthenticated: Bool = false
19 |
20 | private init() {
| `- note: add '@available' attribute to enclosing initializer
21 | // Load from defaults if available
22 | if let savedToken = UserDefaults.standard.string(forKey: "ethora_user_token"),
:
27 | self.refreshToken = savedRefreshToken
28 | self.currentUser = user
29 | self.isAuthenticated = true
| |- error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
30 | }
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:54:9: error: setter for 'currentUser' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
32 |
33 | /// Set user data from login response
34 | public func setUser(from loginResponse: AuthAPI.LoginResponse) {
| `- note: add '@available' attribute to enclosing instance method
35 | // Convert UserResponse to User
36 | let user = User(
:
52 | )
53 |
54 | self.currentUser = user
| |- error: setter for 'currentUser' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
55 | self.token = loginResponse.token
56 | self.refreshToken = loginResponse.refreshToken
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:55:9: error: setter for 'token' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
32 |
33 | /// Set user data from login response
34 | public func setUser(from loginResponse: AuthAPI.LoginResponse) {
| `- note: add '@available' attribute to enclosing instance method
35 | // Convert UserResponse to User
36 | let user = User(
:
53 |
54 | self.currentUser = user
55 | self.token = loginResponse.token
| |- error: setter for 'token' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
56 | self.refreshToken = loginResponse.refreshToken
57 | self.isAuthenticated = true
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:56:9: error: setter for 'refreshToken' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
32 |
33 | /// Set user data from login response
34 | public func setUser(from loginResponse: AuthAPI.LoginResponse) {
| `- note: add '@available' attribute to enclosing instance method
35 | // Convert UserResponse to User
36 | let user = User(
:
54 | self.currentUser = user
55 | self.token = loginResponse.token
56 | self.refreshToken = loginResponse.refreshToken
| |- error: setter for 'refreshToken' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
57 | self.isAuthenticated = true
58 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:57:9: error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
32 |
33 | /// Set user data from login response
34 | public func setUser(from loginResponse: AuthAPI.LoginResponse) {
| `- note: add '@available' attribute to enclosing instance method
35 | // Convert UserResponse to User
36 | let user = User(
:
55 | self.token = loginResponse.token
56 | self.refreshToken = loginResponse.refreshToken
57 | self.isAuthenticated = true
| |- error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
58 |
59 | // Persist to UserDefaults
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:71:9: error: setter for 'token' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
68 |
69 | /// Update tokens after refresh
70 | public func updateTokens(token: String, refreshToken: String) {
| `- note: add '@available' attribute to enclosing instance method
71 | self.token = token
| |- error: setter for 'token' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
72 | self.refreshToken = refreshToken
73 | UserDefaults.standard.set(token, forKey: "ethora_user_token")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:72:9: error: setter for 'refreshToken' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
68 |
69 | /// Update tokens after refresh
70 | public func updateTokens(token: String, refreshToken: String) {
| `- note: add '@available' attribute to enclosing instance method
71 | self.token = token
72 | self.refreshToken = refreshToken
| |- error: setter for 'refreshToken' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
73 | UserDefaults.standard.set(token, forKey: "ethora_user_token")
74 | UserDefaults.standard.set(refreshToken, forKey: "ethora_user_refresh_token")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:81:9: error: setter for 'currentUser' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
| |- error: setter for 'currentUser' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
82 | self.token = nil
83 | self.refreshToken = nil
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:82:9: error: setter for 'token' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
82 | self.token = nil
| |- error: setter for 'token' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
83 | self.refreshToken = nil
84 | self.isAuthenticated = false
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:83:9: error: setter for 'refreshToken' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
82 | self.token = nil
83 | self.refreshToken = nil
| |- error: setter for 'refreshToken' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | self.isAuthenticated = false
85 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:84:9: error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
82 | self.token = nil
83 | self.refreshToken = nil
84 | self.isAuthenticated = false
| |- error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
85 |
86 | UserDefaults.standard.removeObject(forKey: "ethora_user_token")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:91:9: error: 'Task' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
82 | self.token = nil
:
89 |
90 | // Clear message cache on logout
91 | Task { @MainActor in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
92 | MessageCache.shared.clearAll()
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:91:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
82 | self.token = nil
:
89 |
90 | // Clear message cache on logout
91 | Task { @MainActor in
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
92 | MessageCache.shared.clearAll()
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:132:13: warning: no 'async' operations occur within 'await' expression
130 |
131 | // Save to UserStore
132 | await UserStore.shared.setUser(from: loginResponse)
| `- warning: no 'async' operations occur within 'await' expression
133 |
134 | print("✅ JWT autologin complete! User authenticated.")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Utilities/FormatHelpers.swift:17:9: warning: variable 'uniqueUsers' was never mutated; consider changing to 'let' constant
15 |
16 | public func extractUniqueMembersFromRooms(_ rooms: [Room]) -> [User] {
17 | var uniqueUsers: [String: User] = [:]
| `- warning: variable 'uniqueUsers' was never mutated; consider changing to 'let' constant
18 |
19 | for room in rooms {
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Utilities/FormatHelpers.swift:19:9: warning: immutable value 'room' was never used; consider replacing with '_' or removing it [#no-usage]
17 | var uniqueUsers: [String: User] = [:]
18 |
19 | for room in rooms {
| `- warning: immutable value 'room' was never used; consider replacing with '_' or removing it [#no-usage]
20 | // Extract users from room members if available
21 | // This is a placeholder - actual implementation depends on Room structure
[107/108] Compiling XMPPChatCore ClientRegistry.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:14:6: error: 'Published' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
| `- error: 'Published' is only available in macOS 10.15 or newer
15 | @Published public var disconnectReason: String? = nil
16 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:15:6: error: 'Published' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
| `- error: 'Published' is only available in macOS 10.15 or newer
16 |
17 | public enum ConnectionStatus {
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:13:33: error: 'ObservableObject' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
<unknown>:0: error: cannot convert value of type 'KeyPath<ConnectionManager, ConnectionManager.ConnectionStatus>' to expected argument type 'ReferenceWritableKeyPath<ConnectionManager, ConnectionManager.ConnectionStatus>'
<unknown>:0: error: cannot convert value of type 'KeyPath<ConnectionManager, String?>' to expected argument type 'ReferenceWritableKeyPath<ConnectionManager, String?>'
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:58:13: error: 'Task' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
56 | }
57 |
58 | Task { @MainActor in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
59 | switch statusString {
60 | case "connected":
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:58:13: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
56 | }
57 |
58 | Task { @MainActor in
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
59 | switch statusString {
60 | case "connected":
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:61:21: error: setter for 'status' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
59 | switch statusString {
60 | case "connected":
61 | self.status = .connected
| |- error: setter for 'status' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
62 | self.disconnectReason = nil
63 | //print("✅ ConnectionManager: Connected successfully")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:62:21: error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
60 | case "connected":
61 | self.status = .connected
62 | self.disconnectReason = nil
| |- error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
63 | //print("✅ ConnectionManager: Connected successfully")
64 | case "connecting":
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:65:21: error: setter for 'status' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
63 | //print("✅ ConnectionManager: Connected successfully")
64 | case "connecting":
65 | self.status = .connecting
| |- error: setter for 'status' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
66 | self.disconnectReason = reason ?? "Connecting to server..."
67 | //print("🔄 ConnectionManager: Connecting...")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:66:21: error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
64 | case "connecting":
65 | self.status = .connecting
66 | self.disconnectReason = reason ?? "Connecting to server..."
| |- error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
67 | //print("🔄 ConnectionManager: Connecting...")
68 | case "disconnected":
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:69:21: error: setter for 'status' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
67 | //print("🔄 ConnectionManager: Connecting...")
68 | case "disconnected":
69 | self.status = .disconnected
| |- error: setter for 'status' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
70 | self.disconnectReason = self.formatDisconnectReason(
71 | reason: reason,
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:70:21: error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
68 | case "disconnected":
69 | self.status = .disconnected
70 | self.disconnectReason = self.formatDisconnectReason(
| |- error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
71 | reason: reason,
72 | errorCode: errorCode,
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:77:21: error: setter for 'status' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
75 | //print("❌ ConnectionManager: Disconnected - \(self.disconnectReason ?? "Unknown reason")")
76 | case "reconnecting":
77 | self.status = .reconnecting
| |- error: setter for 'status' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
78 | self.disconnectReason = reason ?? "Reconnecting..."
79 | //print("🔄 ConnectionManager: Reconnecting...")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:78:21: error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
76 | case "reconnecting":
77 | self.status = .reconnecting
78 | self.disconnectReason = reason ?? "Reconnecting..."
| |- error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
79 | //print("🔄 ConnectionManager: Reconnecting...")
80 | default:
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:48:20: warning: value 'reason' was defined but never used; consider replacing with boolean test [#no-usage]
46 | // Log connection status change for debugging
47 | //print("🔌 ConnectionManager: Status changed to '\(statusString)'")
48 | if let reason = reason {
| `- warning: value 'reason' was defined but never used; consider replacing with boolean test [#no-usage]
49 | //print(" Reason: \(reason)")
50 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:51:20: warning: value 'errorCode' was defined but never used; consider replacing with boolean test [#no-usage]
49 | //print(" Reason: \(reason)")
50 | }
51 | if let errorCode = errorCode {
| `- warning: value 'errorCode' was defined but never used; consider replacing with boolean test [#no-usage]
52 | //print(" Error Code: \(errorCode)")
53 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:54:20: warning: value 'errorDescription' was defined but never used; consider replacing with boolean test [#no-usage]
52 | //print(" Error Code: \(errorCode)")
53 | }
54 | if let errorDescription = errorDescription {
| `- warning: value 'errorDescription' was defined but never used; consider replacing with boolean test [#no-usage]
55 | //print(" Error Description: \(errorDescription)")
56 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:94:9: error: setter for 'status' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
91 | }
92 |
93 | public func updateStatus(_ newStatus: ConnectionStatus) {
| `- note: add '@available' attribute to enclosing instance method
94 | status = newStatus
| |- error: setter for 'status' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
95 | }
96 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:13:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
| `- error: 'Published' is only available in macOS 10.15 or newer
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
15 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:14:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
| `- error: 'Published' is only available in macOS 10.15 or newer
15 |
16 | private let storage = LocalStorage.shared
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:12:32: error: 'ObservableObject' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
<unknown>:0: error: cannot convert value of type 'KeyPath<MessageHeapState, [String : [Message]]>' to expected argument type 'ReferenceWritableKeyPath<MessageHeapState, [String : [Message]]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<MessageHeapState, [String : Bool]>' to expected argument type 'ReferenceWritableKeyPath<MessageHeapState, [String : Bool]>'
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:24:13: error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
20 | }
21 |
22 | public func addMessages(_ messages: [Message], forRoom roomJID: String) {
| `- note: add '@available' attribute to enclosing instance method
23 | if heap[roomJID] == nil {
24 | heap[roomJID] = []
| |- error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
25 | }
26 | heap[roomJID]?.append(contentsOf: messages)
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:26:9: error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
20 | }
21 |
22 | public func addMessages(_ messages: [Message], forRoom roomJID: String) {
| `- note: add '@available' attribute to enclosing instance method
23 | if heap[roomJID] == nil {
24 | heap[roomJID] = []
25 | }
26 | heap[roomJID]?.append(contentsOf: messages)
| |- error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
27 | saveToStorage()
28 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:31:9: error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
28 | }
29 |
30 | public func setMessages(_ messages: [Message], forRoom roomJID: String) {
| `- note: add '@available' attribute to enclosing instance method
31 | heap[roomJID] = messages
| |- error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
32 | saveToStorage()
33 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:40:9: error: cannot pass as inout because setter for 'heapComplete' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
37 | }
38 |
39 | public func markComplete(forRoom roomJID: String) {
| `- note: add '@available' attribute to enclosing instance method
40 | heapComplete[roomJID] = true
| |- error: cannot pass as inout because setter for 'heapComplete' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
41 | saveToStorage()
42 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:49:9: error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
46 | }
47 |
48 | public func clear(forRoom roomJID: String) {
| `- note: add '@available' attribute to enclosing instance method
49 | heap.removeValue(forKey: roomJID)
| |- error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
50 | heapComplete.removeValue(forKey: roomJID)
51 | saveToStorage()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:50:9: error: cannot pass as inout because setter for 'heapComplete' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
46 | }
47 |
48 | public func clear(forRoom roomJID: String) {
| `- note: add '@available' attribute to enclosing instance method
49 | heap.removeValue(forKey: roomJID)
50 | heapComplete.removeValue(forKey: roomJID)
| |- error: cannot pass as inout because setter for 'heapComplete' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
51 | saveToStorage()
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:55:9: error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
52 | }
53 |
54 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
55 | heap.removeAll()
| |- error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
56 | heapComplete.removeAll()
57 | saveToStorage()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:56:9: error: cannot pass as inout because setter for 'heapComplete' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
52 | }
53 |
54 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
55 | heap.removeAll()
56 | heapComplete.removeAll()
| |- error: cannot pass as inout because setter for 'heapComplete' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
57 | saveToStorage()
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:17:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
15 | // MARK: - Published Properties
16 |
17 | @Published public var rooms: [String: Room] = [:]
| `- error: 'Published' is only available in macOS 10.15 or newer
18 | @Published public var activeRoomJID: String?
19 | @Published public var isLoading: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:18:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
16 |
17 | @Published public var rooms: [String: Room] = [:]
18 | @Published public var activeRoomJID: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
19 | @Published public var isLoading: Bool = false
20 | @Published public var globalLoading: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:19:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
17 | @Published public var rooms: [String: Room] = [:]
18 | @Published public var activeRoomJID: String?
19 | @Published public var isLoading: Bool = false
| `- error: 'Published' is only available in macOS 10.15 or newer
20 | @Published public var globalLoading: Bool = false
21 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:20:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
18 | @Published public var activeRoomJID: String?
19 | @Published public var isLoading: Bool = false
20 | @Published public var globalLoading: Bool = false
| `- error: 'Published' is only available in macOS 10.15 or newer
21 |
22 | /// Bare JIDs of chats the user has left via "Leave" — but the
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:28:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
26 | /// genuine re-join (see `unhideRoom(jid:)` in the XEP-0249/XEP-0045
27 | /// invite handler).
28 | @Published public var hiddenRoomJIDs: Set<String> = []
| `- error: 'Published' is only available in macOS 10.15 or newer
29 |
30 | // Edit action state
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:31:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
29 |
30 | // Edit action state
31 | @Published public var editAction: EditAction?
| `- error: 'Published' is only available in macOS 10.15 or newer
32 |
33 | // Users set (for quick lookup)
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:34:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
32 |
33 | // Users set (for quick lookup)
34 | @Published public var usersSet: [String: RoomMember] = [:]
| `- error: 'Published' is only available in macOS 10.15 or newer
35 |
36 | // Report room state
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:37:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
35 |
36 | // Report room state
37 | @Published public var reportRoom: ReportRoomState = ReportRoomState()
| `- error: 'Published' is only available in macOS 10.15 or newer
38 |
39 | // Loading text
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:40:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
38 |
39 | // Loading text
40 | @Published public var loadingText: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
41 |
42 | // MARK: - Initialization
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:12:25: error: 'ObservableObject' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, [String : Room]>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, [String : Room]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, String?>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, String?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, Bool>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, Bool>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, Bool>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, Bool>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, Set<String>>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, Set<String>>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, EditAction?>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, EditAction?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, [String : RoomMember]>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, [String : RoomMember]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, ReportRoomState>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, ReportRoomState>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, String?>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, String?>'
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:87:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
62 | /// Only messages that arrive **after** the app started will bump the
63 | /// badge, which is the behaviour Telegram ships with.
64 | public func addRoom(_ room: Room) {
| `- note: add '@available' attribute to enclosing instance method
65 | // If the user just left this room — don't bring it back, even
66 | // if REST `/chats/my` returned it. The hidden flag is only
:
85 | toStore.lastViewedTimestamp = Int64(Date().timeIntervalSince1970 * 1000)
86 | }
87 | rooms[room.jid] = toStore
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
88 | saveToCache()
89 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:98:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
95 |
96 | /// Delete a room
97 | public func deleteRoom(jid: String) {
| `- note: add '@available' attribute to enclosing instance method
98 | rooms.removeValue(forKey: jid)
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
99 | if activeRoomJID == jid {
100 | activeRoomJID = nil
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:100:13: error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
95 |
96 | /// Delete a room
97 | public func deleteRoom(jid: String) {
| `- note: add '@available' attribute to enclosing instance method
98 | rooms.removeValue(forKey: jid)
99 | if activeRoomJID == jid {
100 | activeRoomJID = nil
| |- error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
101 | }
102 | saveToCache()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:112:9: error: cannot pass as inout because setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
108 | /// the swipe-Leave action; cleared via `unhideRoom(jid:)` on
109 | /// re-invite.
110 | public func hideRoom(jid: String) {
| `- note: add '@available' attribute to enclosing instance method
111 | let bareJID = jid.components(separatedBy: "/").first ?? jid
112 | hiddenRoomJIDs.insert(bareJID)
| |- error: cannot pass as inout because setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
113 | rooms.removeValue(forKey: bareJID)
114 | if activeRoomJID == bareJID {
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:113:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
108 | /// the swipe-Leave action; cleared via `unhideRoom(jid:)` on
109 | /// re-invite.
110 | public func hideRoom(jid: String) {
| `- note: add '@available' attribute to enclosing instance method
111 | let bareJID = jid.components(separatedBy: "/").first ?? jid
112 | hiddenRoomJIDs.insert(bareJID)
113 | rooms.removeValue(forKey: bareJID)
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
114 | if activeRoomJID == bareJID {
115 | activeRoomJID = nil
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:115:13: error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
108 | /// the swipe-Leave action; cleared via `unhideRoom(jid:)` on
109 | /// re-invite.
110 | public func hideRoom(jid: String) {
| `- note: add '@available' attribute to enclosing instance method
111 | let bareJID = jid.components(separatedBy: "/").first ?? jid
112 | hiddenRoomJIDs.insert(bareJID)
113 | rooms.removeValue(forKey: bareJID)
114 | if activeRoomJID == bareJID {
115 | activeRoomJID = nil
| |- error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
116 | }
117 | saveToCache()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:125:12: error: cannot pass as inout because setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
121 | /// XMPP broadcasts reach the UI again and the room reappears in
122 | /// the list.
123 | public func unhideRoom(jid: String) {
| `- note: add '@available' attribute to enclosing instance method
124 | let bareJID = jid.components(separatedBy: "/").first ?? jid
125 | if hiddenRoomJIDs.remove(bareJID) != nil {
| |- error: cannot pass as inout because setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
126 | saveToCache()
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:192:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
129 |
130 | /// Update room
131 | public func updateRoom(jid: String, updates: PartialRoomUpdate) {
| `- note: add '@available' attribute to enclosing instance method
132 | guard var room = rooms[jid] else { return }
133 |
:
190 | }
191 |
192 | rooms[jid] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
193 | saveToCache()
194 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:198:9: error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
195 |
196 | /// Set active room
197 | public func setActiveRoom(_ jid: String?) {
| `- note: add '@available' attribute to enclosing instance method
198 | activeRoomJID = jid
| |- error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
199 | saveToCache()
200 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:234:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
209 |
210 | /// Add message to room
211 | public func addMessage(_ message: Message, toRoomJID roomJID: String) {
| `- note: add '@available' attribute to enclosing instance method
212 | guard var room = rooms[roomJID] else { return }
213 |
:
232 | room.lastMessageTimestamp = message.timestamp
233 |
234 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
235 | saveToCache()
236 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:242:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
237 |
238 | /// Set room messages
239 | public func setRoomMessages(roomJID: String, messages: [Message]) {
| `- note: add '@available' attribute to enclosing instance method
240 | guard var room = rooms[roomJID] else { return }
241 | room.messages = messages.sorted { ($0.timestamp ?? 0) < ($1.timestamp ?? 0) }
242 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
243 | saveToCache()
244 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:295:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
252 | /// reference this id don't dangle. Media-side fields and reactions
253 | /// are cleared so the placeholder doesn't show stale attachments.
254 | public func deleteMessage(roomJID: String, messageId: String) {
| `- note: add '@available' attribute to enclosing instance method
255 | guard var room = rooms[roomJID],
256 | let index = room.messages.firstIndex(where: { $0.id == messageId }) else {
:
293 | wasEdited: original.wasEdited
294 | )
295 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
296 | saveToCache()
297 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:342:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
298 |
299 | /// Update message in room
300 | public func updateMessage(roomJID: String, messageId: String, updates: PartialMessageUpdate) {
| `- note: add '@available' attribute to enclosing instance method
301 | guard var room = rooms[roomJID],
302 | let index = room.messages.firstIndex(where: { $0.id == messageId }) else {
:
340 |
341 | room.messages[index] = updatedMessage
342 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
343 | saveToCache()
344 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:376:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
347 |
348 | /// Set reactions on a message
349 | public func setReactions(
| `- note: add '@available' attribute to enclosing instance method
350 | roomJID: String,
351 | messageId: String,
:
374 |
375 | room.messages[index] = message
376 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
377 | saveToCache()
378 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:384:9: error: setter for 'editAction' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
381 |
382 | /// Set edit action
383 | public func setEditAction(_ action: EditAction?) {
| `- note: add '@available' attribute to enclosing instance method
384 | editAction = action
| |- error: setter for 'editAction' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
385 | }
386 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:389:9: error: setter for 'editAction' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
386 |
387 | /// Clear edit action
388 | public func clearEditAction() {
| `- note: add '@available' attribute to enclosing instance method
389 | editAction = nil
| |- error: setter for 'editAction' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
390 | }
391 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:398:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
393 |
394 | /// Set last viewed timestamp for a room
395 | public func setLastViewedTimestamp(roomJID: String, timestamp: Int64) {
| `- note: add '@available' attribute to enclosing instance method
396 | guard var room = rooms[roomJID] else { return }
397 | room.lastViewedTimestamp = timestamp
398 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
399 | saveToCache()
400 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:408:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
403 |
404 | /// Update unread count for a room
405 | public func updateUnreadCount(roomJID: String, count: Int) {
| `- note: add '@available' attribute to enclosing instance method
406 | guard var room = rooms[roomJID] else { return }
407 | room.unreadMessages = count
408 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
409 | saveToCache()
410 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:430:17: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
421 | /// list view models don't always eagerly hydrate `room.messages` from
422 | /// cache, but the cache itself is always up to date.
423 | public func recomputeUnreadForRoom(jid: String, currentUserLocal: String) {
| `- note: add '@available' attribute to enclosing instance method
424 | guard var room = rooms[jid] else { return }
425 |
:
428 | if room.unreadMessages != 0 {
429 | room.unreadMessages = 0
430 | rooms[jid] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
431 | saveToCache()
432 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:489:13: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
421 | /// list view models don't always eagerly hydrate `room.messages` from
422 | /// cache, but the cache itself is always up to date.
423 | public func recomputeUnreadForRoom(jid: String, currentUserLocal: String) {
| `- note: add '@available' attribute to enclosing instance method
424 | guard var room = rooms[jid] else { return }
425 |
:
487 | if room.unreadMessages != unread {
488 | room.unreadMessages = unread
489 | rooms[jid] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
490 | saveToCache()
491 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:557:13: error: setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
552 | }
553 |
554 | private func loadFromCache() {
| `- note: add '@available' attribute to enclosing instance method
555 | if let data = UserDefaults.standard.data(forKey: "ethora_room_store"),
556 | let decoded = try? JSONDecoder().decode([String: Room].self, from: data) {
557 | rooms = decoded
| |- error: setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
558 | }
559 | if let hiddenData = UserDefaults.standard.data(forKey: "ethora_room_store_hidden"),
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:561:13: error: setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
552 | }
553 |
554 | private func loadFromCache() {
| `- note: add '@available' attribute to enclosing instance method
555 | if let data = UserDefaults.standard.data(forKey: "ethora_room_store"),
556 | let decoded = try? JSONDecoder().decode([String: Room].self, from: data) {
:
559 | if let hiddenData = UserDefaults.standard.data(forKey: "ethora_room_store_hidden"),
560 | let decodedHidden = try? JSONDecoder().decode(Set<String>.self, from: hiddenData) {
561 | hiddenRoomJIDs = decodedHidden
| |- error: setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
562 | }
563 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:567:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
568 | activeRoomJID = nil
569 | editAction = nil
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:568:9: error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
568 | activeRoomJID = nil
| |- error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
569 | editAction = nil
570 | usersSet.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:569:9: error: setter for 'editAction' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
568 | activeRoomJID = nil
569 | editAction = nil
| |- error: setter for 'editAction' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
570 | usersSet.removeAll()
571 | reportRoom = ReportRoomState()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:570:9: error: cannot pass as inout because setter for 'usersSet' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
568 | activeRoomJID = nil
569 | editAction = nil
570 | usersSet.removeAll()
| |- error: cannot pass as inout because setter for 'usersSet' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
571 | reportRoom = ReportRoomState()
572 | hiddenRoomJIDs.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:571:9: error: setter for 'reportRoom' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
568 | activeRoomJID = nil
569 | editAction = nil
570 | usersSet.removeAll()
571 | reportRoom = ReportRoomState()
| |- error: setter for 'reportRoom' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
572 | hiddenRoomJIDs.removeAll()
573 | UserDefaults.standard.removeObject(forKey: "ethora_room_store")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:572:9: error: cannot pass as inout because setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
568 | activeRoomJID = nil
:
570 | usersSet.removeAll()
571 | reportRoom = ReportRoomState()
572 | hiddenRoomJIDs.removeAll()
| |- error: cannot pass as inout because setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
573 | UserDefaults.standard.removeObject(forKey: "ethora_room_store")
574 | UserDefaults.standard.removeObject(forKey: "ethora_room_store_hidden")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:15:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
15 | @Published public var currentUser: User?
| `- error: 'Published' is only available in macOS 10.15 or newer
16 | @Published public var token: String?
17 | @Published public var refreshToken: String?
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:16:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
15 | @Published public var currentUser: User?
16 | @Published public var token: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
17 | @Published public var refreshToken: String?
18 | @Published public var isAuthenticated: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:17:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
15 | @Published public var currentUser: User?
16 | @Published public var token: String?
17 | @Published public var refreshToken: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
18 | @Published public var isAuthenticated: Bool = false
19 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:18:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
16 | @Published public var token: String?
17 | @Published public var refreshToken: String?
18 | @Published public var isAuthenticated: Bool = false
| `- error: 'Published' is only available in macOS 10.15 or newer
19 |
20 | private init() {
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:12:25: error: 'ObservableObject' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
<unknown>:0: error: cannot convert value of type 'KeyPath<UserStore, User?>' to expected argument type 'ReferenceWritableKeyPath<UserStore, User?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<UserStore, String?>' to expected argument type 'ReferenceWritableKeyPath<UserStore, String?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<UserStore, String?>' to expected argument type 'ReferenceWritableKeyPath<UserStore, String?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<UserStore, Bool>' to expected argument type 'ReferenceWritableKeyPath<UserStore, Bool>'
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:26:13: error: setter for 'token' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
18 | @Published public var isAuthenticated: Bool = false
19 |
20 | private init() {
| `- note: add '@available' attribute to enclosing initializer
21 | // Load from defaults if available
22 | if let savedToken = UserDefaults.standard.string(forKey: "ethora_user_token"),
:
24 | let savedUserData = UserDefaults.standard.data(forKey: "ethora_user_data"),
25 | let user = try? JSONDecoder().decode(User.self, from: savedUserData) {
26 | self.token = savedToken
| |- error: setter for 'token' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
27 | self.refreshToken = savedRefreshToken
28 | self.currentUser = user
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:27:13: error: setter for 'refreshToken' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
18 | @Published public var isAuthenticated: Bool = false
19 |
20 | private init() {
| `- note: add '@available' attribute to enclosing initializer
21 | // Load from defaults if available
22 | if let savedToken = UserDefaults.standard.string(forKey: "ethora_user_token"),
:
25 | let user = try? JSONDecoder().decode(User.self, from: savedUserData) {
26 | self.token = savedToken
27 | self.refreshToken = savedRefreshToken
| |- error: setter for 'refreshToken' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
28 | self.currentUser = user
29 | self.isAuthenticated = true
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:28:13: error: setter for 'currentUser' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
18 | @Published public var isAuthenticated: Bool = false
19 |
20 | private init() {
| `- note: add '@available' attribute to enclosing initializer
21 | // Load from defaults if available
22 | if let savedToken = UserDefaults.standard.string(forKey: "ethora_user_token"),
:
26 | self.token = savedToken
27 | self.refreshToken = savedRefreshToken
28 | self.currentUser = user
| |- error: setter for 'currentUser' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
29 | self.isAuthenticated = true
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:29:13: error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
18 | @Published public var isAuthenticated: Bool = false
19 |
20 | private init() {
| `- note: add '@available' attribute to enclosing initializer
21 | // Load from defaults if available
22 | if let savedToken = UserDefaults.standard.string(forKey: "ethora_user_token"),
:
27 | self.refreshToken = savedRefreshToken
28 | self.currentUser = user
29 | self.isAuthenticated = true
| |- error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
30 | }
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:54:9: error: setter for 'currentUser' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
32 |
33 | /// Set user data from login response
34 | public func setUser(from loginResponse: AuthAPI.LoginResponse) {
| `- note: add '@available' attribute to enclosing instance method
35 | // Convert UserResponse to User
36 | let user = User(
:
52 | )
53 |
54 | self.currentUser = user
| |- error: setter for 'currentUser' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
55 | self.token = loginResponse.token
56 | self.refreshToken = loginResponse.refreshToken
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:55:9: error: setter for 'token' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
32 |
33 | /// Set user data from login response
34 | public func setUser(from loginResponse: AuthAPI.LoginResponse) {
| `- note: add '@available' attribute to enclosing instance method
35 | // Convert UserResponse to User
36 | let user = User(
:
53 |
54 | self.currentUser = user
55 | self.token = loginResponse.token
| |- error: setter for 'token' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
56 | self.refreshToken = loginResponse.refreshToken
57 | self.isAuthenticated = true
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:56:9: error: setter for 'refreshToken' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
32 |
33 | /// Set user data from login response
34 | public func setUser(from loginResponse: AuthAPI.LoginResponse) {
| `- note: add '@available' attribute to enclosing instance method
35 | // Convert UserResponse to User
36 | let user = User(
:
54 | self.currentUser = user
55 | self.token = loginResponse.token
56 | self.refreshToken = loginResponse.refreshToken
| |- error: setter for 'refreshToken' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
57 | self.isAuthenticated = true
58 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:57:9: error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
32 |
33 | /// Set user data from login response
34 | public func setUser(from loginResponse: AuthAPI.LoginResponse) {
| `- note: add '@available' attribute to enclosing instance method
35 | // Convert UserResponse to User
36 | let user = User(
:
55 | self.token = loginResponse.token
56 | self.refreshToken = loginResponse.refreshToken
57 | self.isAuthenticated = true
| |- error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
58 |
59 | // Persist to UserDefaults
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:71:9: error: setter for 'token' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
68 |
69 | /// Update tokens after refresh
70 | public func updateTokens(token: String, refreshToken: String) {
| `- note: add '@available' attribute to enclosing instance method
71 | self.token = token
| |- error: setter for 'token' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
72 | self.refreshToken = refreshToken
73 | UserDefaults.standard.set(token, forKey: "ethora_user_token")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:72:9: error: setter for 'refreshToken' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
68 |
69 | /// Update tokens after refresh
70 | public func updateTokens(token: String, refreshToken: String) {
| `- note: add '@available' attribute to enclosing instance method
71 | self.token = token
72 | self.refreshToken = refreshToken
| |- error: setter for 'refreshToken' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
73 | UserDefaults.standard.set(token, forKey: "ethora_user_token")
74 | UserDefaults.standard.set(refreshToken, forKey: "ethora_user_refresh_token")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:81:9: error: setter for 'currentUser' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
| |- error: setter for 'currentUser' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
82 | self.token = nil
83 | self.refreshToken = nil
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:82:9: error: setter for 'token' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
82 | self.token = nil
| |- error: setter for 'token' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
83 | self.refreshToken = nil
84 | self.isAuthenticated = false
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:83:9: error: setter for 'refreshToken' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
82 | self.token = nil
83 | self.refreshToken = nil
| |- error: setter for 'refreshToken' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | self.isAuthenticated = false
85 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:84:9: error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
82 | self.token = nil
83 | self.refreshToken = nil
84 | self.isAuthenticated = false
| |- error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
85 |
86 | UserDefaults.standard.removeObject(forKey: "ethora_user_token")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:91:9: error: 'Task' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
82 | self.token = nil
:
89 |
90 | // Clear message cache on logout
91 | Task { @MainActor in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
92 | MessageCache.shared.clearAll()
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:91:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
82 | self.token = nil
:
89 |
90 | // Clear message cache on logout
91 | Task { @MainActor in
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
92 | MessageCache.shared.clearAll()
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:132:13: warning: no 'async' operations occur within 'await' expression
130 |
131 | // Save to UserStore
132 | await UserStore.shared.setUser(from: loginResponse)
| `- warning: no 'async' operations occur within 'await' expression
133 |
134 | print("✅ JWT autologin complete! User authenticated.")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Utilities/FormatHelpers.swift:17:9: warning: variable 'uniqueUsers' was never mutated; consider changing to 'let' constant
15 |
16 | public func extractUniqueMembersFromRooms(_ rooms: [Room]) -> [User] {
17 | var uniqueUsers: [String: User] = [:]
| `- warning: variable 'uniqueUsers' was never mutated; consider changing to 'let' constant
18 |
19 | for room in rooms {
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Utilities/FormatHelpers.swift:19:9: warning: immutable value 'room' was never used; consider replacing with '_' or removing it [#no-usage]
17 | var uniqueUsers: [String: User] = [:]
18 |
19 | for room in rooms {
| `- warning: immutable value 'room' was never used; consider replacing with '_' or removing it [#no-usage]
20 | // Extract users from room members if available
21 | // This is a placeholder - actual implementation depends on Room structure
[108/108] Compiling XMPPChatCore FormatHelpers.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:14:6: error: 'Published' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
| `- error: 'Published' is only available in macOS 10.15 or newer
15 | @Published public var disconnectReason: String? = nil
16 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:15:6: error: 'Published' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
| `- error: 'Published' is only available in macOS 10.15 or newer
16 |
17 | public enum ConnectionStatus {
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:13:33: error: 'ObservableObject' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
<unknown>:0: error: cannot convert value of type 'KeyPath<ConnectionManager, ConnectionManager.ConnectionStatus>' to expected argument type 'ReferenceWritableKeyPath<ConnectionManager, ConnectionManager.ConnectionStatus>'
<unknown>:0: error: cannot convert value of type 'KeyPath<ConnectionManager, String?>' to expected argument type 'ReferenceWritableKeyPath<ConnectionManager, String?>'
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:58:13: error: 'Task' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
56 | }
57 |
58 | Task { @MainActor in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
59 | switch statusString {
60 | case "connected":
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:58:13: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
56 | }
57 |
58 | Task { @MainActor in
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
59 | switch statusString {
60 | case "connected":
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:61:21: error: setter for 'status' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
59 | switch statusString {
60 | case "connected":
61 | self.status = .connected
| |- error: setter for 'status' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
62 | self.disconnectReason = nil
63 | //print("✅ ConnectionManager: Connected successfully")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:62:21: error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
60 | case "connected":
61 | self.status = .connected
62 | self.disconnectReason = nil
| |- error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
63 | //print("✅ ConnectionManager: Connected successfully")
64 | case "connecting":
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:65:21: error: setter for 'status' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
63 | //print("✅ ConnectionManager: Connected successfully")
64 | case "connecting":
65 | self.status = .connecting
| |- error: setter for 'status' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
66 | self.disconnectReason = reason ?? "Connecting to server..."
67 | //print("🔄 ConnectionManager: Connecting...")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:66:21: error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
64 | case "connecting":
65 | self.status = .connecting
66 | self.disconnectReason = reason ?? "Connecting to server..."
| |- error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
67 | //print("🔄 ConnectionManager: Connecting...")
68 | case "disconnected":
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:69:21: error: setter for 'status' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
67 | //print("🔄 ConnectionManager: Connecting...")
68 | case "disconnected":
69 | self.status = .disconnected
| |- error: setter for 'status' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
70 | self.disconnectReason = self.formatDisconnectReason(
71 | reason: reason,
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:70:21: error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
68 | case "disconnected":
69 | self.status = .disconnected
70 | self.disconnectReason = self.formatDisconnectReason(
| |- error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
71 | reason: reason,
72 | errorCode: errorCode,
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:77:21: error: setter for 'status' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
75 | //print("❌ ConnectionManager: Disconnected - \(self.disconnectReason ?? "Unknown reason")")
76 | case "reconnecting":
77 | self.status = .reconnecting
| |- error: setter for 'status' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
78 | self.disconnectReason = reason ?? "Reconnecting..."
79 | //print("🔄 ConnectionManager: Reconnecting...")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:78:21: error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
26 | private var notificationObserver: NSObjectProtocol?
27 |
28 | public init() {
| `- note: add '@available' attribute to enclosing initializer
29 | // Listen for XMPP connection status changes
30 | notificationObserver = NotificationCenter.default.addObserver(
:
76 | case "reconnecting":
77 | self.status = .reconnecting
78 | self.disconnectReason = reason ?? "Reconnecting..."
| |- error: setter for 'disconnectReason' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
79 | //print("🔄 ConnectionManager: Reconnecting...")
80 | default:
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:48:20: warning: value 'reason' was defined but never used; consider replacing with boolean test [#no-usage]
46 | // Log connection status change for debugging
47 | //print("🔌 ConnectionManager: Status changed to '\(statusString)'")
48 | if let reason = reason {
| `- warning: value 'reason' was defined but never used; consider replacing with boolean test [#no-usage]
49 | //print(" Reason: \(reason)")
50 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:51:20: warning: value 'errorCode' was defined but never used; consider replacing with boolean test [#no-usage]
49 | //print(" Reason: \(reason)")
50 | }
51 | if let errorCode = errorCode {
| `- warning: value 'errorCode' was defined but never used; consider replacing with boolean test [#no-usage]
52 | //print(" Error Code: \(errorCode)")
53 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:54:20: warning: value 'errorDescription' was defined but never used; consider replacing with boolean test [#no-usage]
52 | //print(" Error Code: \(errorCode)")
53 | }
54 | if let errorDescription = errorDescription {
| `- warning: value 'errorDescription' was defined but never used; consider replacing with boolean test [#no-usage]
55 | //print(" Error Description: \(errorDescription)")
56 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/ConnectionManager.swift:94:9: error: setter for 'status' is only available in macOS 10.15 or newer
11 | // MARK: - Connection Manager
12 | @MainActor
13 | public class ConnectionManager: ObservableObject {
| `- note: add '@available' attribute to enclosing class
14 | @Published public var status: ConnectionStatus = .disconnected
15 | @Published public var disconnectReason: String? = nil
:
91 | }
92 |
93 | public func updateStatus(_ newStatus: ConnectionStatus) {
| `- note: add '@available' attribute to enclosing instance method
94 | status = newStatus
| |- error: setter for 'status' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
95 | }
96 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:13:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
| `- error: 'Published' is only available in macOS 10.15 or newer
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
15 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:14:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
| `- error: 'Published' is only available in macOS 10.15 or newer
15 |
16 | private let storage = LocalStorage.shared
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:12:32: error: 'ObservableObject' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
<unknown>:0: error: cannot convert value of type 'KeyPath<MessageHeapState, [String : [Message]]>' to expected argument type 'ReferenceWritableKeyPath<MessageHeapState, [String : [Message]]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<MessageHeapState, [String : Bool]>' to expected argument type 'ReferenceWritableKeyPath<MessageHeapState, [String : Bool]>'
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:24:13: error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
20 | }
21 |
22 | public func addMessages(_ messages: [Message], forRoom roomJID: String) {
| `- note: add '@available' attribute to enclosing instance method
23 | if heap[roomJID] == nil {
24 | heap[roomJID] = []
| |- error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
25 | }
26 | heap[roomJID]?.append(contentsOf: messages)
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:26:9: error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
20 | }
21 |
22 | public func addMessages(_ messages: [Message], forRoom roomJID: String) {
| `- note: add '@available' attribute to enclosing instance method
23 | if heap[roomJID] == nil {
24 | heap[roomJID] = []
25 | }
26 | heap[roomJID]?.append(contentsOf: messages)
| |- error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
27 | saveToStorage()
28 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:31:9: error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
28 | }
29 |
30 | public func setMessages(_ messages: [Message], forRoom roomJID: String) {
| `- note: add '@available' attribute to enclosing instance method
31 | heap[roomJID] = messages
| |- error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
32 | saveToStorage()
33 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:40:9: error: cannot pass as inout because setter for 'heapComplete' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
37 | }
38 |
39 | public func markComplete(forRoom roomJID: String) {
| `- note: add '@available' attribute to enclosing instance method
40 | heapComplete[roomJID] = true
| |- error: cannot pass as inout because setter for 'heapComplete' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
41 | saveToStorage()
42 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:49:9: error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
46 | }
47 |
48 | public func clear(forRoom roomJID: String) {
| `- note: add '@available' attribute to enclosing instance method
49 | heap.removeValue(forKey: roomJID)
| |- error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
50 | heapComplete.removeValue(forKey: roomJID)
51 | saveToStorage()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:50:9: error: cannot pass as inout because setter for 'heapComplete' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
46 | }
47 |
48 | public func clear(forRoom roomJID: String) {
| `- note: add '@available' attribute to enclosing instance method
49 | heap.removeValue(forKey: roomJID)
50 | heapComplete.removeValue(forKey: roomJID)
| |- error: cannot pass as inout because setter for 'heapComplete' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
51 | saveToStorage()
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:55:9: error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
52 | }
53 |
54 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
55 | heap.removeAll()
| |- error: cannot pass as inout because setter for 'heap' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
56 | heapComplete.removeAll()
57 | saveToStorage()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/MessageHeapState.swift:56:9: error: cannot pass as inout because setter for 'heapComplete' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class MessageHeapState: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | @Published public var heap: [String: [Message]] = [:] // roomJID: [messages]
14 | @Published public var heapComplete: [String: Bool] = [:] // roomJID: isComplete
:
52 | }
53 |
54 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
55 | heap.removeAll()
56 | heapComplete.removeAll()
| |- error: cannot pass as inout because setter for 'heapComplete' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
57 | saveToStorage()
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:17:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
15 | // MARK: - Published Properties
16 |
17 | @Published public var rooms: [String: Room] = [:]
| `- error: 'Published' is only available in macOS 10.15 or newer
18 | @Published public var activeRoomJID: String?
19 | @Published public var isLoading: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:18:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
16 |
17 | @Published public var rooms: [String: Room] = [:]
18 | @Published public var activeRoomJID: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
19 | @Published public var isLoading: Bool = false
20 | @Published public var globalLoading: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:19:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
17 | @Published public var rooms: [String: Room] = [:]
18 | @Published public var activeRoomJID: String?
19 | @Published public var isLoading: Bool = false
| `- error: 'Published' is only available in macOS 10.15 or newer
20 | @Published public var globalLoading: Bool = false
21 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:20:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
18 | @Published public var activeRoomJID: String?
19 | @Published public var isLoading: Bool = false
20 | @Published public var globalLoading: Bool = false
| `- error: 'Published' is only available in macOS 10.15 or newer
21 |
22 | /// Bare JIDs of chats the user has left via "Leave" — but the
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:28:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
26 | /// genuine re-join (see `unhideRoom(jid:)` in the XEP-0249/XEP-0045
27 | /// invite handler).
28 | @Published public var hiddenRoomJIDs: Set<String> = []
| `- error: 'Published' is only available in macOS 10.15 or newer
29 |
30 | // Edit action state
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:31:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
29 |
30 | // Edit action state
31 | @Published public var editAction: EditAction?
| `- error: 'Published' is only available in macOS 10.15 or newer
32 |
33 | // Users set (for quick lookup)
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:34:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
32 |
33 | // Users set (for quick lookup)
34 | @Published public var usersSet: [String: RoomMember] = [:]
| `- error: 'Published' is only available in macOS 10.15 or newer
35 |
36 | // Report room state
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:37:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
35 |
36 | // Report room state
37 | @Published public var reportRoom: ReportRoomState = ReportRoomState()
| `- error: 'Published' is only available in macOS 10.15 or newer
38 |
39 | // Loading text
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:40:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
38 |
39 | // Loading text
40 | @Published public var loadingText: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
41 |
42 | // MARK: - Initialization
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:12:25: error: 'ObservableObject' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, [String : Room]>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, [String : Room]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, String?>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, String?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, Bool>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, Bool>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, Bool>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, Bool>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, Set<String>>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, Set<String>>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, EditAction?>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, EditAction?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, [String : RoomMember]>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, [String : RoomMember]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, ReportRoomState>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, ReportRoomState>'
<unknown>:0: error: cannot convert value of type 'KeyPath<RoomStore, String?>' to expected argument type 'ReferenceWritableKeyPath<RoomStore, String?>'
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:87:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
62 | /// Only messages that arrive **after** the app started will bump the
63 | /// badge, which is the behaviour Telegram ships with.
64 | public func addRoom(_ room: Room) {
| `- note: add '@available' attribute to enclosing instance method
65 | // If the user just left this room — don't bring it back, even
66 | // if REST `/chats/my` returned it. The hidden flag is only
:
85 | toStore.lastViewedTimestamp = Int64(Date().timeIntervalSince1970 * 1000)
86 | }
87 | rooms[room.jid] = toStore
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
88 | saveToCache()
89 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:98:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
95 |
96 | /// Delete a room
97 | public func deleteRoom(jid: String) {
| `- note: add '@available' attribute to enclosing instance method
98 | rooms.removeValue(forKey: jid)
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
99 | if activeRoomJID == jid {
100 | activeRoomJID = nil
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:100:13: error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
95 |
96 | /// Delete a room
97 | public func deleteRoom(jid: String) {
| `- note: add '@available' attribute to enclosing instance method
98 | rooms.removeValue(forKey: jid)
99 | if activeRoomJID == jid {
100 | activeRoomJID = nil
| |- error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
101 | }
102 | saveToCache()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:112:9: error: cannot pass as inout because setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
108 | /// the swipe-Leave action; cleared via `unhideRoom(jid:)` on
109 | /// re-invite.
110 | public func hideRoom(jid: String) {
| `- note: add '@available' attribute to enclosing instance method
111 | let bareJID = jid.components(separatedBy: "/").first ?? jid
112 | hiddenRoomJIDs.insert(bareJID)
| |- error: cannot pass as inout because setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
113 | rooms.removeValue(forKey: bareJID)
114 | if activeRoomJID == bareJID {
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:113:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
108 | /// the swipe-Leave action; cleared via `unhideRoom(jid:)` on
109 | /// re-invite.
110 | public func hideRoom(jid: String) {
| `- note: add '@available' attribute to enclosing instance method
111 | let bareJID = jid.components(separatedBy: "/").first ?? jid
112 | hiddenRoomJIDs.insert(bareJID)
113 | rooms.removeValue(forKey: bareJID)
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
114 | if activeRoomJID == bareJID {
115 | activeRoomJID = nil
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:115:13: error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
108 | /// the swipe-Leave action; cleared via `unhideRoom(jid:)` on
109 | /// re-invite.
110 | public func hideRoom(jid: String) {
| `- note: add '@available' attribute to enclosing instance method
111 | let bareJID = jid.components(separatedBy: "/").first ?? jid
112 | hiddenRoomJIDs.insert(bareJID)
113 | rooms.removeValue(forKey: bareJID)
114 | if activeRoomJID == bareJID {
115 | activeRoomJID = nil
| |- error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
116 | }
117 | saveToCache()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:125:12: error: cannot pass as inout because setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
121 | /// XMPP broadcasts reach the UI again and the room reappears in
122 | /// the list.
123 | public func unhideRoom(jid: String) {
| `- note: add '@available' attribute to enclosing instance method
124 | let bareJID = jid.components(separatedBy: "/").first ?? jid
125 | if hiddenRoomJIDs.remove(bareJID) != nil {
| |- error: cannot pass as inout because setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
126 | saveToCache()
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:192:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
129 |
130 | /// Update room
131 | public func updateRoom(jid: String, updates: PartialRoomUpdate) {
| `- note: add '@available' attribute to enclosing instance method
132 | guard var room = rooms[jid] else { return }
133 |
:
190 | }
191 |
192 | rooms[jid] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
193 | saveToCache()
194 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:198:9: error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
195 |
196 | /// Set active room
197 | public func setActiveRoom(_ jid: String?) {
| `- note: add '@available' attribute to enclosing instance method
198 | activeRoomJID = jid
| |- error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
199 | saveToCache()
200 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:234:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
209 |
210 | /// Add message to room
211 | public func addMessage(_ message: Message, toRoomJID roomJID: String) {
| `- note: add '@available' attribute to enclosing instance method
212 | guard var room = rooms[roomJID] else { return }
213 |
:
232 | room.lastMessageTimestamp = message.timestamp
233 |
234 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
235 | saveToCache()
236 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:242:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
237 |
238 | /// Set room messages
239 | public func setRoomMessages(roomJID: String, messages: [Message]) {
| `- note: add '@available' attribute to enclosing instance method
240 | guard var room = rooms[roomJID] else { return }
241 | room.messages = messages.sorted { ($0.timestamp ?? 0) < ($1.timestamp ?? 0) }
242 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
243 | saveToCache()
244 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:295:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
252 | /// reference this id don't dangle. Media-side fields and reactions
253 | /// are cleared so the placeholder doesn't show stale attachments.
254 | public func deleteMessage(roomJID: String, messageId: String) {
| `- note: add '@available' attribute to enclosing instance method
255 | guard var room = rooms[roomJID],
256 | let index = room.messages.firstIndex(where: { $0.id == messageId }) else {
:
293 | wasEdited: original.wasEdited
294 | )
295 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
296 | saveToCache()
297 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:342:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
298 |
299 | /// Update message in room
300 | public func updateMessage(roomJID: String, messageId: String, updates: PartialMessageUpdate) {
| `- note: add '@available' attribute to enclosing instance method
301 | guard var room = rooms[roomJID],
302 | let index = room.messages.firstIndex(where: { $0.id == messageId }) else {
:
340 |
341 | room.messages[index] = updatedMessage
342 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
343 | saveToCache()
344 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:376:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
347 |
348 | /// Set reactions on a message
349 | public func setReactions(
| `- note: add '@available' attribute to enclosing instance method
350 | roomJID: String,
351 | messageId: String,
:
374 |
375 | room.messages[index] = message
376 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
377 | saveToCache()
378 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:384:9: error: setter for 'editAction' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
381 |
382 | /// Set edit action
383 | public func setEditAction(_ action: EditAction?) {
| `- note: add '@available' attribute to enclosing instance method
384 | editAction = action
| |- error: setter for 'editAction' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
385 | }
386 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:389:9: error: setter for 'editAction' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
386 |
387 | /// Clear edit action
388 | public func clearEditAction() {
| `- note: add '@available' attribute to enclosing instance method
389 | editAction = nil
| |- error: setter for 'editAction' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
390 | }
391 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:398:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
393 |
394 | /// Set last viewed timestamp for a room
395 | public func setLastViewedTimestamp(roomJID: String, timestamp: Int64) {
| `- note: add '@available' attribute to enclosing instance method
396 | guard var room = rooms[roomJID] else { return }
397 | room.lastViewedTimestamp = timestamp
398 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
399 | saveToCache()
400 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:408:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
403 |
404 | /// Update unread count for a room
405 | public func updateUnreadCount(roomJID: String, count: Int) {
| `- note: add '@available' attribute to enclosing instance method
406 | guard var room = rooms[roomJID] else { return }
407 | room.unreadMessages = count
408 | rooms[roomJID] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
409 | saveToCache()
410 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:430:17: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
421 | /// list view models don't always eagerly hydrate `room.messages` from
422 | /// cache, but the cache itself is always up to date.
423 | public func recomputeUnreadForRoom(jid: String, currentUserLocal: String) {
| `- note: add '@available' attribute to enclosing instance method
424 | guard var room = rooms[jid] else { return }
425 |
:
428 | if room.unreadMessages != 0 {
429 | room.unreadMessages = 0
430 | rooms[jid] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
431 | saveToCache()
432 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:489:13: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
421 | /// list view models don't always eagerly hydrate `room.messages` from
422 | /// cache, but the cache itself is always up to date.
423 | public func recomputeUnreadForRoom(jid: String, currentUserLocal: String) {
| `- note: add '@available' attribute to enclosing instance method
424 | guard var room = rooms[jid] else { return }
425 |
:
487 | if room.unreadMessages != unread {
488 | room.unreadMessages = unread
489 | rooms[jid] = room
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
490 | saveToCache()
491 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:557:13: error: setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
552 | }
553 |
554 | private func loadFromCache() {
| `- note: add '@available' attribute to enclosing instance method
555 | if let data = UserDefaults.standard.data(forKey: "ethora_room_store"),
556 | let decoded = try? JSONDecoder().decode([String: Room].self, from: data) {
557 | rooms = decoded
| |- error: setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
558 | }
559 | if let hiddenData = UserDefaults.standard.data(forKey: "ethora_room_store_hidden"),
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:561:13: error: setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
552 | }
553 |
554 | private func loadFromCache() {
| `- note: add '@available' attribute to enclosing instance method
555 | if let data = UserDefaults.standard.data(forKey: "ethora_room_store"),
556 | let decoded = try? JSONDecoder().decode([String: Room].self, from: data) {
:
559 | if let hiddenData = UserDefaults.standard.data(forKey: "ethora_room_store_hidden"),
560 | let decodedHidden = try? JSONDecoder().decode(Set<String>.self, from: hiddenData) {
561 | hiddenRoomJIDs = decodedHidden
| |- error: setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
562 | }
563 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:567:9: error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
| |- error: cannot pass as inout because setter for 'rooms' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
568 | activeRoomJID = nil
569 | editAction = nil
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:568:9: error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
568 | activeRoomJID = nil
| |- error: setter for 'activeRoomJID' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
569 | editAction = nil
570 | usersSet.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:569:9: error: setter for 'editAction' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
568 | activeRoomJID = nil
569 | editAction = nil
| |- error: setter for 'editAction' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
570 | usersSet.removeAll()
571 | reportRoom = ReportRoomState()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:570:9: error: cannot pass as inout because setter for 'usersSet' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
568 | activeRoomJID = nil
569 | editAction = nil
570 | usersSet.removeAll()
| |- error: cannot pass as inout because setter for 'usersSet' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
571 | reportRoom = ReportRoomState()
572 | hiddenRoomJIDs.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:571:9: error: setter for 'reportRoom' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
568 | activeRoomJID = nil
569 | editAction = nil
570 | usersSet.removeAll()
571 | reportRoom = ReportRoomState()
| |- error: setter for 'reportRoom' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
572 | hiddenRoomJIDs.removeAll()
573 | UserDefaults.standard.removeObject(forKey: "ethora_room_store")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/RoomStore.swift:572:9: error: cannot pass as inout because setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class RoomStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = RoomStore()
14 |
:
564 |
565 | /// Clear all rooms
566 | public func clearAll() {
| `- note: add '@available' attribute to enclosing instance method
567 | rooms.removeAll()
568 | activeRoomJID = nil
:
570 | usersSet.removeAll()
571 | reportRoom = ReportRoomState()
572 | hiddenRoomJIDs.removeAll()
| |- error: cannot pass as inout because setter for 'hiddenRoomJIDs' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
573 | UserDefaults.standard.removeObject(forKey: "ethora_room_store")
574 | UserDefaults.standard.removeObject(forKey: "ethora_room_store_hidden")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:15:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
15 | @Published public var currentUser: User?
| `- error: 'Published' is only available in macOS 10.15 or newer
16 | @Published public var token: String?
17 | @Published public var refreshToken: String?
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:16:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
15 | @Published public var currentUser: User?
16 | @Published public var token: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
17 | @Published public var refreshToken: String?
18 | @Published public var isAuthenticated: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:17:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
15 | @Published public var currentUser: User?
16 | @Published public var token: String?
17 | @Published public var refreshToken: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
18 | @Published public var isAuthenticated: Bool = false
19 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:18:6: error: 'Published' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
16 | @Published public var token: String?
17 | @Published public var refreshToken: String?
18 | @Published public var isAuthenticated: Bool = false
| `- error: 'Published' is only available in macOS 10.15 or newer
19 |
20 | private init() {
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:12:25: error: 'ObservableObject' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
<unknown>:0: error: cannot convert value of type 'KeyPath<UserStore, User?>' to expected argument type 'ReferenceWritableKeyPath<UserStore, User?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<UserStore, String?>' to expected argument type 'ReferenceWritableKeyPath<UserStore, String?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<UserStore, String?>' to expected argument type 'ReferenceWritableKeyPath<UserStore, String?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<UserStore, Bool>' to expected argument type 'ReferenceWritableKeyPath<UserStore, Bool>'
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:26:13: error: setter for 'token' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
18 | @Published public var isAuthenticated: Bool = false
19 |
20 | private init() {
| `- note: add '@available' attribute to enclosing initializer
21 | // Load from defaults if available
22 | if let savedToken = UserDefaults.standard.string(forKey: "ethora_user_token"),
:
24 | let savedUserData = UserDefaults.standard.data(forKey: "ethora_user_data"),
25 | let user = try? JSONDecoder().decode(User.self, from: savedUserData) {
26 | self.token = savedToken
| |- error: setter for 'token' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
27 | self.refreshToken = savedRefreshToken
28 | self.currentUser = user
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:27:13: error: setter for 'refreshToken' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
18 | @Published public var isAuthenticated: Bool = false
19 |
20 | private init() {
| `- note: add '@available' attribute to enclosing initializer
21 | // Load from defaults if available
22 | if let savedToken = UserDefaults.standard.string(forKey: "ethora_user_token"),
:
25 | let user = try? JSONDecoder().decode(User.self, from: savedUserData) {
26 | self.token = savedToken
27 | self.refreshToken = savedRefreshToken
| |- error: setter for 'refreshToken' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
28 | self.currentUser = user
29 | self.isAuthenticated = true
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:28:13: error: setter for 'currentUser' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
18 | @Published public var isAuthenticated: Bool = false
19 |
20 | private init() {
| `- note: add '@available' attribute to enclosing initializer
21 | // Load from defaults if available
22 | if let savedToken = UserDefaults.standard.string(forKey: "ethora_user_token"),
:
26 | self.token = savedToken
27 | self.refreshToken = savedRefreshToken
28 | self.currentUser = user
| |- error: setter for 'currentUser' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
29 | self.isAuthenticated = true
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:29:13: error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
18 | @Published public var isAuthenticated: Bool = false
19 |
20 | private init() {
| `- note: add '@available' attribute to enclosing initializer
21 | // Load from defaults if available
22 | if let savedToken = UserDefaults.standard.string(forKey: "ethora_user_token"),
:
27 | self.refreshToken = savedRefreshToken
28 | self.currentUser = user
29 | self.isAuthenticated = true
| |- error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
30 | }
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:54:9: error: setter for 'currentUser' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
32 |
33 | /// Set user data from login response
34 | public func setUser(from loginResponse: AuthAPI.LoginResponse) {
| `- note: add '@available' attribute to enclosing instance method
35 | // Convert UserResponse to User
36 | let user = User(
:
52 | )
53 |
54 | self.currentUser = user
| |- error: setter for 'currentUser' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
55 | self.token = loginResponse.token
56 | self.refreshToken = loginResponse.refreshToken
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:55:9: error: setter for 'token' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
32 |
33 | /// Set user data from login response
34 | public func setUser(from loginResponse: AuthAPI.LoginResponse) {
| `- note: add '@available' attribute to enclosing instance method
35 | // Convert UserResponse to User
36 | let user = User(
:
53 |
54 | self.currentUser = user
55 | self.token = loginResponse.token
| |- error: setter for 'token' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
56 | self.refreshToken = loginResponse.refreshToken
57 | self.isAuthenticated = true
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:56:9: error: setter for 'refreshToken' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
32 |
33 | /// Set user data from login response
34 | public func setUser(from loginResponse: AuthAPI.LoginResponse) {
| `- note: add '@available' attribute to enclosing instance method
35 | // Convert UserResponse to User
36 | let user = User(
:
54 | self.currentUser = user
55 | self.token = loginResponse.token
56 | self.refreshToken = loginResponse.refreshToken
| |- error: setter for 'refreshToken' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
57 | self.isAuthenticated = true
58 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:57:9: error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
32 |
33 | /// Set user data from login response
34 | public func setUser(from loginResponse: AuthAPI.LoginResponse) {
| `- note: add '@available' attribute to enclosing instance method
35 | // Convert UserResponse to User
36 | let user = User(
:
55 | self.token = loginResponse.token
56 | self.refreshToken = loginResponse.refreshToken
57 | self.isAuthenticated = true
| |- error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
58 |
59 | // Persist to UserDefaults
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:71:9: error: setter for 'token' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
68 |
69 | /// Update tokens after refresh
70 | public func updateTokens(token: String, refreshToken: String) {
| `- note: add '@available' attribute to enclosing instance method
71 | self.token = token
| |- error: setter for 'token' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
72 | self.refreshToken = refreshToken
73 | UserDefaults.standard.set(token, forKey: "ethora_user_token")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:72:9: error: setter for 'refreshToken' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
68 |
69 | /// Update tokens after refresh
70 | public func updateTokens(token: String, refreshToken: String) {
| `- note: add '@available' attribute to enclosing instance method
71 | self.token = token
72 | self.refreshToken = refreshToken
| |- error: setter for 'refreshToken' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
73 | UserDefaults.standard.set(token, forKey: "ethora_user_token")
74 | UserDefaults.standard.set(refreshToken, forKey: "ethora_user_refresh_token")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:81:9: error: setter for 'currentUser' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
| |- error: setter for 'currentUser' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
82 | self.token = nil
83 | self.refreshToken = nil
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:82:9: error: setter for 'token' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
82 | self.token = nil
| |- error: setter for 'token' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
83 | self.refreshToken = nil
84 | self.isAuthenticated = false
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:83:9: error: setter for 'refreshToken' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
82 | self.token = nil
83 | self.refreshToken = nil
| |- error: setter for 'refreshToken' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | self.isAuthenticated = false
85 |
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:84:9: error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
82 | self.token = nil
83 | self.refreshToken = nil
84 | self.isAuthenticated = false
| |- error: setter for 'isAuthenticated' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
85 |
86 | UserDefaults.standard.removeObject(forKey: "ethora_user_token")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:91:9: error: 'Task' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
82 | self.token = nil
:
89 |
90 | // Clear message cache on logout
91 | Task { @MainActor in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
92 | MessageCache.shared.clearAll()
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:91:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
10 |
11 | @MainActor
12 | public class UserStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
13 | public static let shared = UserStore()
14 |
:
78 | /// Clear user data (logout)
79 | /// This removes all cached user data and tokens
80 | public func clearUser() {
| `- note: add '@available' attribute to enclosing instance method
81 | self.currentUser = nil
82 | self.token = nil
:
89 |
90 | // Clear message cache on logout
91 | Task { @MainActor in
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
92 | MessageCache.shared.clearAll()
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Store/UserStore.swift:132:13: warning: no 'async' operations occur within 'await' expression
130 |
131 | // Save to UserStore
132 | await UserStore.shared.setUser(from: loginResponse)
| `- warning: no 'async' operations occur within 'await' expression
133 |
134 | print("✅ JWT autologin complete! User authenticated.")
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Utilities/FormatHelpers.swift:17:9: warning: variable 'uniqueUsers' was never mutated; consider changing to 'let' constant
15 |
16 | public func extractUniqueMembersFromRooms(_ rooms: [Room]) -> [User] {
17 | var uniqueUsers: [String: User] = [:]
| `- warning: variable 'uniqueUsers' was never mutated; consider changing to 'let' constant
18 |
19 | for room in rooms {
/Users/admin/builder/spi-builder-workspace/Sources/XMPPChatCore/Utilities/FormatHelpers.swift:19:9: warning: immutable value 'room' was never used; consider replacing with '_' or removing it [#no-usage]
17 | var uniqueUsers: [String: User] = [:]
18 |
19 | for room in rooms {
| `- warning: immutable value 'room' was never used; consider replacing with '_' or removing it [#no-usage]
20 | // Extract users from room members if available
21 | // This is a placeholder - actual implementation depends on Room structure
Fetching https://github.com/daltoniam/Starscream.git
[1/5112] Fetching starscream
Fetched https://github.com/daltoniam/Starscream.git from cache (1.28s)
Computing version for https://github.com/daltoniam/Starscream.git
Computed https://github.com/daltoniam/Starscream.git at 4.0.8 (4.01s)
Creating working copy for https://github.com/daltoniam/Starscream.git
Working copy of https://github.com/daltoniam/Starscream.git resolved at 4.0.8
warning: 'starscream': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Starscream/Sources/Info.plist
BUILD FAILURE 6.2 macosSpm