Repository navigation
fix(muya): size table columns to their content - #4952
Merged
Merged
Conversation
niyo-oyin
added a commit
to niyo-oyin/marktext-ja
that referenced
this pull request
Jul 30, 2026
Upstream PRs applied (all diff-reviewed, tests included and passing): - marktext#4776: preserve ordered-list source markers — opening and saving no longer rewrites 1./1./1. to 1./2./3. (marktext#4772, silent doc mutation) - marktext#4788: UNC/WSL paths become valid file:// authority URLs (file://server/share/…, not file:////…) so network images load (marktext#4577, marktext#4563) - marktext#4952: table columns size to content (min-width 10em → 2em, marktext#4894) - marktext#4773: malformed percent-escape in a clicked link no longer throws an unhandled URIError (marktext#4749) - marktext#4873: Shift+digit/punctuation keybindings recordable and matchable again (patch-package fix for @hfelix/electron-localshortcut, marktext#4863) - marktext#4910: sidebar icons match by extension first, so Dockerfile-Notes.md gets the markdown icon (marktext#4890) - marktext#4317: restored windows are clamped to the target display's work area (multi-monitor / DPI, marktext#2928, marktext#1947) Found while integrating marktext#4776: cloneStateTree shallow-copied meta, so array-valued fields (order-list sourceMarkers, table aligns) stayed SHARED between a getState() clone and the live document — mutating a returned tree corrupted the document. Meta arrays are now copied, and the clone walks an explicit work list instead of recursing, so pathological nesting (600-level lists, marktext#4747) can no longer overflow the call stack (10k-depth regression test). Also: folder search debounces its per-keystroke ripgrep run (300ms, Enter searches immediately, IME-composing keys ignored) (marktext#3556), and a new undoFloor spec pins that undoing past the opened baseline never empties the document (marktext#5028 — legacy-engine bug, does not reproduce on @muyajs/core). muya 1536/1536, desktop 783/783, lint/tsc/madge clean. PLANS.md gains a prioritized backlog from the full 563-item issue/PR survey.
Jocs
approved these changes
Sep 3, 2026
Member
|
@Renakoni I took a little summer break for myself, so I haven’t been reviewing PRs recently. Thank you so much for your continued contributions! |
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.
Fixes #4894.
The cause
The equal-ish split was never a deliberate layout:
.mu-table-cell-contentcarried a blanketmin-width: 10em(inherited verbatim from the TS-rewrite migration, #4314). With the table'stable-layout: auto, that floor inflates every column's minimum content width to ~160px — narrow columns (#,Short) waste 10em regardless of content, and a long column gets squashed into whatever remains. The issue's repro measures 186 / 186 / 328 px at a 700px editor width.The fix
Drop the floor to
2em. Column widths become content-driven, exactly like GitHub's rendering in the issue: the same repro now measures 58 / 69 / 573 px — narrow columns hug their content, the long column takes the bulk.Why keep any floor at all: a truly empty cell would collapse to a zero-width sliver that is hard to click into.
2emplus the existing cell padding keeps every empty cell a real caret target (a new empty 3-column table renders compact but fully editable — covered by the spec below).On the "some might prefer the equal split" question from the issue thread: the old behavior was an accidental artifact of the floor, not a designed equal split, and the reporter's expectation (GitHub parity) is what
table-layout: autogives once the artifact is removed. If a configurable layout mode is ever wanted, it can build on this as the default.Verification
blocks/table-column-widths-4894.spec.ts, real Chromium): the repro's narrow columns render under 100/120px with the long column > 2× their sum (fails on the old CSS), and an empty cell stays a usable click-and-type target.math-and-diagramsKaTeX click failure (identical on cleandevelop) and a@perfsmoke that passes in isolation (49.8s, timing-sensitive under parallel load).develop).