The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build StreamChat, reference develop (47c502), with Swift 6.0 for macOS (SPM) on 16 Jun 2025 15:49:47 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64

Build Log

    | `- note: add '@retroactive' to silence this warning
 23 |     public static func == (lhs: Filter<Scope>, rhs: Filter<Scope>) -> Bool {
 24 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/TestData/FilterTestScope.swift:97:48: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
 95 |         let dateString = "2020-08-12T13:14:59Z"
 96 |         let json = "{\"test_key_Date\":{\"$ne\":\"\(dateString)\"}}"
 97 |         let filter: Filter<FilterTestScope> = .notEqual(.testKeyDate, to: date)
    |                                                `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
 98 |         return FilterCodingTestPair(json: json, filter: filter)
 99 |     }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/TestData/FilterTestScope.swift:153:48: warning: 'notIn(_:values:)' is deprecated: The notIn filter will be removed in the future
151 |         let arrayJSON = #"["1","2","3","4"]"#
152 |         let json = "{\"test_key_ArrayString\":{\"$nin\":\(arrayJSON)}}"
153 |         let filter: Filter<FilterTestScope> = .notIn(.testKeyArrayString, values: array)
    |                                                `- warning: 'notIn(_:values:)' is deprecated: The notIn filter will be removed in the future
154 |         return FilterCodingTestPair(json: json, filter: filter)
155 |     }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/TestData/FilterTestScope.swift:198:14: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
196 |         let json = #"{"$nor":[{"test_key_Bool":{"$ne":true}},{"test_key_Double":{"$eq":678.89999999999998}}]}"#
197 |         let filter: Filter<FilterTestScope> = .nor([
198 |             .notEqual(.testKeyBool, to: true),
    |              `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
199 |             .equal(.testKeyDouble, to: 678.9)
200 |         ])
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/AnyEncodable+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension AnyEncodable: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyEncodable' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: AnyEncodable, rhs: AnyEncodable) -> Bool {
10 |         do {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/ChannelListQuery+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension ChannelListQuery: Equatable {
   | |- warning: extension declares a conformance of imported type 'ChannelListQuery' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: ChannelListQuery, rhs: ChannelListQuery) -> Bool {
10 |         lhs.filter == rhs.filter &&
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/CleanUpTypingEvent+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension CleanUpTypingEvent: Equatable {
   | |- warning: extension declares a conformance of imported type 'CleanUpTypingEvent' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: CleanUpTypingEvent, rhs: CleanUpTypingEvent) -> Bool {
10 |         lhs.cid == rhs.cid && lhs.userId == rhs.userId
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/EndpoinPath+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension EndpointPath: Equatable {
   | |- warning: extension declares a conformance of imported type 'EndpointPath' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (_ lhs: EndpointPath, _ rhs: EndpointPath) -> Bool {
10 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/Unique/TypingEventDTO+Unique.swift:44:1: warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
42 | }
43 |
44 | extension TypingEventDTO: Equatable {
   | |- warning: extension declares a conformance of imported type 'TypingEventDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
45 |     public static func == (lhs: TypingEventDTO, rhs: TypingEventDTO) -> Bool {
46 |         lhs.isTyping == rhs.isTyping && lhs.cid == rhs.cid && lhs.user.id == rhs.user.id
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/WebSocketEngineError+Equatable.swift:8:1: warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
 6 | @testable import StreamChat
 7 |
 8 | extension WebSocketEngineError: Equatable {
   | |- warning: extension declares a conformance of imported type 'WebSocketEngineError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 9 |     public static func == (lhs: WebSocketEngineError, rhs: WebSocketEngineError) -> Bool {
10 |         String(describing: lhs) == String(describing: rhs)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:10:52: error: cannot find type 'UIImage' in scope
 8 |     /// A set of test images and their URL that can be used for testing. These images are also preloaded in Nuke cache.
 9 |     enum TestImages {
10 |         public static let vader: (url: URL, image: UIImage) = {
   |                                                    `- error: cannot find type 'UIImage' in scope
11 |             getImage(withName: "vader")
12 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:14:51: error: cannot find type 'UIImage' in scope
12 |         }()
13 |
14 |         public static let yoda: (url: URL, image: UIImage) = {
   |                                                   `- error: cannot find type 'UIImage' in scope
15 |             getImage(withName: "yoda")
16 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:18:49: error: cannot find type 'UIImage' in scope
16 |         }()
17 |
18 |         public static let r2: (url: URL, image: UIImage) = {
   |                                                 `- error: cannot find type 'UIImage' in scope
19 |             getImage(withName: "r2")
20 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:22:56: error: cannot find type 'UIImage' in scope
20 |         }()
21 |
22 |         public static let chewbacca: (url: URL, image: UIImage) = {
   |                                                        `- error: cannot find type 'UIImage' in scope
23 |             getImage(withName: "chewbacca")
24 |         }()
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:26:113: error: cannot find type 'UIImage' in scope
24 |         }()
25 |
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
   |                                                                                                                 `- error: cannot find type 'UIImage' in scope
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Extensions/XCTestCase+TestImages.swift:28:25: error: cannot find 'UIImage' in scope
26 |         private static func getImage(withName name: String, fileExtension: String = "jpg") -> (url: URL, image: UIImage) {
27 |             let imageURL = Bundle.testTools.url(forResource: name, withExtension: fileExtension)!
28 |             let image = UIImage(contentsOfFile: imageURL.path)!
   |                         `- error: cannot find 'UIImage' in scope
29 |             return (imageURL, image)
30 |         }
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/Models + Extensions/Attachments/AnyAttachmentPayload_Mock.swift:41:1: warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
39 | }
40 |
41 | extension AnyAttachmentPayload: Equatable {
   | |- warning: extension declares a conformance of imported type 'AnyAttachmentPayload' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'StreamChat' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
42 |     public static func == (lhs: Self, rhs: Self) -> Bool {
43 |         let lhsData = try! JSONEncoder.default.encode(lhs.payload.asAnyEncodable)
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Controllers/ChannelListController_Mock.swift:25:42: warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
23 |
24 |     init() {
25 |         super.init(query: .init(filter: .notEqual("cid", to: "")), client: .mock)
   |                                          `- warning: 'notEqual(_:to:)' is deprecated: The notEqual filter will be removed in the future
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
/Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/Mocks/StreamChat/Workers/ThreadsRepository_Mock.swift:6:18: warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 4 |
 5 | @testable import StreamChat
 6 | @testable import StreamChatTestTools
   |                  `- warning: file 'ThreadsRepository_Mock.swift' is part of module 'StreamChatTestTools'; ignoring import
 7 | import XCTest
 8 |
Fetching https://github.com/apple/swift-docc-plugin
[1/2082] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-docc-plugin from cache (1.26s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.0.0 (0.62s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.0.0
warning: 'spi-builder-workspace': found 2 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/DatabaseModels/TestDataModel.xcdatamodeld
    /Users/admin/builder/spi-builder-workspace/TestTools/StreamChatTestTools/DatabaseModels/TestDataModel2.xcdatamodeld
BUILD FAILURE 6.0 macosSpm