Draft
Conversation
Collaborator
Pull Request Test Coverage Report for Build 23742597522Details
💛 - Coveralls |
Add stable kind and detail accessors for sender and receiver v2 transport errors, including HPKE, OHTTP encapsulation, and directory response failures. The core library already distinguishes these failures internally, but the FFI only exposed opaque wrapper objects. That forced bindings to branch on display strings and hid useful detail such as nested decapsulation causes, unexpected status codes, and payload size limits. This preserves the private internal enums while giving cross-language callers typed transport diagnostics.
Point the Dart generator dependency at the merged upstream fix\nfor object types ending in Error.\n\nThis replaces the temporary downstream workaround path with the\nupstream uniffi-dart revision that contains the naming fix, so the\nv2 transport bindings keep their original Error names.
Refresh the minimal and recent lockfiles after upgrading\nuniffi-dart to the upstream revision with the Dart naming fix.\n\nThis keeps the branch's resolved dependency graph aligned with the\nCargo.toml change used by CI and local testing.
1be621f to
4028da0
Compare
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.
Closes #1273.
This PR exports the v2 transport and crypto failure structure that already existed in core but was still opaque to bindings. Sender and receiver logic already distinguished malformed URLs, expired sessions, HPKE failures, OHTTP encapsulation or decapsulation failures, and bad directory responses, but the FFI boundary collapsed those into generic wrapper objects.
The change adds stable detail snapshots for HPKE, OHTTP encapsulation, and directory response failures, and threads those through the sender and receiver v2 error types. The goal is not to expose every internal enum directly, but to make the meaningful transport families and their useful details available through a stable cross-language API.
The result is that bindings can now tell whether a v2 failure is URL-related, expiration-related, HPKE-related, OHTTP-related, or directory-related, and can inspect enough detail to react appropriately. This also gives later metadata work a structured transport surface to build on instead of opaque errors.