Skip to content

fix(web-ui): keep todo editor form from collapsing on older WebKit - #3855

Merged
bobleer merged 1 commit into
openBitFun:mainfrom
bobleer:bob/fix-todo-editor-collapse
Nov 10, 2026
Merged

bobleer merged 1 commit into
openBitFun:mainfrom
bobleer:bob/fix-todo-editor-collapse

Conversation

@bobleer

@bobleer bobleer commented Nov 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

The 创建待办 (create todo) dialog could show only its title and footer, with the footer drawn over a clipped strip of the form, as reported on macOS Sonoma 14.3.1 in #3718. It happened with and without an external monitor.

The todo editor is now a flex column instead of a grid with max-height: 100% and a minmax(0, 1fr) form row. The intro and actions keep their natural size; only the scrollable form body shrinks.

Fixes #3718

Type and Areas

Type: Bug fix

Areas: web UI (Todos scene editor dialog)

Motivation / Impact

The dialog surface has no definite height, only a max-block-size. Inside its body the editor resolved a percentage max-height and an fr row against that indefinite height. The desktop app renders with the system WKWebView, so layout follows the user's macOS version. Older WebKit resolves those sizes from the wrong height and gave the form row 0px, while newer WebKit lays the same CSS out correctly. That is why the dialog looks fine on recent macOS and breaks on Sonoma 14.3.

The flex-column layout matches the shared Dialog body pattern (flex: 1 1 auto; min-block-size: 0) and does not depend on percentage or fr resolution. No visual change where the old layout already worked.

Verification

  • Web UI dev preview (Chromium), editor opened from the Todos scene:
    • 1280x800: form body 546px (equal to its content height), actions start directly below it, no overlap
    • 1100x520: form body shrinks to 320px and scrolls (content 498px); intro 81px and actions 69px keep full size
  • pnpm run check:web: stopped at a typography audit violation in design-system/packages/ui/src/components/Dialog/Dialog.module.css:77, which is already on main and not touched here. Type-check did not run as a result; this PR changes SCSS only.

Not reproduced or rechecked in the macOS 14 WKWebView desktop app (an older WebKit build was not available locally). Layout-only change; no remote scenario behavior is affected.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

The todo editor was a grid with `max-height: 100%` and a
`minmax(0, 1fr)` middle row inside a dialog body without a definite
height. Older WebKit (macOS 14 WKWebView) resolved that pair to a 0px
form row, so the footer covered the clipped fields.

Lay the editor out as a flex column instead: the intro and actions keep
their size and only the scrollable form body shrinks.

Fixes openBitFun#3718
@bobleer
bobleer merged commit f76ee6b into openBitFun:main Nov 10, 2026
9 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.

[Bug]: 创建待办时在双屏显示异常

1 participant