Repository navigation
Clean up warnings and empty the API breakage allowlist - #482
Merged
Merged
Conversation
0.6.0 is tagged, so it is now the comparison baseline for the breaks the allowlist listed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…edEvent.description Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The assistant run polling in ChatStore and LinkPreview's metadata fetch created throwing Tasks whose errors were silently dropped. ChatStore now records the error in conversationErrors, so ChatView shows it, and stops polling when a poll request fails; LinkPreview prints the error. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Nothing ever set dateProviderValue or idProviderValue, so ChatView and ModerationChatView always got the defaults; they now call Date() and UUID().uuidString directly. The stores still take an injected idProvider. Also removes the unused @Environment reads and DemoApp.dateProvider. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Assistant errors are never cleared on a new turn or successful message fetch, so a successful reply can still display a stale error in DetailView.
1 open issue
What changed in this PR
This PR cleans up package and Demo warnings, improves error handling in the Demo, and removes API-breakage exceptions now covered by the 0.6.0 baseline.
Changes:
- Formats optional annotations without the
Optional(...)wrapper. - Handles assistant polling and link-preview errors, updates SwiftUI usage, and removes unused environment providers.
- Empties the API-breakage allowlist and documents the changes.
| File | Description |
|---|---|
Sources/OpenAI/Private/Extensions for generated code/Schemas+Description.swift |
Corrects optional annotation formatting. |
Demo/DemoChat/Sources/UI/ModerationChatView.swift |
Uses direct date and UUID creation. |
Demo/DemoChat/Sources/UI/Images/LinkPreview.swift |
Logs metadata-fetch failures. |
Demo/DemoChat/Sources/UI/Environment/IDProvider.swift |
Removes the unused ID environment provider. |
Demo/DemoChat/Sources/UI/Environment/DateProvider.swift |
Removes the unused date environment provider. |
Demo/DemoChat/Sources/UI/DetailView.swift |
Updates onChange and Boolean text formatting. |
Demo/DemoChat/Sources/UI/ChatView.swift |
Uses direct date and UUID creation. |
Demo/DemoChat/Sources/UI/AssistantsView.swift |
Removes unused environment properties. |
Demo/DemoChat/Sources/ChatStore.swift |
Stops polling on request failure and records errors. |
Demo/App/DemoApp.swift |
Removes the unused date-provider property. |
Demo/App/ContentView.swift |
Removes the unused ID environment property. |
Demo/App/APIProvidedView.swift |
Removes unused environment properties. |
CHANGELOG.md |
Adds unreleased cleanup and error-handling entries. |
.github/api-breakage-allowlist.txt |
Removes exceptions covered by the release baseline. |
Review effort: Balanced
Krivoblotsky
approved these changes
Nov 2, 2026
The polling and message-fetch errors added for assistant conversations were never cleared, since the only reset is in completeChat, which runs for normal chats. A later successful reply kept showing the old error. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
.github/api-breakage-allowlist.txt:0.6.0is tagged, so it is now the comparison baseline for the breaks the allowlist listed.ResponseOutputTextAnnotationAddedEvent.descriptioninterpolated an optionalannotationdirectly, so a present annotation printed asOptional(...). It now prints the annotation itself, ornil.Demowarnings that were worth fixing now:Tasks inChatStore(assistant run polling) andLinkPreviewno longer drop their errors.ChatStorestops polling on the first failed request and records the error inconversationErrors, whichChatViewshows; before, the error was ignored and the request repeated every second.LinkPreviewprints the error.DetailView: the deprecatedonChange(of:perform:)and an unsupportedBoolin aTextinterpolation.dateProviderValueandidProviderValueenvironment values. Nothing ever set them, soChatViewandModerationChatViewalways got the defaults; they now callDate()andUUID().uuidString. The stores still take an injectedidProvider.[Unreleased]changelog entries.Not changed
Components.swift: the generator marks properties deprecated but still assigns them in the generatedinit. SwiftPM suppresses warnings from remote dependencies, so users don't see them; I checked this with a throwaway package that depends on this one by git URL.@Entry var showAPIConfigurationclosure warning, tracked in Demo: fix the @Entry closure warning for showAPIConfiguration #481.AssistantStoredeprecation warnings, which go away with the Assistants removal in Deprecate the Assistants API (shut down by OpenAI) and remove it from the Demo #452.Testing
swift build --build-testsandswift test(246 XCTest and 35 Swift Testing cases).DemoChattests.swift package diagnose-api-breaking-changes, since there are no public API changes; the Demo app itself.Refs #481
🤖 Generated with Claude Code