From b2c488d3d600122500c66b6ef84c97ab13e944bc Mon Sep 17 00:00:00 2001 From: Anna M Date: Mon, 23 Feb 2026 18:56:54 -0800 Subject: [PATCH 1/6] Use experimental OAuthenticator branch --- Package.resolved | 6 +++--- Package.swift | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Package.resolved b/Package.resolved index d1a1177..67fa1fd 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "6a3a0a466b47fdee2328ec85b0494c50e366e42ec42714e94e1fd6c28e926ca8", + "originHash" : "bdb0186f1f91c5c171758ac3461fb219ff39c381d189d7a9042e8d84dd108ffb", "pins" : [ { "identity" : "atresolve", @@ -33,8 +33,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/germ-network/OAuthenticator", "state" : { - "revision" : "f657aa04cb6241c0811052264f345046f6938274", - "version" : "0.7.2-germ.1" + "branch" : "fix/dpop-signer-nonce-tracking", + "revision" : "28a776118c1b5e660c993a570af55458fc95c555" } }, { diff --git a/Package.swift b/Package.swift index 5e990f7..7495dcb 100644 --- a/Package.swift +++ b/Package.swift @@ -19,7 +19,7 @@ let package = Package( ), .package( url: "https://github.com/germ-network/OAuthenticator", - exact: "0.7.2-germ.1" + branch: "fix/dpop-signer-nonce-tracking" ), .package( url: "https://github.com/germ-network/ATResolve", From 4d3c430213592f858db7a4c179739c887f47967d Mon Sep 17 00:00:00 2001 From: Anna M Date: Mon, 23 Feb 2026 19:02:01 -0800 Subject: [PATCH 2/6] Get rid of iss param --- Package.resolved | 10 +++++----- Sources/ATProtoAnchor/Mocks.swift | 3 --- Sources/ATProtoAnchor/ViewModels/P256DPoPSigner.swift | 4 ---- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/Package.resolved b/Package.resolved index 67fa1fd..d02a456 100644 --- a/Package.resolved +++ b/Package.resolved @@ -34,7 +34,7 @@ "location" : "https://github.com/germ-network/OAuthenticator", "state" : { "branch" : "fix/dpop-signer-nonce-tracking", - "revision" : "28a776118c1b5e660c993a570af55458fc95c555" + "revision" : "427e0b534c0e77a6c7839958dc1116298d624a67" } }, { @@ -60,8 +60,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-certificates.git", "state" : { - "revision" : "7d5f6124c91a2d06fb63a811695a3400d15a100e", - "version" : "1.17.1" + "revision" : "24ccdeeeed4dfaae7955fcac9dbf5489ed4f1a25", + "version" : "1.18.0" } }, { @@ -78,8 +78,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-log.git", "state" : { - "revision" : "2778fd4e5a12a8aaa30a3ee8285f4ce54c5f3181", - "version" : "1.9.1" + "revision" : "bbd81b6725ae874c69e9b8c8804d462356b55523", + "version" : "1.10.1" } } ], diff --git a/Sources/ATProtoAnchor/Mocks.swift b/Sources/ATProtoAnchor/Mocks.swift index 7f3849b..aba9572 100644 --- a/Sources/ATProtoAnchor/Mocks.swift +++ b/Sources/ATProtoAnchor/Mocks.swift @@ -27,7 +27,6 @@ public struct MockDPoPKeyStore: Sendable { let payload: any Encodable = { if let nonce = parameters.nonce, - let authorizationServerIssuer = parameters.issuingServer, let accessTokenHash = parameters.tokenHash { DPoPRequestPayload( @@ -37,8 +36,6 @@ public struct MockDPoPKeyStore: Sendable { expiresAt: Int( Date.now.timeIntervalSince1970 + 3600), nonce: nonce, - authorizationServerIssuer: - authorizationServerIssuer, accessTokenHash: accessTokenHash ) } else { diff --git a/Sources/ATProtoAnchor/ViewModels/P256DPoPSigner.swift b/Sources/ATProtoAnchor/ViewModels/P256DPoPSigner.swift index 778129c..3ee8a8d 100644 --- a/Sources/ATProtoAnchor/ViewModels/P256DPoPSigner.swift +++ b/Sources/ATProtoAnchor/ViewModels/P256DPoPSigner.swift @@ -17,8 +17,6 @@ extension P256.Signing.PrivateKey { let payload: any Encodable = { if let nonce = parameters.nonce, - let authorizationServerIssuer = parameters - .issuingServer, let accessTokenHash = parameters.tokenHash { DPoPRequestPayload( @@ -30,8 +28,6 @@ extension P256.Signing.PrivateKey { Date.now.timeIntervalSince1970 + 3600), nonce: nonce, - authorizationServerIssuer: - authorizationServerIssuer, accessTokenHash: accessTokenHash ) } else { From 57ea17dc04d30986e8fef82deef5ee792e587d27 Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Mon, 2 Mar 2026 21:58:29 +0100 Subject: [PATCH 3/6] Prevent autocorrection and autocapitalization in demo app --- .../ATProtoLite-Demo/Views/AuthenticatedView.swift | 7 ++++++- .../ATProtoLite-Demo/Views/UnauthenticatedView.swift | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ATProtoLite-Demo/ATProtoLite-Demo/Views/AuthenticatedView.swift b/ATProtoLite-Demo/ATProtoLite-Demo/Views/AuthenticatedView.swift index f4dde27..b7b3752 100644 --- a/ATProtoLite-Demo/ATProtoLite-Demo/Views/AuthenticatedView.swift +++ b/ATProtoLite-Demo/ATProtoLite-Demo/Views/AuthenticatedView.swift @@ -37,6 +37,8 @@ struct CachedAuthenticatedView: View { case .entry(let error): HStack { TextField("@", text: $storedHandle) + .textInputAutocapitalization(.never) + .autocorrectionDisabled() Button("Check Handle", action: check) } if let error { @@ -68,7 +70,10 @@ struct CachedAuthenticatedView: View { Text("@") TextField( "handle.bsky.social", - text: $otherHandle) + text: $otherHandle + ) + .textInputAutocapitalization(.never) + .autocorrectionDisabled() Spacer() } Button("Make authed fetch") { diff --git a/ATProtoLite-Demo/ATProtoLite-Demo/Views/UnauthenticatedView.swift b/ATProtoLite-Demo/ATProtoLite-Demo/Views/UnauthenticatedView.swift index 0431c7d..59e003c 100644 --- a/ATProtoLite-Demo/ATProtoLite-Demo/Views/UnauthenticatedView.swift +++ b/ATProtoLite-Demo/ATProtoLite-Demo/Views/UnauthenticatedView.swift @@ -34,6 +34,7 @@ struct UnauthenticatedView: View { Text("@") TextField("Handle", text: $username) .textInputAutocapitalization(.never) + .autocorrectionDisabled() } .padding() .background(RoundedRectangle(cornerRadius: 10).stroke(.gray)) From fd7eadf6233b16f7779409223706edac79f1e796 Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Mon, 2 Mar 2026 21:58:51 +0100 Subject: [PATCH 4/6] Fix demo app --- .../ATProtoLite-Demo/Views/AuthenticatedView.swift | 4 ++-- ATProtoLite-Demo/ATProtoLite-Demo/Views/LoginView.swift | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/ATProtoLite-Demo/ATProtoLite-Demo/Views/AuthenticatedView.swift b/ATProtoLite-Demo/ATProtoLite-Demo/Views/AuthenticatedView.swift index b7b3752..817d7b3 100644 --- a/ATProtoLite-Demo/ATProtoLite-Demo/Views/AuthenticatedView.swift +++ b/ATProtoLite-Demo/ATProtoLite-Demo/Views/AuthenticatedView.swift @@ -118,7 +118,7 @@ struct CachedAuthenticatedView: View { let metadata = try await ATProtoAuthAPI.getAuthedMetadata( for: theirDID.fullId, pdsURL: pdsURL, - authenticator: authenticator.authenticator + authenticator: authenticator ) blocking = metadata.blockingURI != nil blocked = metadata.isBlocked @@ -149,7 +149,7 @@ struct CachedAuthenticatedView: View { ), for: myDID.fullId, pdsURL: pdsURL, - authenticator: authenticator.authenticator + authenticator: authenticator ) } } diff --git a/ATProtoLite-Demo/ATProtoLite-Demo/Views/LoginView.swift b/ATProtoLite-Demo/ATProtoLite-Demo/Views/LoginView.swift index 38c96c1..9882930 100644 --- a/ATProtoLite-Demo/ATProtoLite-Demo/Views/LoginView.swift +++ b/ATProtoLite-Demo/ATProtoLite-Demo/Views/LoginView.swift @@ -76,7 +76,6 @@ struct LoginView: View { let pdsURL = try URL(string: pds!)! try await viewModel.getAuthenticator(pdsURL: pdsURL) - .authenticator .authenticate() } self.authenticatingTask = authenticatingTask From 5ee7dbab531943a41d457eed24839855ec2d2625 Mon Sep 17 00:00:00 2001 From: Emelia Smith Date: Tue, 3 Mar 2026 00:41:03 +0100 Subject: [PATCH 5/6] Update OAuthenticator to latest DPoP commit --- .../xcshareddata/swiftpm/Package.resolved | 14 +++++++------- Package.resolved | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ATProtoLite-Demo/ATProtoLite-Demo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ATProtoLite-Demo/ATProtoLite-Demo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 5c9bfa5..9c5c678 100644 --- a/ATProtoLite-Demo/ATProtoLite-Demo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/ATProtoLite-Demo/ATProtoLite-Demo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,13 +1,13 @@ { - "originHash" : "a181d4ea539bab301ef81799ae7006319ef1881564c08386cfc9670493ad267c", + "originHash" : "85c36e9a19cb81bf372a4c0a05c39e30c33e2c16b6641fd710bae981a2ef0651", "pins" : [ { "identity" : "atresolve", "kind" : "remoteSourceControl", "location" : "https://github.com/germ-network/ATResolve", "state" : { - "revision" : "6b69a7bd310fd8a4b1a2281d6d8665ebe889b6bc", - "version" : "1.1.3" + "revision" : "26459d9d6e7deb27066b9d7d2931279acc107138", + "version" : "1.0.0-germ.2" } }, { @@ -15,8 +15,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/germ-network/autonomous-comm-protocol.git", "state" : { - "revision" : "f939a2ff62b065dfd792dc9f11b75f2ddfa4adf1", - "version" : "1.1.9" + "revision" : "295a73d20310c82ca84e46c4dde8af1d49b5a3d8", + "version" : "1.1.10" } }, { @@ -24,8 +24,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/germ-network/OAuthenticator", "state" : { - "revision" : "2e3936413622bf16a83928b91aaf8ae4ace769f9", - "version" : "0.7.1-germ.1" + "branch" : "fix/dpop-signer-nonce-tracking", + "revision" : "1dbb38393cd81532249824619fe37f1d3601bf4f" } }, { diff --git a/Package.resolved b/Package.resolved index d02a456..4769554 100644 --- a/Package.resolved +++ b/Package.resolved @@ -34,7 +34,7 @@ "location" : "https://github.com/germ-network/OAuthenticator", "state" : { "branch" : "fix/dpop-signer-nonce-tracking", - "revision" : "427e0b534c0e77a6c7839958dc1116298d624a67" + "revision" : "1dbb38393cd81532249824619fe37f1d3601bf4f" } }, { From 367c96a555b823087e16cad4a4aced0153a1e6e3 Mon Sep 17 00:00:00 2001 From: Anna M Date: Thu, 5 Mar 2026 14:00:18 -0800 Subject: [PATCH 6/6] Rev OAuthenticator version --- Package.resolved | 6 +++--- Package.swift | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Package.resolved b/Package.resolved index 4769554..05b3b4b 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "bdb0186f1f91c5c171758ac3461fb219ff39c381d189d7a9042e8d84dd108ffb", + "originHash" : "aae5b210562db3ec1bba71a15e1e9493ee5cc9fd0fa615b2c956a71861f54100", "pins" : [ { "identity" : "atresolve", @@ -33,8 +33,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/germ-network/OAuthenticator", "state" : { - "branch" : "fix/dpop-signer-nonce-tracking", - "revision" : "1dbb38393cd81532249824619fe37f1d3601bf4f" + "revision" : "4a5cc698c95d94469e586a14b9a84ec80ae4fd73", + "version" : "0.7.2-germ.2" } }, { diff --git a/Package.swift b/Package.swift index 7495dcb..cfc106a 100644 --- a/Package.swift +++ b/Package.swift @@ -19,7 +19,7 @@ let package = Package( ), .package( url: "https://github.com/germ-network/OAuthenticator", - branch: "fix/dpop-signer-nonce-tracking" + exact: "0.7.2-germ.2" ), .package( url: "https://github.com/germ-network/ATResolve",