Download api breaking improvements#13
Merged
Merged
Conversation
|
The latest Buf updates on your PR. Results from workflow Buf CI / buf (pull_request).
|
This reverts commit 85551c0. Clients may want to know the exact package information for the app described in an AppDownloadInfo, as described in the referenced commit. However, the Accrescent client has no need of this field at the moment, and it may actually be better to include package info regardless of whether the app is compatible (contrary to the referenced commit) if we were to include it. Since we don't need this information, exclude it from the public API so that we don't prematurely commit to providing it.
Semantically, an incompatibility between an app and device is moreso an error than a commonly expected "success" response, so we should represent incompatibilities as error codes instead of wire-protocol messages. If we ever need to provide more information in the error response, we can use gRPC's extended error model.
While retrieving initial app download info and update info are conceptually similar operations, conflating them causes some API quirks wherein we cannot annotate certain response fields as required (i.e. expected) implicitly based on request parameters. In addition, as we inevitably add more information specific to app updates (e.g., update deltas), the API would become less precise by including update-specific fields in the data types returned to clients requesting only initial download info. This commit splits `GetAppDownloadInfo` into two distinct RPCs - one for initial downloads and one for updates - to resolve these conflation issues.
This API name has a much more clear intent on what the API's purpose actually is.
0b432a0 to
c86f289
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.
No description provided.