Skip to content

fix(status): scroll long extension labels while preserving explicit line breaks - #675

Merged
agegr merged 2 commits into
agegr:mainfrom
YsDirector:pr/status-bar-no-wrap
Sep 5, 2026
Merged

agegr merged 2 commits into
agegr:mainfrom
YsDirector:pr/status-bar-no-wrap

Conversation

@YsDirector

@YsDirector YsDirector commented Aug 31, 2026 •

Copy link
Copy Markdown
Contributor

Summary / 概述

In narrow mobile views, long extension status labels wrapped onto several lines and crowded the bottom of the chat area. Long labels now stay on one line and scroll horizontally, while explicit line breaks from extensions remain intact. Multiline reports such as /wechat-status retain the existing height cap and vertical scrolling.

手机模式下,底部状态栏的超长标签会自动换行成多行、挤占屏幕空间。本 PR 让长标签保持单行并横向滚动,同时保留扩展主动输出的换行。/wechat-status 等多行报告继续使用原有高度上限和纵向滚动。

Before / 修复前截图

mobile status bar wrapping

The long LLM Wiki status label wraps to roughly five lines instead of one.
超长状态标签自动换行成约 5 行,而不是单行。

Change / 改动

  • app/globals.css: use white-space: pre to preserve explicit newlines without wrapping long lines. The status container handles both scroll axes, remains top-aligned, and retains the existing 144px / 18dvh height cap.
  • components/ExtensionStatusBar.test.mjs: update the regression assertions for preserved line breaks, disabled automatic wrapping, and bounded scrolling.

长标签可横向滚动,多行报告保留分行结构;纵向内容超过高度上限后,可在状态栏内滚动查看。

Verification / 验证

  • node_modules/.bin/tsc --noEmit --incremental false passed.
  • npm run lint passed.
  • 23 related component tests passed: ExtensionStatusBar, ExtensionWidgets, and AnsiText.
  • 30 Chromium component layout checks passed at 320px, 390px, and 1280px widths, with and without widgets. Cases cover short labels, long ANSI-colored labels, explicit multiline reports, tall reports, and reports overflowing both axes. Checks verify line counts, height limits, first/last character visibility after scrolling, and no page-level horizontal overflow.

YsDirector and others added 2 commits September 1, 2026 00:51
…tally when too long

In mobile (narrow) view, extension status-bar labels such as
'LLM Wiki — recalled N pages for this task 🧠 wiki model: ...' were wrapping to
multiple lines and crowding the bottom of the screen. Restore the single-line
form: .extension-status-text now uses white-space:nowrap and scrolls
horizontally (overflow-x:auto) when the label is too long, so the full text
stays readable without eating vertical space.

手机模式下,底部状态栏的超长标签(如 'LLM Wiki — recalled … 🧠 wiki model')
会换行成多行、挤占屏幕空间。改为单行显示:超长时横向滚动(不换行)。

- app/globals.css: .extension-status-text nowrap + overflow-x:auto
- components/ExtensionStatusBar.test.mjs: assert no-wrap + horizontal scroll
- docs/screenshots/mobile-status-bar-wrap.jpg: before screenshot (mobile wrap)
@agegr agegr changed the title fix(status): keep extension status labels on one line; scroll horizontally when too long fix(status): scroll long extension labels while preserving explicit line breaks Sep 5, 2026
@agegr
agegr merged commit cc1394d into agegr:main Sep 5, 2026
sleepinginsummer pushed a commit to sleepinginsummer/pi-web that referenced this pull request Sep 9, 2026
…ine breaks (agegr#675)

* fix(status): keep extension status labels on one line; scroll horizontally when too long

In mobile (narrow) view, extension status-bar labels such as
'LLM Wiki — recalled N pages for this task 🧠 wiki model: ...' were wrapping to
multiple lines and crowding the bottom of the screen. Restore the single-line
form: .extension-status-text now uses white-space:nowrap and scrolls
horizontally (overflow-x:auto) when the label is too long, so the full text
stays readable without eating vertical space.

手机模式下,底部状态栏的超长标签(如 'LLM Wiki — recalled … 🧠 wiki model')
会换行成多行、挤占屏幕空间。改为单行显示:超长时横向滚动(不换行)。

- app/globals.css: .extension-status-text nowrap + overflow-x:auto
- components/ExtensionStatusBar.test.mjs: assert no-wrap + horizontal scroll
- docs/screenshots/mobile-status-bar-wrap.jpg: before screenshot (mobile wrap)

* fix(status): preserve explicit line breaks with bounded scrolling

---------

Co-authored-by: ysdirector <ysdirector@users.noreply.github.com>
Co-authored-by: Alex Yang <agegcn@gmail.com>
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.

2 participants