From 25174e23e7829e204673bc4bd6ba12400e3704e7 Mon Sep 17 00:00:00 2001 From: Thomas Rademaker Date: Mon, 23 Mar 2026 16:37:21 -0400 Subject: [PATCH] fix decoding --- Sources/bskyKit/Models/Chat.swift | 6 ++++-- Sources/bskyKit/Models/PostThread.swift | 4 ++++ Sources/bskyKit/Models/Timeline.swift | 4 +++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Sources/bskyKit/Models/Chat.swift b/Sources/bskyKit/Models/Chat.swift index 87e7ff6..0e7cfca 100644 --- a/Sources/bskyKit/Models/Chat.swift +++ b/Sources/bskyKit/Models/Chat.swift @@ -41,14 +41,16 @@ public enum ChatMessageUnion: Codable, Sendable { } public func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) switch self { case .message(let msg): + try container.encode("chat.bsky.convo.defs#messageView", forKey: .type) try msg.encode(to: encoder) case .deleted(let msg): + try container.encode("chat.bsky.convo.defs#deletedMessageView", forKey: .type) try msg.encode(to: encoder) case .unknown: - var container = encoder.singleValueContainer() - try container.encode([String: String]()) + try container.encode("unknown", forKey: .type) } } } diff --git a/Sources/bskyKit/Models/PostThread.swift b/Sources/bskyKit/Models/PostThread.swift index 01bd12b..5054c77 100644 --- a/Sources/bskyKit/Models/PostThread.swift +++ b/Sources/bskyKit/Models/PostThread.swift @@ -35,12 +35,16 @@ public enum ThreadNode: Codable, Sendable { } public func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) switch self { case .post(let post): + try container.encode("app.bsky.feed.defs#threadViewPost", forKey: .type) try post.encode(to: encoder) case .notFound(let post): + try container.encode("app.bsky.feed.defs#notFoundPost", forKey: .type) try post.encode(to: encoder) case .blocked(let post): + try container.encode("app.bsky.feed.defs#blockedPost", forKey: .type) try post.encode(to: encoder) } } diff --git a/Sources/bskyKit/Models/Timeline.swift b/Sources/bskyKit/Models/Timeline.swift index 10be5b5..d11e397 100644 --- a/Sources/bskyKit/Models/Timeline.swift +++ b/Sources/bskyKit/Models/Timeline.swift @@ -45,13 +45,15 @@ public enum TimelineReason: Codable, Sendable, Equatable { } public func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) switch self { case .repost(let reason): + try container.encode("app.bsky.feed.defs#reasonRepost", forKey: .type) try reason.encode(to: encoder) case .pin(let reason): + try container.encode("app.bsky.feed.defs#reasonPin", forKey: .type) try reason.encode(to: encoder) case .unknown(let type): - var container = encoder.container(keyedBy: CodingKeys.self) try container.encode(type, forKey: .type) } } -- 2.51.2