Repository navigation
Bound native sidebar replies for released iOS clients - #469
Merged
Merged
Conversation
Negotiate bounded project and descendant pages before constructing native row JSON. Keep selected rows, authoritative counts and signed scoped continuations, then fit the final reply under the unchanged byte cap. Execute actions once across fit trials and project read-only page session fields from server values using captured request keys. Preserve main routing/viewer behavior and legacy opt-out schemas. Validation: 204 focused assertions, 7 guard tests and external HMAC vector passed. Required proof and whole-source check were attempted; inherited LAWS import syntax and unused app Watch.tree arity errors remain unchanged. The actual release binary and copied-history gate are separate next steps.
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.
Long project histories can make the native view exceed the hub's reply limit before the released iOS client receives any content. The 0.13 baseline reproduces
LIMITwith no ready view on both isolated logical-hub cases.This change negotiates bounded native sidebar metadata before constructing row JSON. Closed shelves retain authoritative counts; signed Previous/Next controls keep every row reachable, including selected descendants outside the current range. Final replies retain the existing byte cap. Fitting reuses one post-action result, and read-only paging publishes server session values using captured request keys without adopting caller values.
The correction preserves main's existing 47 routes, viewer/pending/diff/mail behavior, draft ownership, and legacy opt-out/raw-32 behavior. It adds one read-only paging route and does not require a new iOS bridge for the released bounded-sidebar contract.
Validation:
Watch.treearity error. Those files are unchanged. No global proof or whole-tree pass is claimed.Frozen correction: commit
b4d314b771b4d8fb7b17cce51dde4f402ca116e4, tree413b1b8c044d1d2bb073c1d0305c71d5b2a8887c, parent74d943b7db3ceab37893b350308cf1802f38fe6b. The correction is exactly 17 files relative to that parent. Linux delivery proceeds independently of this separate native compatibility repair.