Skip to content

Honor Android modal metadata and native dialog actions - #264

Merged
tiensonqin merged 1 commit into
mainfrom
fix/android-modal-surfaces-20261024
Oct 23, 2026
Merged

tiensonqin merged 1 commit into
mainfrom
fix/android-modal-surfaces-20261024

Conversation

@tiensonqin

Copy link
Copy Markdown
Collaborator

Android modal surfaces currently bypass their authored chrome. Dialog and sheet identifiers never reach accessibility, dialog titles and explicit heights are ignored, and a weighted child can stretch a confirmation to the entire screen (840dp in the downstream graph-deletion case).

Apply the common modal modifier, render the authored dialog title, and place direct icon/button children in Material AlertDialog's native slots. Keep the body scrollable so rich content and large text remain reachable, while native action buttons stay outside the scrolling body. Existing rich child layouts remain supported. This changes only the Android Kotlin renderer; no Apple renderer or shared protocol changes are included.

Validation:

  • Eight downstream native regressions cover dialog/sheet identity, title, explicit height, long rich content, persistent native actions with large text, and real graph-deletion geometry/cancellation. Seven fail against the original renderer; all eight pass after the fix.
  • All 34 affected downstream layout/accessibility/modal instrumentation cases pass in 17.524 seconds.
  • All 37 standalone LUI Android JVM tests pass.
  • The companion Logseq changes use direct dialog action children on Android; its complete shared-core gate passes all 1,062 tests and the iOS confirmation branches remain unchanged.

Downstream tests: AndroidModalSurfaceTest, AndroidReviewLayoutTest, and AndroidMaterialInteractionTest in Logseq's Android acceptance worktree.

@tiensonqin
tiensonqin merged commit 04fc67b into main Oct 23, 2026
8 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