发布

  • fix(core): size TUI bottom bar reservations to the actual help text (#36261)

    frostbyte_neo 发布于 2026-07-09 15:36:56 +00:00

    Current Behavior

    The TUI task list's bottom bar decides its layout from hardcoded width
    constants (COLLAPSED_HELP_WIDTH = 19, FULL_HELP_WIDTH = 86) plus a
    phantom SCROLLBAR_WIDTH = 3 that the bottom row never actually
    renders. These constants have drifted from the real help content: the
    collapsed help is 16 columns, and the post-run help (which now includes
    perf report: p) is 100 columns.

    Next to an Nx Cloud message this over/under-reservation causes:

    • The cloud message drops its prefix (URL-only fallback) while blank
      columns visibly remain (e.g. at 81 cols, View logs and run details at … is cut to just the URL with ~6 spare columns).
    • The full help collapses several columns before it stops fitting
      (147–151 cols).
    • The perf report: p hint is clipped off the right edge entirely
      whenever a cloud message is shown after a run finishes, because the real
      100-col help is drawn into an 86-col reservation.

    Expected Behavior

    Layout reservations match what actually renders. HelpText exposes
    width() derived from the same spans it renders (including the
    perf-report variant), the bottom-bar math consumes it instead of the
    stale constants, the phantom scrollbar reservation is removed, and cloud
    message widths are measured as display columns rather than byte lengths.
    The full message, full help, and perf-report hint each appear exactly
    when they fit.

    Three regression tests pin the boundary widths (79 / 147 / 163 cols);
    one snapshot updated where the full help now correctly expands at 90
    cols.

    Related Issue(s)

    Polygraph session: cloud-link-tui-reserves-too-much-space


    View session information

    下载附件