From 6f870919b78a6997f9cff5d215edddf7c6fcd580 Mon Sep 17 00:00:00 2001 From: Corey Date: Fri, 25 Oct 2024 10:51:55 -0700 Subject: [PATCH 01/24] fix: Build for Swift 6.0.1 on Linux --- .swiftlint.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.swiftlint.yml b/.swiftlint.yml index bc875a404..223f29c23 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -3,6 +3,7 @@ disabled_rules: - identifier_name - blanket_disable_command - non_optional_string_data_conversion + - optional_data_string_conversion excluded: # paths to ignore during linting. Takes precedence over `included`. - Tests/ParseSwiftTests/ParseEncoderTests - DerivedData From b2dd43ce2ebcbda760d5364ac7b0583d0bce725f Mon Sep 17 00:00:00 2001 From: Corey Date: Fri, 25 Oct 2024 10:54:19 -0700 Subject: [PATCH 02/24] Update ci.yml --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9d3a2b38e..418b3097e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ on: env: CI_XCODE_OLDEST: '/Applications/Xcode_14.2.app/Contents/Developer' CI_XCODE_14: '/Applications/Xcode_14.3.1.app/Contents/Developer' - CI_XCODE_LATEST: '/Applications/Xcode_15.4.app/Contents/Developer' + CI_XCODE_LATEST: '/Applications/Xcode_16.1.app/Contents/Developer' concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -119,7 +119,7 @@ jobs: - uses: actions/checkout@v4 - uses: sersoft-gmbh/swifty-linux-action@v3 with: - release-version: "5" + release-version: "6" github-token: ${{ secrets.GITHUB_TOKEN }} - name: Build and Test run: swift test --enable-test-discovery --enable-code-coverage -v From 147061733dc42b6d8194aee545a057796c74ddbb Mon Sep 17 00:00:00 2001 From: Corey Date: Fri, 25 Oct 2024 10:54:43 -0700 Subject: [PATCH 03/24] Update release.yml --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eb211ec90..4859acf17 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,7 +4,7 @@ on: types: [published] env: CI_XCODE_14: '/Applications/Xcode_14.3.1.app/Contents/Developer' - CI_XCODE_LATEST: '/Applications/Xcode_15.4.app/Contents/Developer' + CI_XCODE_LATEST: '/Applications/Xcode_16.1.app/Contents/Developer' jobs: cocoapods: From 3a40c21dad3a15604d4e7c5d74dedb66ca842814 Mon Sep 17 00:00:00 2001 From: Corey Date: Fri, 25 Oct 2024 10:57:01 -0700 Subject: [PATCH 04/24] Update release.yml --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4859acf17..d3f34b0ae 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,7 @@ env: jobs: cocoapods: - runs-on: macos-14 + runs-on: macos-15 steps: - uses: actions/checkout@v4 - name: Get release version @@ -24,7 +24,7 @@ jobs: DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} docs: - runs-on: macos-14 + runs-on: macos-15 steps: - uses: actions/checkout@v4 - name: Get release version From 643eb3d81bff841a07c548293f3bb96119ada3e7 Mon Sep 17 00:00:00 2001 From: Corey Date: Fri, 25 Oct 2024 10:58:00 -0700 Subject: [PATCH 05/24] Update ci.yml --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 418b3097e..64589b526 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,7 @@ concurrency: jobs: test: timeout-minutes: 25 - runs-on: macos-14 + runs-on: macos-15 strategy: matrix: destination: ['platform=iOS\ Simulator,OS=17.5,name=iPhone\ 15\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=17.5,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 9\ \(41mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=1.2,name=Apple\ Vision\ Pro'] @@ -68,7 +68,7 @@ jobs: spm-test: timeout-minutes: 25 - runs-on: macos-14 + runs-on: macos-15 steps: - uses: actions/checkout@v4 - name: Create and set the default keychain @@ -156,7 +156,7 @@ jobs: docs: timeout-minutes: 10 needs: linux - runs-on: macos-14 + runs-on: macos-15 steps: - uses: actions/checkout@v4 - name: Generate Docs @@ -166,7 +166,7 @@ jobs: cocoapods: needs: linux - runs-on: macos-14 + runs-on: macos-15 steps: - uses: actions/checkout@v4 - name: Update Framework Version From 1e1387aa7613a9359734dbdcc526edef8927a591 Mon Sep 17 00:00:00 2001 From: Corey Date: Wed, 30 Oct 2024 21:19:18 -0700 Subject: [PATCH 06/24] Update ci.yml --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 64589b526..8d6d47510 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,18 +22,18 @@ jobs: runs-on: macos-15 strategy: matrix: - destination: ['platform=iOS\ Simulator,OS=17.5,name=iPhone\ 15\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=17.5,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 9\ \(41mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=1.2,name=Apple\ Vision\ Pro'] + destination: ['platform=iOS\ Simulator,OS=18.1,name=iPhone\ 15\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=18.`,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(41mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=2.1,name=Apple\ Vision\ Pro'] action: ['test', 'build'] exclude: - - destination: 'platform=iOS\ Simulator,OS=17.5,name=iPhone\ 15\ Pro\ Max' + - destination: 'platform=iOS\ Simulator,OS=18.1,name=iPhone\ 15\ Pro\ Max' action: 'build' - - destination: 'platform\=tvOS\ Simulator,OS=17.5,name\=Apple\ TV' + - destination: 'platform\=tvOS\ Simulator,OS=18.`,name\=Apple\ TV' action: 'build' - destination: 'platform=macOS' action: 'build' - - destination: 'platform=visionOS\ Simulator,OS=1.2,name=Apple\ Vision\ Pro' + - destination: 'platform=visionOS\ Simulator,OS=2.1,name=Apple\ Vision\ Pro' action: 'test' - - destination: 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 9\ \(41mm\)' + - destination: 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(41mm\)' action: 'test' steps: - uses: actions/checkout@v4 From 3ab1c1391e470fbd1b0a7382b7d109a1565f5cac Mon Sep 17 00:00:00 2001 From: Corey Date: Wed, 30 Oct 2024 21:21:18 -0700 Subject: [PATCH 07/24] Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8d6d47510..c32361808 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,7 +27,7 @@ jobs: exclude: - destination: 'platform=iOS\ Simulator,OS=18.1,name=iPhone\ 15\ Pro\ Max' action: 'build' - - destination: 'platform\=tvOS\ Simulator,OS=18.`,name\=Apple\ TV' + - destination: 'platform\=tvOS\ Simulator,OS=18.1,name\=Apple\ TV' action: 'build' - destination: 'platform=macOS' action: 'build' From 08df46b1267be79f3ea6c5af40eeec471a13bea6 Mon Sep 17 00:00:00 2001 From: Corey Date: Wed, 30 Oct 2024 21:22:27 -0700 Subject: [PATCH 08/24] Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c32361808..905dcb9f3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: macos-15 strategy: matrix: - destination: ['platform=iOS\ Simulator,OS=18.1,name=iPhone\ 15\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=18.`,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(41mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=2.1,name=Apple\ Vision\ Pro'] + destination: ['platform=iOS\ Simulator,OS=18.1,name=iPhone\ 15\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=18.1`,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(41mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=2.1,name=Apple\ Vision\ Pro'] action: ['test', 'build'] exclude: - destination: 'platform=iOS\ Simulator,OS=18.1,name=iPhone\ 15\ Pro\ Max' From 20d40b567fb6a08a879954893ceff8ff30c8f207 Mon Sep 17 00:00:00 2001 From: Corey Date: Wed, 30 Oct 2024 21:24:16 -0700 Subject: [PATCH 09/24] Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 905dcb9f3..ed0511e52 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: macos-15 strategy: matrix: - destination: ['platform=iOS\ Simulator,OS=18.1,name=iPhone\ 15\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=18.1`,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(41mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=2.1,name=Apple\ Vision\ Pro'] + destination: ['platform=iOS\ Simulator,OS=18.1,name=iPhone\ 15\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=18.1,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(41mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=2.1,name=Apple\ Vision\ Pro'] action: ['test', 'build'] exclude: - destination: 'platform=iOS\ Simulator,OS=18.1,name=iPhone\ 15\ Pro\ Max' From d5a5fbcf74fe88ad2e54076d15f18829abf5d024 Mon Sep 17 00:00:00 2001 From: Corey Date: Wed, 30 Oct 2024 21:26:55 -0700 Subject: [PATCH 10/24] Update ci.yml --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ed0511e52..446b2f808 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,10 +22,10 @@ jobs: runs-on: macos-15 strategy: matrix: - destination: ['platform=iOS\ Simulator,OS=18.1,name=iPhone\ 15\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=18.1,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(41mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=2.1,name=Apple\ Vision\ Pro'] + destination: ['platform=iOS\ Simulator,OS=18.1,name=iPhone\ 16\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=18.1,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(41mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=2.1,name=Apple\ Vision\ Pro'] action: ['test', 'build'] exclude: - - destination: 'platform=iOS\ Simulator,OS=18.1,name=iPhone\ 15\ Pro\ Max' + - destination: 'platform=iOS\ Simulator,OS=18.1,name=iPhone\ 16\ Pro\ Max' action: 'build' - destination: 'platform\=tvOS\ Simulator,OS=18.1,name\=Apple\ TV' action: 'build' From 36c2f497ad5412e98b9377a87d15034a51869e2e Mon Sep 17 00:00:00 2001 From: Corey Date: Wed, 30 Oct 2024 22:28:18 -0700 Subject: [PATCH 11/24] Update ci.yml --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 446b2f808..26d29ec48 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: macos-15 strategy: matrix: - destination: ['platform=iOS\ Simulator,OS=18.1,name=iPhone\ 16\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=18.1,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(41mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=2.1,name=Apple\ Vision\ Pro'] + destination: ['platform=iOS\ Simulator,OS=18.1,name=iPhone\ 16\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=18.1,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(42mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=2.1,name=Apple\ Vision\ Pro'] action: ['test', 'build'] exclude: - destination: 'platform=iOS\ Simulator,OS=18.1,name=iPhone\ 16\ Pro\ Max' @@ -33,7 +33,7 @@ jobs: action: 'build' - destination: 'platform=visionOS\ Simulator,OS=2.1,name=Apple\ Vision\ Pro' action: 'test' - - destination: 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(41mm\)' + - destination: 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(42mm\)' action: 'test' steps: - uses: actions/checkout@v4 From 9d640ba14fe25d7c029e42027d52d44898a96795 Mon Sep 17 00:00:00 2001 From: Corey Date: Tue, 24 Dec 2024 20:23:42 -0800 Subject: [PATCH 12/24] Update ci.yml --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 26d29ec48..d1eefe33a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ on: env: CI_XCODE_OLDEST: '/Applications/Xcode_14.2.app/Contents/Developer' CI_XCODE_14: '/Applications/Xcode_14.3.1.app/Contents/Developer' - CI_XCODE_LATEST: '/Applications/Xcode_16.1.app/Contents/Developer' + CI_XCODE_LATEST: '/Applications/Xcode_16.2.app/Contents/Developer' concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -22,16 +22,16 @@ jobs: runs-on: macos-15 strategy: matrix: - destination: ['platform=iOS\ Simulator,OS=18.1,name=iPhone\ 16\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=18.1,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(42mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=2.1,name=Apple\ Vision\ Pro'] + destination: ['platform=iOS\ Simulator,OS=18.2,name=iPhone\ 16\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=18.2,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(42mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=2.1,name=Apple\ Vision\ Pro'] action: ['test', 'build'] exclude: - - destination: 'platform=iOS\ Simulator,OS=18.1,name=iPhone\ 16\ Pro\ Max' + - destination: 'platform=iOS\ Simulator,OS=18.2,name=iPhone\ 16\ Pro\ Max' action: 'build' - - destination: 'platform\=tvOS\ Simulator,OS=18.1,name\=Apple\ TV' + - destination: 'platform\=tvOS\ Simulator,OS=18.2,name\=Apple\ TV' action: 'build' - destination: 'platform=macOS' action: 'build' - - destination: 'platform=visionOS\ Simulator,OS=2.1,name=Apple\ Vision\ Pro' + - destination: 'platform=visionOS\ Simulator,OS=2.2,name=Apple\ Vision\ Pro' action: 'test' - destination: 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(42mm\)' action: 'test' From 70babe7eeb2dbf223e33b39fb34b45325c6de5db Mon Sep 17 00:00:00 2001 From: Corey Baker Date: Tue, 24 Dec 2024 20:48:19 -0800 Subject: [PATCH 13/24] fix encoding order --- Sources/ParseSwift/API/API+Command.swift | 4 ++-- Sources/ParseSwift/API/API+NonParseBodyCommand.swift | 2 +- Sources/ParseSwift/Extensions/URLSession.swift | 8 ++++---- Sources/ParseSwift/Storage/ParseFileManager.swift | 10 +++++----- Tests/ParseSwiftTests/ParsePushPayloadAnyTests.swift | 4 ++-- .../ParsePushPayloadFirebaseTests.swift | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Sources/ParseSwift/API/API+Command.swift b/Sources/ParseSwift/API/API+Command.swift index e65003857..1d7bec4e7 100644 --- a/Sources/ParseSwift/API/API+Command.swift +++ b/Sources/ParseSwift/API/API+Command.swift @@ -100,7 +100,7 @@ internal extension API { allowIntermediateResponses: Bool = false, uploadProgress: ((URLSessionTask, Int64, Int64, Int64) -> Void)? = nil, downloadProgress: ((URLSessionDownloadTask, Int64, Int64, Int64) -> Void)? = nil, - completion: @escaping(Result) -> Void) async { + completion: @escaping (Result) -> Void) async { let currentNotificationQueue: DispatchQueue! if let notificationQueue = notificationQueue { currentNotificationQueue = notificationQueue @@ -257,7 +257,7 @@ internal extension API { batching: Bool = false, childObjects: [String: PointerType]? = nil, childFiles: [String: ParseFile]? = nil, - completion: @escaping(Result) -> Void) { + completion: @escaping (Result) -> Void) { let params = self.params?.getURLQueryItems() Task { do { diff --git a/Sources/ParseSwift/API/API+NonParseBodyCommand.swift b/Sources/ParseSwift/API/API+NonParseBodyCommand.swift index 77265d773..c5ac841d7 100644 --- a/Sources/ParseSwift/API/API+NonParseBodyCommand.swift +++ b/Sources/ParseSwift/API/API+NonParseBodyCommand.swift @@ -37,7 +37,7 @@ internal extension API { func execute(options: API.Options, callbackQueue: DispatchQueue, allowIntermediateResponses: Bool = false, - completion: @escaping(Result) -> Void) async { + completion: @escaping (Result) -> Void) async { switch await self.prepareURLRequest(options: options) { case .success(let urlRequest): diff --git a/Sources/ParseSwift/Extensions/URLSession.swift b/Sources/ParseSwift/Extensions/URLSession.swift index 78cba485c..6edaebdeb 100644 --- a/Sources/ParseSwift/Extensions/URLSession.swift +++ b/Sources/ParseSwift/Extensions/URLSession.swift @@ -143,7 +143,7 @@ internal extension URLSession { attempts: Int = 1, allowIntermediateResponses: Bool, mapper: @escaping (Data) async throws -> U, - completion: @escaping(Result) -> Void + completion: @escaping (Result) -> Void ) async { do { let (responseData, urlResponse) = try await dataTask(for: request) @@ -288,7 +288,7 @@ internal extension URLSession { from file: URL?, progress: ((URLSessionTask, Int64, Int64, Int64) -> Void)?, mapper: @escaping (Data) async throws -> U, - completion: @escaping(Result) -> Void + completion: @escaping (Result) -> Void ) { var task: URLSessionTask? if let data = data { @@ -354,7 +354,7 @@ internal extension URLSession { with request: URLRequest, progress: ((URLSessionDownloadTask, Int64, Int64, Int64) -> Void)?, mapper: @escaping (Data) async throws -> U, - completion: @escaping(Result) -> Void + completion: @escaping (Result) -> Void ) async { let task = downloadTask(with: request) { (location, urlResponse, responseError) in Task { @@ -374,7 +374,7 @@ internal extension URLSession { func downloadTask( with request: URLRequest, mapper: @escaping (Data) async throws -> U, - completion: @escaping(Result) -> Void + completion: @escaping (Result) -> Void ) { Task { do { diff --git a/Sources/ParseSwift/Storage/ParseFileManager.swift b/Sources/ParseSwift/Storage/ParseFileManager.swift index 357d2b2b1..8a2dadbad 100644 --- a/Sources/ParseSwift/Storage/ParseFileManager.swift +++ b/Sources/ParseSwift/Storage/ParseFileManager.swift @@ -112,7 +112,7 @@ extension ParseFileManager { } } - func writeString(_ string: String, filePath: URL, completion: @escaping(Error?) -> Void) { + func writeString(_ string: String, filePath: URL, completion: @escaping (Error?) -> Void) { synchronizationQueue.async { do { guard let data = string.data(using: .utf8) else { @@ -127,7 +127,7 @@ extension ParseFileManager { } } - func writeData(_ data: Data, filePath: URL, completion: @escaping(Error?) -> Void) { + func writeData(_ data: Data, filePath: URL, completion: @escaping (Error?) -> Void) { synchronizationQueue.async { do { try data.write(to: filePath, options: self.defaultDataWritingOptions) @@ -138,7 +138,7 @@ extension ParseFileManager { } } - func copyItem(_ fromPath: URL, toPath: URL, completion: @escaping(Error?) -> Void) { + func copyItem(_ fromPath: URL, toPath: URL, completion: @escaping (Error?) -> Void) { synchronizationQueue.async { do { try FileManager.default.copyItem(at: fromPath, to: toPath) @@ -149,7 +149,7 @@ extension ParseFileManager { } } - func moveItem(_ fromPath: URL, toPath: URL, completion: @escaping(Error?) -> Void) { + func moveItem(_ fromPath: URL, toPath: URL, completion: @escaping (Error?) -> Void) { synchronizationQueue.async { if fromPath != toPath { do { @@ -164,7 +164,7 @@ extension ParseFileManager { } } - func moveContentsOfDirectory(_ fromPath: URL, toPath: URL, completion: @escaping(Error?) -> Void) { + func moveContentsOfDirectory(_ fromPath: URL, toPath: URL, completion: @escaping (Error?) -> Void) { synchronizationQueue.async { do { if fromPath == toPath { diff --git a/Tests/ParseSwiftTests/ParsePushPayloadAnyTests.swift b/Tests/ParseSwiftTests/ParsePushPayloadAnyTests.swift index 9a03432bf..03184dffb 100644 --- a/Tests/ParseSwiftTests/ParsePushPayloadAnyTests.swift +++ b/Tests/ParseSwiftTests/ParsePushPayloadAnyTests.swift @@ -115,7 +115,7 @@ class ParsePushPayloadAnyTests: XCTestCase { XCTAssertEqual(decodedAny2, applePayload) #if !os(Linux) && !os(Android) && !os(Windows) XCTAssertEqual(fcmPayload.description, - "{\"collapseKey\":\"nope\",\"data\":{\"help\":\"you\"},\"delayWhileIdle\":false,\"dryRun\":false,\"notification\":{\"android_channel_id\":\"you\",\"badge\":\"no\",\"body\":\"android\",\"body_loc-key\":\"cousin\",\"body-loc-args\":[\"mother\"],\"click_action\":\"to\",\"color\":\"blue\",\"icon\":\"world\",\"image\":\"icon\",\"sound\":\"yes\",\"subtitle\":\"trip\",\"tag\":\"it\",\"title\":\"hello\",\"title_loc_args\":[\"arg\"],\"title_loc_key\":\"it\"},\"restrictedPackageName\":\"geez\",\"title\":\"peace\",\"uri\":\"https:\\/\\/parse.org\"}") + "{\"collapseKey\":\"nope\",\"data\":{\"help\":\"you\"},\"delayWhileIdle\":false,\"dryRun\":false,\"notification\":{\"android_channel_id\":\"you\",\"badge\":\"no\",\"body\":\"android\",\"body-loc-args\":[\"mother\"],\"body_loc-key\":\"cousin\",\"click_action\":\"to\",\"color\":\"blue\",\"icon\":\"world\",\"image\":\"icon\",\"sound\":\"yes\",\"subtitle\":\"trip\",\"tag\":\"it\",\"title\":\"hello\",\"title_loc_args\":[\"arg\"],\"title_loc_key\":\"it\"},\"restrictedPackageName\":\"geez\",\"title\":\"peace\",\"uri\":\"https:\\/\\/parse.org\"}") #endif } @@ -230,7 +230,7 @@ class ParsePushPayloadAnyTests: XCTestCase { XCTAssertEqual(decoded2, fcmPayload) #if !os(Linux) && !os(Android) && !os(Windows) XCTAssertEqual(fcmPayload.description, - "{\"collapseKey\":\"nope\",\"contentAvailable\":true,\"data\":{\"help\":\"you\"},\"delayWhileIdle\":false,\"dryRun\":false,\"mutableContent\":true,\"notification\":{\"android_channel_id\":\"you\",\"badge\":\"no\",\"body\":\"android\",\"body_loc-key\":\"cousin\",\"body-loc-args\":[\"mother\"],\"click_action\":\"to\",\"color\":\"blue\",\"icon\":\"world\",\"image\":\"icon\",\"sound\":\"yes\",\"subtitle\":\"trip\",\"tag\":\"it\",\"title\":\"hello\",\"title_loc_args\":[\"arg\"],\"title_loc_key\":\"it\"},\"priority\":\"high\",\"restrictedPackageName\":\"geez\",\"title\":\"peace\",\"uri\":\"https:\\/\\/parse.org\"}") + "{\"collapseKey\":\"nope\",\"contentAvailable\":true,\"data\":{\"help\":\"you\"},\"delayWhileIdle\":false,\"dryRun\":false,\"mutableContent\":true,\"notification\":{\"android_channel_id\":\"you\",\"badge\":\"no\",\"body\":\"android\",\"body-loc-args\":[\"mother\"],\"body_loc-key\":\"cousin\",\"click_action\":\"to\",\"color\":\"blue\",\"icon\":\"world\",\"image\":\"icon\",\"sound\":\"yes\",\"subtitle\":\"trip\",\"tag\":\"it\",\"title\":\"hello\",\"title_loc_args\":[\"arg\"],\"title_loc_key\":\"it\"},\"priority\":\"high\",\"restrictedPackageName\":\"geez\",\"title\":\"peace\",\"uri\":\"https:\\/\\/parse.org\"}") #endif } } diff --git a/Tests/ParseSwiftTests/ParsePushPayloadFirebaseTests.swift b/Tests/ParseSwiftTests/ParsePushPayloadFirebaseTests.swift index 82dae0e1c..ccf2ab3c4 100644 --- a/Tests/ParseSwiftTests/ParsePushPayloadFirebaseTests.swift +++ b/Tests/ParseSwiftTests/ParsePushPayloadFirebaseTests.swift @@ -73,7 +73,7 @@ class ParsePushPayloadFirebaseTests: XCTestCase { XCTAssertEqual(fcmPayload, decoded) #if !os(Linux) && !os(Android) && !os(Windows) XCTAssertEqual(fcmPayload.description, - "{\"collapseKey\":\"nope\",\"contentAvailable\":true,\"data\":{\"help\":\"you\"},\"delayWhileIdle\":false,\"dryRun\":false,\"mutableContent\":true,\"notification\":{\"android_channel_id\":\"you\",\"badge\":\"no\",\"body\":\"android\",\"body_loc-key\":\"cousin\",\"body-loc-args\":[\"mother\"],\"click_action\":\"to\",\"color\":\"blue\",\"icon\":\"world\",\"image\":\"icon\",\"sound\":\"yes\",\"subtitle\":\"trip\",\"tag\":\"it\",\"title\":\"hello\",\"title_loc_args\":[\"arg\"],\"title_loc_key\":\"it\"},\"priority\":\"high\",\"restrictedPackageName\":\"geez\",\"title\":\"peace\",\"uri\":\"https:\\/\\/parse.org\"}") + "{\"collapseKey\":\"nope\",\"contentAvailable\":true,\"data\":{\"help\":\"you\"},\"delayWhileIdle\":false,\"dryRun\":false,\"mutableContent\":true,\"notification\":{\"android_channel_id\":\"you\",\"badge\":\"no\",\"body\":\"android\",\"body-loc-args\":[\"mother\"],\"body_loc-key\":\"cousin\",\"click_action\":\"to\",\"color\":\"blue\",\"icon\":\"world\",\"image\":\"icon\",\"sound\":\"yes\",\"subtitle\":\"trip\",\"tag\":\"it\",\"title\":\"hello\",\"title_loc_args\":[\"arg\"],\"title_loc_key\":\"it\"},\"priority\":\"high\",\"restrictedPackageName\":\"geez\",\"title\":\"peace\",\"uri\":\"https:\\/\\/parse.org\"}") #endif } } From 564d7c6560917266f358d1cd564de87c5d34a55f Mon Sep 17 00:00:00 2001 From: Corey Date: Tue, 24 Dec 2024 20:55:44 -0800 Subject: [PATCH 14/24] Update ci.yml --- .github/workflows/ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d1eefe33a..6c7259bd0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,7 @@ jobs: env: DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} - name: Prepare codecov - uses: sersoft-gmbh/swift-coverage-action@v4 + uses: sersoft-gmbh/swift-coverage-action@v5 id: coverage-files with: format: lcov @@ -58,7 +58,7 @@ jobs: env: DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: files: ${{join(fromJSON(steps.coverage-files.outputs.files), ',')}} fail_ci_if_error: false @@ -84,7 +84,7 @@ jobs: env: DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} - name: Prepare codecov - uses: sersoft-gmbh/swift-coverage-action@v4 + uses: sersoft-gmbh/swift-coverage-action@v5 id: coverage-files with: format: lcov @@ -92,7 +92,7 @@ jobs: env: DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: files: ${{join(fromJSON(steps.coverage-files.outputs.files), ',')}} env_vars: SPM @@ -128,7 +128,7 @@ jobs: cat .codecov.yml | curl --data-binary @- https://codecov.io/validate llvm-cov export -format="lcov" .build/x86_64-unknown-linux-gnu/debug/ParseSwiftPackageTests.xctest -instr-profile .build/x86_64-unknown-linux-gnu/debug/codecov/default.profdata > info_linux.lcov - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: env_vars: LINUX fail_ci_if_error: true @@ -147,7 +147,7 @@ jobs: run: | swift build --enable-test-discovery -v - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: env_vars: WINDOWSLATEST fail_ci_if_error: false From 00132718dd704d401e9e041285cf1b0199897e51 Mon Sep 17 00:00:00 2001 From: Corey Date: Tue, 24 Dec 2024 20:59:34 -0800 Subject: [PATCH 15/24] Update ci.yml --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7bc37aaa8..d062d4759 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,7 @@ jobs: env: DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} - name: Prepare codecov - uses: sersoft-gmbh/swift-coverage-action@v5 + uses: sersoft-gmbh/swift-coverage-action@v4 id: coverage-files with: format: lcov @@ -84,7 +84,7 @@ jobs: env: DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} - name: Prepare codecov - uses: sersoft-gmbh/swift-coverage-action@v5 + uses: sersoft-gmbh/swift-coverage-action@v4 id: coverage-files with: format: lcov From 2f208b4746ed914a74289beba20a7fa83e5dc964 Mon Sep 17 00:00:00 2001 From: Corey Date: Tue, 24 Dec 2024 21:09:13 -0800 Subject: [PATCH 16/24] Update Package.swift --- Package.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 7306c9c86..73b5d316d 100644 --- a/Package.swift +++ b/Package.swift @@ -27,5 +27,6 @@ let package = Package( dependencies: ["ParseSwift"], exclude: ["Info.plist"] ) - ] + ], + swiftLanguageModes: [.v5] ) From e44b3ddb0612a7de8fda0065003b636ab134b2dc Mon Sep 17 00:00:00 2001 From: Corey Date: Tue, 24 Dec 2024 21:14:50 -0800 Subject: [PATCH 17/24] Update Package.swift --- Package.swift | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Package.swift b/Package.swift index 73b5d316d..7306c9c86 100644 --- a/Package.swift +++ b/Package.swift @@ -27,6 +27,5 @@ let package = Package( dependencies: ["ParseSwift"], exclude: ["Info.plist"] ) - ], - swiftLanguageModes: [.v5] + ] ) From 7118e65a9da7bacfaa7a6beb094fd788ef41f219 Mon Sep 17 00:00:00 2001 From: Corey Date: Tue, 24 Dec 2024 21:16:15 -0800 Subject: [PATCH 18/24] Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d062d4759..392329063 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -119,7 +119,7 @@ jobs: - uses: actions/checkout@v4 - uses: sersoft-gmbh/swifty-linux-action@v3 with: - release-version: "6" + release-version: "5" github-token: ${{ secrets.GITHUB_TOKEN }} - name: Build and Test run: swift test --enable-test-discovery --enable-code-coverage -v From 138baf5b2f66b50f856e786a694daad12702b4f8 Mon Sep 17 00:00:00 2001 From: Corey Date: Tue, 24 Dec 2024 21:28:24 -0800 Subject: [PATCH 19/24] Update ci.yml --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 392329063..d4a63a118 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,6 +55,7 @@ jobs: with: format: lcov search-paths: ./DerivedData + ignore-conversion-failures: true env: DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} - name: Upload coverage to Codecov @@ -89,6 +90,7 @@ jobs: with: format: lcov search-paths: ./.build + ignore-conversion-failures: true env: DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} - name: Upload coverage to Codecov From 83541966abb93e5f378337d16c389b026a0dee8c Mon Sep 17 00:00:00 2001 From: Corey Date: Tue, 24 Dec 2024 21:48:02 -0800 Subject: [PATCH 20/24] Use macOS 13 runner --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d4a63a118..660a3cbf1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -106,7 +106,7 @@ jobs: xcode-test-5_7: timeout-minutes: 25 needs: linux - runs-on: macos-12 + runs-on: macos-13 steps: - uses: actions/checkout@v4 - name: Build-Test From 643b11372178e87ea95fbcba3d64a59cbbb7d750 Mon Sep 17 00:00:00 2001 From: Corey Date: Tue, 24 Dec 2024 21:51:51 -0800 Subject: [PATCH 21/24] Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 660a3cbf1..96b7503ff 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: macos-15 strategy: matrix: - destination: ['platform=iOS\ Simulator,OS=18.2,name=iPhone\ 16\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=18.2,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(42mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=2.1,name=Apple\ Vision\ Pro'] + destination: ['platform=iOS\ Simulator,OS=18.2,name=iPhone\ 16\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=18.2,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 10\ \(42mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=2.2,name=Apple\ Vision\ Pro'] action: ['test', 'build'] exclude: - destination: 'platform=iOS\ Simulator,OS=18.2,name=iPhone\ 16\ Pro\ Max' From 61fd78b30421555a0bf2bb8ac254618e40d7af70 Mon Sep 17 00:00:00 2001 From: Corey Date: Tue, 24 Dec 2024 22:00:40 -0800 Subject: [PATCH 22/24] Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 96b7503ff..72d327215 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -110,7 +110,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Build-Test - run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace Parse.xcworkspace -scheme ParseSwift -destination platform\=iOS\ Simulator,name\=iPhone\ 13\ Pro\ Max -derivedDataPath DerivedData build 2>&1 | xcbeautify --renderer github-actions + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace Parse.xcworkspace -scheme ParseSwift -destination platform\=iOS\ Simulator,name\=iPhone\ 15\ Pro\ Max -derivedDataPath DerivedData build 2>&1 | xcbeautify --renderer github-actions env: DEVELOPER_DIR: ${{ env.CI_XCODE_OLDEST }} From 952918ce209e783e3a8331260b3451cf272f89fa Mon Sep 17 00:00:00 2001 From: Corey Date: Tue, 24 Dec 2024 22:12:51 -0800 Subject: [PATCH 23/24] Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 72d327215..390b1f690 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -110,7 +110,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Build-Test - run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace Parse.xcworkspace -scheme ParseSwift -destination platform\=iOS\ Simulator,name\=iPhone\ 15\ Pro\ Max -derivedDataPath DerivedData build 2>&1 | xcbeautify --renderer github-actions + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace Parse.xcworkspace -scheme ParseSwift -destination platform\=iOS\ Simulator,name\=iPhone\ 14\ Pro\ Max -derivedDataPath DerivedData build 2>&1 | xcbeautify --renderer github-actions env: DEVELOPER_DIR: ${{ env.CI_XCODE_OLDEST }} From 10a8d588eb83c5a58c0998283efe8cad1d5f01a2 Mon Sep 17 00:00:00 2001 From: Corey Baker Date: Tue, 24 Dec 2024 22:32:00 -0800 Subject: [PATCH 24/24] fix encoding Firebase push keys --- .../Firebase/ParsePushFirebaseNotification.swift | 4 ++-- Tests/ParseSwiftTests/ParsePushPayloadAnyTests.swift | 4 ++-- Tests/ParseSwiftTests/ParsePushPayloadFirebaseTests.swift | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Sources/ParseSwift/Types/ParsePushPayload/Firebase/ParsePushFirebaseNotification.swift b/Sources/ParseSwift/Types/ParsePushPayload/Firebase/ParsePushFirebaseNotification.swift index bae64cfd7..ec48117fb 100644 --- a/Sources/ParseSwift/Types/ParsePushPayload/Firebase/ParsePushFirebaseNotification.swift +++ b/Sources/ParseSwift/Types/ParsePushPayload/Firebase/ParsePushFirebaseNotification.swift @@ -128,8 +128,8 @@ public struct ParsePushFirebaseNotification: ParseTypeable { enum CodingKeys: String, CodingKey { case titleLocKey = "title_loc_key" case titleLocArgs = "title_loc_args" - case bodyLocKey = "body_loc-key" - case bodyLocArgs = "body-loc-args" + case bodyLocKey = "body_loc_key" + case bodyLocArgs = "body_loc_args" case clickAction = "click_action" case androidChannelId = "android_channel_id" case title, icon, body, sound, badge, tag, diff --git a/Tests/ParseSwiftTests/ParsePushPayloadAnyTests.swift b/Tests/ParseSwiftTests/ParsePushPayloadAnyTests.swift index 03184dffb..580e8f85c 100644 --- a/Tests/ParseSwiftTests/ParsePushPayloadAnyTests.swift +++ b/Tests/ParseSwiftTests/ParsePushPayloadAnyTests.swift @@ -115,7 +115,7 @@ class ParsePushPayloadAnyTests: XCTestCase { XCTAssertEqual(decodedAny2, applePayload) #if !os(Linux) && !os(Android) && !os(Windows) XCTAssertEqual(fcmPayload.description, - "{\"collapseKey\":\"nope\",\"data\":{\"help\":\"you\"},\"delayWhileIdle\":false,\"dryRun\":false,\"notification\":{\"android_channel_id\":\"you\",\"badge\":\"no\",\"body\":\"android\",\"body-loc-args\":[\"mother\"],\"body_loc-key\":\"cousin\",\"click_action\":\"to\",\"color\":\"blue\",\"icon\":\"world\",\"image\":\"icon\",\"sound\":\"yes\",\"subtitle\":\"trip\",\"tag\":\"it\",\"title\":\"hello\",\"title_loc_args\":[\"arg\"],\"title_loc_key\":\"it\"},\"restrictedPackageName\":\"geez\",\"title\":\"peace\",\"uri\":\"https:\\/\\/parse.org\"}") + "{\"collapseKey\":\"nope\",\"data\":{\"help\":\"you\"},\"delayWhileIdle\":false,\"dryRun\":false,\"notification\":{\"android_channel_id\":\"you\",\"badge\":\"no\",\"body\":\"android\",\"body_loc_args\":[\"mother\"],\"body_loc_key\":\"cousin\",\"click_action\":\"to\",\"color\":\"blue\",\"icon\":\"world\",\"image\":\"icon\",\"sound\":\"yes\",\"subtitle\":\"trip\",\"tag\":\"it\",\"title\":\"hello\",\"title_loc_args\":[\"arg\"],\"title_loc_key\":\"it\"},\"restrictedPackageName\":\"geez\",\"title\":\"peace\",\"uri\":\"https:\\/\\/parse.org\"}") #endif } @@ -230,7 +230,7 @@ class ParsePushPayloadAnyTests: XCTestCase { XCTAssertEqual(decoded2, fcmPayload) #if !os(Linux) && !os(Android) && !os(Windows) XCTAssertEqual(fcmPayload.description, - "{\"collapseKey\":\"nope\",\"contentAvailable\":true,\"data\":{\"help\":\"you\"},\"delayWhileIdle\":false,\"dryRun\":false,\"mutableContent\":true,\"notification\":{\"android_channel_id\":\"you\",\"badge\":\"no\",\"body\":\"android\",\"body-loc-args\":[\"mother\"],\"body_loc-key\":\"cousin\",\"click_action\":\"to\",\"color\":\"blue\",\"icon\":\"world\",\"image\":\"icon\",\"sound\":\"yes\",\"subtitle\":\"trip\",\"tag\":\"it\",\"title\":\"hello\",\"title_loc_args\":[\"arg\"],\"title_loc_key\":\"it\"},\"priority\":\"high\",\"restrictedPackageName\":\"geez\",\"title\":\"peace\",\"uri\":\"https:\\/\\/parse.org\"}") + "{\"collapseKey\":\"nope\",\"contentAvailable\":true,\"data\":{\"help\":\"you\"},\"delayWhileIdle\":false,\"dryRun\":false,\"mutableContent\":true,\"notification\":{\"android_channel_id\":\"you\",\"badge\":\"no\",\"body\":\"android\",\"body_loc_args\":[\"mother\"],\"body_loc_key\":\"cousin\",\"click_action\":\"to\",\"color\":\"blue\",\"icon\":\"world\",\"image\":\"icon\",\"sound\":\"yes\",\"subtitle\":\"trip\",\"tag\":\"it\",\"title\":\"hello\",\"title_loc_args\":[\"arg\"],\"title_loc_key\":\"it\"},\"priority\":\"high\",\"restrictedPackageName\":\"geez\",\"title\":\"peace\",\"uri\":\"https:\\/\\/parse.org\"}") #endif } } diff --git a/Tests/ParseSwiftTests/ParsePushPayloadFirebaseTests.swift b/Tests/ParseSwiftTests/ParsePushPayloadFirebaseTests.swift index ccf2ab3c4..dda0c3801 100644 --- a/Tests/ParseSwiftTests/ParsePushPayloadFirebaseTests.swift +++ b/Tests/ParseSwiftTests/ParsePushPayloadFirebaseTests.swift @@ -73,7 +73,7 @@ class ParsePushPayloadFirebaseTests: XCTestCase { XCTAssertEqual(fcmPayload, decoded) #if !os(Linux) && !os(Android) && !os(Windows) XCTAssertEqual(fcmPayload.description, - "{\"collapseKey\":\"nope\",\"contentAvailable\":true,\"data\":{\"help\":\"you\"},\"delayWhileIdle\":false,\"dryRun\":false,\"mutableContent\":true,\"notification\":{\"android_channel_id\":\"you\",\"badge\":\"no\",\"body\":\"android\",\"body-loc-args\":[\"mother\"],\"body_loc-key\":\"cousin\",\"click_action\":\"to\",\"color\":\"blue\",\"icon\":\"world\",\"image\":\"icon\",\"sound\":\"yes\",\"subtitle\":\"trip\",\"tag\":\"it\",\"title\":\"hello\",\"title_loc_args\":[\"arg\"],\"title_loc_key\":\"it\"},\"priority\":\"high\",\"restrictedPackageName\":\"geez\",\"title\":\"peace\",\"uri\":\"https:\\/\\/parse.org\"}") + "{\"collapseKey\":\"nope\",\"contentAvailable\":true,\"data\":{\"help\":\"you\"},\"delayWhileIdle\":false,\"dryRun\":false,\"mutableContent\":true,\"notification\":{\"android_channel_id\":\"you\",\"badge\":\"no\",\"body\":\"android\",\"body_loc_args\":[\"mother\"],\"body_loc_key\":\"cousin\",\"click_action\":\"to\",\"color\":\"blue\",\"icon\":\"world\",\"image\":\"icon\",\"sound\":\"yes\",\"subtitle\":\"trip\",\"tag\":\"it\",\"title\":\"hello\",\"title_loc_args\":[\"arg\"],\"title_loc_key\":\"it\"},\"priority\":\"high\",\"restrictedPackageName\":\"geez\",\"title\":\"peace\",\"uri\":\"https:\\/\\/parse.org\"}") #endif } }