Skip to content

fix(mygo): align retained menu row slots - #291

Open
tiensonqin wants to merge 5 commits into
mainfrom
fix/mygo-menu-slots-20261029
Open

tiensonqin wants to merge 5 commits into
mainfrom
fix/mygo-menu-slots-20261029

Conversation

@tiensonqin

@tiensonqin tiensonqin commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Fix retained MyGo menu row composition at the menu boundary: nonempty labels grow, canonical tooltip-keys render in a visible trailing slot, checks follow Web placement and conditional gutter semantics, and typed dropdown owners receive a chevron. Empty owned labels add no spacer; custom child content remains mounted while closed dropdown panels remain lazy.

docs/api-migrations.md records the default rendering changes and concrete downstream migration. Generic buttons, mutation validation, schema admission, wire vocabulary, dependency pins, and application-owned menu styling are unchanged. Native OS menus retain their OS-controlled presentation.

Validation

  • Full MyGo adapter tests, race tests, vet, and production-tag vet: exit 0 with committed public dependencies and GOWORK=off.
  • Linux build and Darwin/arm64 + Windows/amd64 cross-builds: exit 0.
  • Compatibility check against public MyGo 43c83de431ec using a temporary modfile: tests, vet and build exit 0; committed pins unchanged.
  • opam exec -- dune build @web platform/native/ and core dune runtest test/: exit 0.
  • Web npm run check: exit 0 (156 tests); tooling/schema tests: exit 0 (24 tests).
  • Gated temporary slot harness: fails on exact 1f44501e because the canonical shortcut is absent, passes after the fix, then deleted; no tests retained or existing assertions changed.
  • Formatting and staged/cumulative diff checks: exit 0; exactly two tracked files changed, no generated/dependency artifacts.
  • Published module v0.0.0-20261029151342-ba39a5080a18 resolves through proxy.golang.org and sum.golang.org. Its extracted Go module builds, passes production-tag vet and existing menu tests: exit 0.

Additional native SDL runtime suite: exit 1 because this machine has SDL 2.0.20 and cannot resolve SDL_RenderGetWindow. Native compilation passed; this is not an all-native-tests-passed claim.

Full tests run from the extracted Go submodule exit 1: the existing TestAllSupportedKindsRender expects ../../schema/mygo-manifest.json from the complete repository, outside that submodule. The complete repository's tests pass; no test assertions or manifest lookup behavior were changed.

Real production Web/native visual qualification is pending. Start from matched menus containing an owned label, canonical shortcut, selected/unselected rows and empty-label custom content; compare slot alignment, remove the last selection/shortcut, then exercise true submenu open/close and dismissal. Application-specific spacing/background recipes must be validated in the consuming application; headless checks do not establish visual parity.

Link to Devin session: https://app.devin.ai/sessions/8fb8206975da46adad697ea4f962c885
Open in Devin Desktop: https://app.devin.ai/desktop/session/8fb8206975da46adad697ea4f962c885?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

This branch has not been deployed

No deployments
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