From 01edce9a0477adca6f0d43e646cf8e330945ae5e Mon Sep 17 00:00:00 2001 From: Mark Xue Date: Tue, 19 May 2026 14:36:19 -0700 Subject: [PATCH 1/5] adopt swift-libp2p/swift-bases.git --- Package.resolved | 24 +++++++++++----------- Package.swift | 10 +++++---- Sources/AtprotoTypes/Atproto/CID.swift | 8 ++------ Sources/AtprotoTypes/Primitives/Blob.swift | 2 +- Sources/AtprotoTypes/Primitives/Link.swift | 2 +- 5 files changed, 22 insertions(+), 24 deletions(-) diff --git a/Package.resolved b/Package.resolved index feefb0b..6074c08 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,22 +1,13 @@ { - "originHash" : "1b9b93255aea27c5335c39dcace2ef035821c8d239561e330fbe2d6e158f1dfd", + "originHash" : "205c22ddaca17d80043af4b531e3ec57b0f2ccc5475b5d91765d551af45925cf", "pins" : [ - { - "identity" : "base32", - "kind" : "remoteSourceControl", - "location" : "https://github.com/Jarema/Base32.git", - "state" : { - "revision" : "7f723a2e55f1c76e7c79263aebf89dbfcd58e77d", - "version" : "0.10.2" - } - }, { "identity" : "germconvenience", "kind" : "remoteSourceControl", "location" : "https://github.com/germ-network/GermConvenience.git", "state" : { - "revision" : "e98a7fc5301e1b1562f18180eb05bcfcdbd7632d", - "version" : "0.1.5" + "branch" : "fix/http-scheme-precondition", + "revision" : "8e9ce216aadb82b336cfcde655d3bab37a453398" } }, { @@ -28,6 +19,15 @@ "version" : "1.6.0" } }, + { + "identity" : "swift-bases", + "kind" : "remoteSourceControl", + "location" : "https://github.com/swift-libp2p/swift-bases.git", + "state" : { + "revision" : "96615d4b582f9f6536d8278304ce2a64c8e5288a", + "version" : "0.2.0" + } + }, { "identity" : "swift-crypto", "kind" : "remoteSourceControl", diff --git a/Package.swift b/Package.swift index 0ca6fec..7400005 100644 --- a/Package.swift +++ b/Package.swift @@ -16,14 +16,16 @@ let package = Package( .library(name: "Mockable", targets: ["Mockable"]), ], dependencies: [ - .package(url: "https://github.com/Jarema/Base32.git", from: "0.10.2"), + .package(url: "https://github.com/swift-libp2p/swift-bases.git", from: "0.2.0"), .package( url: "https://github.com/germ-network/GermConvenience.git", - from: "0.1.5" + // from: "0.1.5" + branch: "fix/http-scheme-precondition" ), .package( url: "https://github.com/apple/swift-crypto.git", - .upToNextMajor(from: "4.2.0")), + .upToNextMajor(from: "4.2.0") + ), .package(url: "https://github.com/apple/swift-http-types.git", from: "1.5.1"), .package(url: "https://github.com/apple/swift-log", from: "1.6.0"), ], @@ -33,8 +35,8 @@ let package = Package( .target( name: "AtprotoTypes", dependencies: [ - "Base32", "GermConvenience", + .product(name: "Base32", package: "swift-bases"), .product(name: "Crypto", package: "swift-crypto"), .product(name: "HTTPTypes", package: "swift-http-types"), .product(name: "Logging", package: "swift-log"), diff --git a/Sources/AtprotoTypes/Atproto/CID.swift b/Sources/AtprotoTypes/Atproto/CID.swift index d571b82..4da73dc 100644 --- a/Sources/AtprotoTypes/Atproto/CID.swift +++ b/Sources/AtprotoTypes/Atproto/CID.swift @@ -31,17 +31,13 @@ extension Atproto { throw Atproto.Errors.invalidBase32Data } - guard let decoded = body.base32DecodedData else { - throw Atproto.Errors.invalidBase32Data - } - - bytes = decoded + bytes = try Base32.decode(body) } public var string: String { // CID is DASL-compatible (https://atproto.com/specs/data-model) // and DASL CID uses lowercase base-32 (https://dasl.ing/cid.html) - "b" + bytes.base32EncodedStringNoPadding.lowercased() + "b" + Base32.encode(bytes, options: .letterCase(.lower), .pad(false)) } } } diff --git a/Sources/AtprotoTypes/Primitives/Blob.swift b/Sources/AtprotoTypes/Primitives/Blob.swift index dc14a59..3d92ce8 100644 --- a/Sources/AtprotoTypes/Primitives/Blob.swift +++ b/Sources/AtprotoTypes/Primitives/Blob.swift @@ -29,7 +29,7 @@ extension Atproto.Primitive { /// The size of the blob. public let size: Int - + public init( ref: Atproto.Primitive.Link, mimeType: String, diff --git a/Sources/AtprotoTypes/Primitives/Link.swift b/Sources/AtprotoTypes/Primitives/Link.swift index c383fa2..fc60f7e 100644 --- a/Sources/AtprotoTypes/Primitives/Link.swift +++ b/Sources/AtprotoTypes/Primitives/Link.swift @@ -12,7 +12,7 @@ import Foundation extension Atproto.Primitive { public struct Link: Sendable, Codable, Equatable { public let link: Atproto.CID - + public init(link: Atproto.CID) { self.link = link } From 1ad9f16af99aff106daf1a8d7669424ac8d0150a Mon Sep 17 00:00:00 2001 From: Mark Xue Date: Tue, 19 May 2026 14:39:47 -0700 Subject: [PATCH 2/5] constrain httptypes import --- Sources/AtprotoTypes/XRPC/ResponseParsing.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Sources/AtprotoTypes/XRPC/ResponseParsing.swift b/Sources/AtprotoTypes/XRPC/ResponseParsing.swift index d248530..a14e837 100644 --- a/Sources/AtprotoTypes/XRPC/ResponseParsing.swift +++ b/Sources/AtprotoTypes/XRPC/ResponseParsing.swift @@ -7,7 +7,8 @@ import Foundation import GermConvenience -import HTTPTypes + +import struct HTTPTypes.HTTPResponse extension Atproto.XRPC { public protocol ResponseParsing: Sendable { From 28d0cf00c2c7459a354913308beb1f554f98a400 Mon Sep 17 00:00:00 2001 From: Mark Xue Date: Tue, 19 May 2026 14:41:02 -0700 Subject: [PATCH 3/5] add changeset --- .changeset/rare-rings-listen.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/rare-rings-listen.md diff --git a/.changeset/rare-rings-listen.md b/.changeset/rare-rings-listen.md new file mode 100644 index 0000000..da6fa3c --- /dev/null +++ b/.changeset/rare-rings-listen.md @@ -0,0 +1,5 @@ +--- +"@germ-network/atprototypes": patch +--- + +adopt swift-libp2p/swift-bases.git From 839ecab50af74abcc371326a9ac2b3425c654d98 Mon Sep 17 00:00:00 2001 From: Mark Xue Date: Wed, 20 May 2026 01:27:14 -0700 Subject: [PATCH 4/5] released 0.2.0 GermConvenience --- Package.resolved | 6 +++--- Package.swift | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Package.resolved b/Package.resolved index 6074c08..c123512 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,13 +1,13 @@ { - "originHash" : "205c22ddaca17d80043af4b531e3ec57b0f2ccc5475b5d91765d551af45925cf", + "originHash" : "91bee6f6f177a956508ae4a66cadf8fcefb19b99e3b26d2fae258e679b232274", "pins" : [ { "identity" : "germconvenience", "kind" : "remoteSourceControl", "location" : "https://github.com/germ-network/GermConvenience.git", "state" : { - "branch" : "fix/http-scheme-precondition", - "revision" : "8e9ce216aadb82b336cfcde655d3bab37a453398" + "revision" : "d54f0df1be1f35bf9575832fb685269d09a10410", + "version" : "0.2.0" } }, { diff --git a/Package.swift b/Package.swift index 7400005..a0fbe6f 100644 --- a/Package.swift +++ b/Package.swift @@ -19,8 +19,7 @@ let package = Package( .package(url: "https://github.com/swift-libp2p/swift-bases.git", from: "0.2.0"), .package( url: "https://github.com/germ-network/GermConvenience.git", - // from: "0.1.5" - branch: "fix/http-scheme-precondition" + from: "0.2.0" ), .package( url: "https://github.com/apple/swift-crypto.git", From a80242dbd849a835af6b0b8c11db3a97f596e8fc Mon Sep 17 00:00:00 2001 From: Mark Xue Date: Wed, 20 May 2026 01:43:57 -0700 Subject: [PATCH 5/5] update to 0.2.1 of germconvenience --- Package.resolved | 6 +++--- Package.swift | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Package.resolved b/Package.resolved index c123512..1ef1d9d 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,13 +1,13 @@ { - "originHash" : "91bee6f6f177a956508ae4a66cadf8fcefb19b99e3b26d2fae258e679b232274", + "originHash" : "8aec742b02f3ededabc54b75e17c53f89b7d0de27eec5cf337c068937f5bc42a", "pins" : [ { "identity" : "germconvenience", "kind" : "remoteSourceControl", "location" : "https://github.com/germ-network/GermConvenience.git", "state" : { - "revision" : "d54f0df1be1f35bf9575832fb685269d09a10410", - "version" : "0.2.0" + "revision" : "af36c703ecbf25db5528a9c7c81fa33f04645ad7", + "version" : "0.2.1" } }, { diff --git a/Package.swift b/Package.swift index a0fbe6f..4988eec 100644 --- a/Package.swift +++ b/Package.swift @@ -19,7 +19,7 @@ let package = Package( .package(url: "https://github.com/swift-libp2p/swift-bases.git", from: "0.2.0"), .package( url: "https://github.com/germ-network/GermConvenience.git", - from: "0.2.0" + from: "0.2.1" ), .package( url: "https://github.com/apple/swift-crypto.git",