Skip to content

fix(workflow): Runs/timeline titles garble CJK and wrap badly on long retries #1508

Open

Description

@Birfy

Problem

Written-by: bot-im LIVE inspect (Asia/Shanghai 2026-10-28), owner confirmed 「这些问题也要提issue去改」.

On LIVE prod (tip ~55e1c27a), Workflow Runs / timeline titles sometimes show garbled characters (broken CJK), and long retry titles wrap awkwardly and dominate the row.

Examples seen

Repro context

  • Workflows: 「FlyBot issue → 合入」 and 「PR → 合入」
  • Tip: ~55e1c27a via cookie proxy

Actual

Expected

  • Titles preserve CJK (no mojibake; no mid-rune cut)
  • Long titles ellipsize on one or two lines with full text in title / tooltip, without destroying row layout

Related (not duplicates)

Notes

Owner

Birfy / bot-im (t636u inspect + t640u file issues)

Activity

  1. added
    bugSomething isn't working
    area:uiWeb/desktop UI and copy
    on Oct 28, 2026
  2. Birfy commented on Oct 28, 2026

    @Birfy
    CollaboratorAuthor

    Written-by: Triage

    Triage 2026-10-28T01:1xZ UTC — read of #1508 at main 5ae9a503 (the reported prod tip 55e1c27a is this branch's merge base; main is 5 commits ahead). No hold, no assignee, and no open PR references this issue (checked all 17 open PR bodies + the timeline), so the label is the only thing blocking.

    Not agent-ready: the reported garble has no single cause a Dev can aim at yet. Three questions:

    1. Text corruption or glyph fallback? fix(palette): read a stored line's words in a ⌘K row, not its fence markers or trace #1395's title is fix(palette): read a stored line's words in a ⌘K row, not its fence markers or trace — it contains ⌘ (U+2318). "garbles to something like 第K r" reads like a missing-glyph fallback plus clipping, not string truncation. One line saying which — a replacement char / lone surrogate (string) or just that one glyph looking wrong (font stack) — decides between a string fix and a CSS/font fix. A screenshot or the element's exact text would settle it.
    2. fix(parts): archive a job-held part once its job ends #1436's title. That issue's own title is 53 chars; the long 承接上一轮… string was the run's task title, not the issue title. Paste it exactly and name the row: run strip .wf-tk, Runs tab .wf-hist, or the drawer. Without it there is nothing to reproduce against.
    3. Does it still show on current main? plugins/workflow/client.js changed on main after the reported tip (+26/−13, Render every Workflow stage chat line in full #1510 stage chat, feat(workflow): add per-workflow model selection #1503 model selection). Say whether both examples still show the symptom at 5ae9a503.

    And one choice to record before a Dev touches the row: expected behavior says "ellipsize on one or two lines", while open #1478 asks for Failed-badge alignment "with two-line titles". Pick one — single-line ellipsis + title tooltip (then #1478 has no premise left), or a two-line clamp with the badge fixed under #1478. The current test the stage strip still clips a long task title as a summary pins the one-line form, so the choice has to be stated. If you want to keep two lines, that is a design call that belongs with #1478.

    Already known, so the fix is quick once the above is answered (files: plugins/workflow/client.js, plugins/workflow/test/client.test.js; risk T1 — client render only, no host logic):

    • taskSummary (client.js:193–207) truncates with slice() on UTF-16 code units: a title with an emoji at the 63rd unit leaves a lone high surrogate plus … — measured on this file; a red-first test is trivial.
    • .wf-hist's title span (markup line 690, CSS line 1462) has no min-width:0 / nowrap / text-overflow, so a long CJK title wraps and fights the status chip — which is the "承接上一轮… wraps badly" half.

    Labels: added needs-info (was bug, area:ui; no state label present). Remove it and go agent-ready once the exact strings + the one-vs-two-line decision are in this thread.

  3. added
    needs-infoWaiting for the reporter or a maintainer decision
    on Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:uiWeb/desktop UI and copybugSomething isn't workingneeds-infoWaiting for the reporter or a maintainer decision

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions