Repository navigation
feat: expose captured pointer and mixed checkbox contracts - #289
Merged
Merged
Conversation
Contributor
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
devin-ai-integration
Bot
changed the base branch from
app-model-pending-read-main
to
main
October 28, 2026 05:46
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
Expose owned Row/Box pointer capture with cancellation, mixed Checkbox state and modifier-aware toggles, and focus-owned typed navigation on the latest runtime. Preserve current virtual-window, dynamic-anchor and typography behavior; append the wire vocabulary and regenerate contracts from the canonical schema.
Based on
cb082e6(pending-model reads, #288), now merged into main; the pending-model implementation and tests are unchanged. The merged main tree is identical to that predecessor, so this PR now targets main directly. Pin MyGo to published shared input baseline63195e6c2f5973633e380400b7fde3828b3008a7(logseq/mygo#8), rather than selecting incompatible captured-input and committed-editor refs. Record the public migrations and host qualification indocs/api-migrations.md.Apple and Android now validate the new properties with explicit Boolean shapes and kind restrictions. Migrate one Apple negative fixture from Checkbox to Switch, where
indeterminateremains invalid, and expect generation 3: a decoded wrong-kind operation consumes its generation under the existing backend contract. Preserve the rejection assertion and production semantics. Shared vocabulary/admission does not qualify Apple/Android for captured gestures, mixed rendering or detail events.Final native-input successor
7175d6b2123b2c5f357f1dd2e4b685fbcd2dcc3bfixes real Native OCaml window input: Checkbox click/Enter/Space preserve legacy Boolean proposals and optionally emit modifier-awareToggleChangedDetail, including mixed-to-true proposals without mutating the accepted model. Disabled/inert ancestors suppress activation. Navigation-enabled Row/Box nodes become focus candidates and receive typed navigation only while they own focus; child checkbox/editor and existing Button behavior remain intact. This qualifies native pointer/keyboard input only, not mixed painting, accessibility state or accessibility-action producers. Web/MyGo retain mixed rendering and accessibility support.Local validation passed:
dune build @all, forceddune runtest, canonical schema checks, Go test/vet/build and diff checks on the final native successor; existing native input/window/JSON suites passed. A temporary external JSON scenario drove the productionUi.handlepath red on9cfc3c7and green on the successor, then was removed. Earlier unchanged Web checks (156), browser regressions (204), Go race, officialtooling/test_mygo.shcontract/startup/allocation chain and Android unit tests passed. No Dune changes, app sources or old generated-history merges are included. All 16 CI checks on the final7175d6bhead passed, including macOS Apple tests; all checks remain green after retargeting onto the identical merged-main tree. Whole-file OCaml formatting drift already exists in the unchanged predecessor; unrelated reformatting was not added.The earlier compact-sheet cancellation CI failure did not reproduce: the unchanged existing browser suite passed on both the pending-model baseline and the successor. No Sheet source, browser assertions, sleeps or timeouts were changed.
These framework/headless checks do not qualify app integration, worker-backed GUI or real OS IME/candidate windows. The separate upstream MyGo repository retains documented baseline test/race failures; this does not claim that entire repository is green.
Link to Devin session: https://app.devin.ai/sessions/4a14d15bc6d44d18a9254cd088d5cc5e
Open in Devin Desktop: https://app.devin.ai/desktop/session/4a14d15bc6d44d18a9254cd088d5cc5e?variant=devin
Requested by: @tiensonqin