diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 900630bb2f69..b787df76a1e7 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -1,6 +1,7 @@ 26.5 ----- * [*] Add "Access" section to "Post Settings" [#24942] +* [*] Fix rare crash on launch when new editor is enabled [#24944] 26.4 ----- diff --git a/Sources/WordPressData/Swift/NSManagedObject.swift b/Sources/WordPressData/Swift/NSManagedObject.swift index bb9c36ec82e4..b01493d564a1 100644 --- a/Sources/WordPressData/Swift/NSManagedObject.swift +++ b/Sources/WordPressData/Swift/NSManagedObject.swift @@ -15,7 +15,7 @@ public extension NSManagedObject { return result.flatMap({ ValueType(rawValue: $0) }) } - var locallyUniqueId: String { + var locallyUniqueID: String { let data = Data(self.objectID.uriRepresentation().absoluteString.utf8) return SHA256.hash(data: data).compactMap { String(format: "%02x", $0) }.joined() } diff --git a/WordPress/Classes/Services/RawBlockEditorSettingsService.swift b/WordPress/Classes/Services/RawBlockEditorSettingsService.swift index e4234b195fbd..5e2fa5b597cd 100644 --- a/WordPress/Classes/Services/RawBlockEditorSettingsService.swift +++ b/WordPress/Classes/Services/RawBlockEditorSettingsService.swift @@ -7,16 +7,19 @@ final class RawBlockEditorSettingsService { private let blogID: String private var refreshTask: Task? - private let dotOrgRestAPI: WordPressOrgRestApi + private let dotOrgRestAPI: WordPressOrgRestApi? private var prefetchTask: Task? @MainActor init(blog: Blog) { - self.dotOrgRestAPI = WordPressOrgRestApi(blog: blog)! - self.blogID = blog.locallyUniqueId + self.dotOrgRestAPI = WordPressOrgRestApi(blog: blog) + self.blogID = blog.locallyUniqueID } private func fetchSettingsFromAPI() async throws -> Data { + guard let dotOrgRestAPI else { + throw URLError(.unknown) + } let response: WordPressAPIResult = await dotOrgRestAPI.get( path: "/wp-block-editor/v1/settings" )