From 86862825f67affd865aa90d994aa998a9537cfb5 Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Sun, 5 Nov 2023 18:32:05 -0500 Subject: [PATCH] Assert that the compose draft belongs to the view context --- .../Sources/ComposeUI/Controllers/ComposeController.swift | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Packages/ComposeUI/Sources/ComposeUI/Controllers/ComposeController.swift b/Packages/ComposeUI/Sources/ComposeUI/Controllers/ComposeController.swift index 93682956..b31aaec5 100644 --- a/Packages/ComposeUI/Sources/ComposeUI/Controllers/ComposeController.swift +++ b/Packages/ComposeUI/Sources/ComposeUI/Controllers/ComposeController.swift @@ -20,7 +20,11 @@ public final class ComposeController: ViewController { public typealias ReplyContentView = (any StatusProtocol, @escaping (CGFloat) -> Void) -> AnyView public typealias EmojiImageView = (Emoji) -> AnyView - @Published public private(set) var draft: Draft + @Published public private(set) var draft: Draft { + didSet { + assert(draft.managedObjectContext == DraftsPersistentContainer.shared.viewContext) + } + } @Published public var config: ComposeUIConfig @Published public var mastodonController: ComposeMastodonContext let fetchAvatar: AvatarImageView.FetchAvatar @@ -106,6 +110,7 @@ public final class ComposeController: ViewController { emojiImageView: @escaping EmojiImageView ) { self.draft = draft + assert(draft.managedObjectContext == DraftsPersistentContainer.shared.viewContext) self.config = config self.mastodonController = mastodonController self.fetchAvatar = fetchAvatar