Skip to content

fix: align MyGo stack sizing and standard input commands - #290

Merged
tiensonqin merged 3 commits into
mainfrom
fix/mygo-bounded-stacks-20261028
Oct 29, 2026
Merged

tiensonqin merged 3 commits into
mainfrom
fix/mygo-bounded-stacks-20261028

Conversation

@tiensonqin

@tiensonqin tiensonqin commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Bounded MyGo Stacks now pass finite width and height through their synthetic layer wrappers instead of letting intrinsic content floors expand nested scroll viewports. Use single-cell Fr(1) grids for both the Stack and each wrapper; retain keys, placement, pointer pass-through and z-order. Content-sized Stacks and explicit child constraints keep their existing semantics.

Add optional typed Config.InputValue func(Node, *string) and InputControl func(Node, ui.Element, string) hooks for standard text editors. Value binding runs after model reconciliation and before editor construction; control binding runs after input-handler setup and before existing focus/handle/autofocus processing. Both run only during live construction, never fitting probes. Hosts can reuse their existing imperative queues and incarnation/commit acknowledgement instead of copying the renderer or adding component exceptions. Nil hooks preserve existing behavior; hooks do not synthesize model events or repair missing-node ordering. Document lifetimes, UI-thread execution, UTF-16/rune conversion and migration examples. No wire, dependency or other-backend changes.

The branch normally merges current main before the hook commit, retaining the original bounded-Stack change without rewriting history.

Validation:

  • One temporary public Backend reproduction: an 897-DIP root with a 48-DIP header previously produced a 1280-DIP Scroll viewport; the same case now produces 849 DIPs. Red/green reproduced with the committed MyGo pin, and independently in the app consumer with published MyGo 6efea658. Temporary files deleted; no retained tests added.
  • Existing intrinsic largest-child, removal/shrink, overlapping layers and z-order paint/press tests pass. Full Go package tests and race pass.
  • Linux/amd64, Windows/amd64 and Darwin/arm64 builds and vet pass with CGO_ENABLED=0, both ordinary and mygo_noinspector builds. Race uses CGO_ENABLED=1.

The hook successor additionally passes full/race/vet, Linux/Windows/Darwin arm64 ordinary and production CGO0 build/vet, existing tooling/test_mygo.sh contracts/oracle/runtime checks, and published-module source/checksum verification. No retained tests or changed assertions were added.

In logseq/logseq#13900, the source-identical precommit consumer with published LUI 1f44501 and MyGo 6efea658 passes a scoped real-native/production-worker CmdK restore/reopen test: actual Page/0..4 and one-key replacement g/1..1; all restore command entries see the target input already created. That app separately fixes document patch publication ordering. This is not full product, wheel or OS IME acceptance; both PRs remain unmerged.

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

@devin-ai-integration

Copy link
Copy Markdown
Contributor

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@devin-ai-integration devin-ai-integration Bot changed the title fix: preserve bounded MyGo stack layout fix: align MyGo stack sizing and standard input commands Oct 28, 2026
@tiensonqin
tiensonqin merged commit 93b2097 into main Oct 29, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant