fix: core reliability, cancellation, and durable session lifecycle - #1
Draft
649472774 wants to merge 6 commits into
Draft
fix: core reliability, cancellation, and durable session lifecycle#1649472774 wants to merge 6 commits into
649472774 wants to merge 6 commits into
Conversation
Keep non-streaming body reads off the caller thread, close responses across callback cancellation races, and cancel the underlying socket through response consumption. Add readiness-gated proxy clients without invalidating live dispatchers and controlled HTTP lifetime regressions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add generation-safe auth and verified no-backup credential migration; typed cached model discovery without retired fallbacks; SSE error/completion framing; atomic session snapshots, backups, tombstones, summary cache and bounded inactive state. Add content-addressed attachment references, bounded coherent prompt history with retained vision, durable send receipts and awaited UI action APIs. Preserve v0.1.33 JSON and existing public adapters for coordinated UI integration. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve queued stream deltas before errors, join concurrent logout operations, scope catalog and submissions to account generations, reject changed idempotency payloads, and keep orphaned replies out of unrelated prompt turns. Harden proxy and attachment boundaries and no-follow atomic writes. Add complete regression discovery coverage, portable real-DataStore JVM fixtures, and isolated default-Android-backend plus Keystore instrumentation cases; production key alias and DI defaults are unchanged. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use the published OkioStorage and PreferencesSerializer APIs for token/proxy JVM migration fixtures. createWithPath also selects FileStorage under DataStore 1.1.7 and retains the Windows temp-file replacement bug. Keep all persistence assertions and native default-backend instrumentation unchanged. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add opt-in Android acceptance for the three exact legacy fixture IDs and source hashes. Drive production AppPaths, SessionStore and ChatStreamCenter through migration and two fresh reopens; verify all messages, known metadata, interruption repair, original recovery backups and the historical PNG bytes. Add an explicitly read-only migrated-state mode for milestone rechecks. Never seed, delete, access credentials, or make network requests. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Force the runBlocking test entrypoint to JVM void so JUnit4 accepts it. Keep both modes, every preflight guard and all migration assertions unchanged. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.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.
Scope
Core-only Phase 1 reliability implementation, ready for coordinated integration. No version bump, shared-device installation, agent implementation, or release publication.
Changes
Checkpoints
93aa260: HTTP/provider prerequisites.da66b99: production core APIs and lifecycle implementation.7371ff0: final race/boundary fixes and JVM/native migration coverage.Evidence
Integration notes
Existing constructors remain compatible. DI must wire proxy readiness/configurationError and the optional modelCacheFile; catalog alias/VM contracts were coordinated with owners. Legacy inline text/code is preserved verbatim when the old format has no attachment identity. No automatic blob garbage collection removes files that retained UI drafts may reference. No real credentials or conversations are in fixtures.
Full integrated UI/device acceptance, updated-dependency validation, signing/install compatibility, and milestone publishing remain with the integration/release owners. This PR remains a draft until that acceptance is complete.