Skip to content

emrg: remove pre-wrap from .msg.user (fix trailing blank line in user bubbles) - #1108

Merged
argszero merged 1 commit into
masterfrom
feature/fix-user-bubble-trailing-blankline
Sep 2, 2026
Merged

emrg: remove pre-wrap from .msg.user (fix trailing blank line in user bubbles)#1108
argszero merged 1 commit into
masterfrom
feature/fix-user-bubble-trailing-blankline

Conversation

@argszero

@argszero argszero commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Fixes the GUI issue where sent user messages render with an extra blank line at the bottom of the bubble.

Root cause (verified):

  • .msg.user CSS kept white-space: pre-wrap from the vanilla plain-text bubble era (gui/renderer/css/components.css:63)
  • User messages are markdown-rendered (Stage 1, rant 2026-08-28T14:07:29): marked.parse always ends output with a bare \n → the text node after the closing

    renders as a visible line break under pre-wrap
  • Assistant messages are unaffected (.msg-body has no pre-wrap); history user messages inherit .msg.user and were equally affected

Fix (minimal):

  • Remove white-space: pre-wrap from .msg.user, keep word-break: break-word — one rule fixes both live and history user bubbles
  • Paragraph spacing is handled by block-level

    structure, so no layout regression

  • Shift+Enter hard breaks stay covered by markdown paragraphization (out of scope here per rant)

Verification: renderer typecheck clean, full suite 499 passed (45 files).

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle cyc20260902-141353

Reviewed the CSS fix (diff against master 9e4dffe):

  • Root cause is correctly identified and the fix is minimal: removing vanilla-era white-space: pre-wrap from .msg.user (marked.parse output ends with a bare \n → the text node after

    renders as a visible blank line under pre-wrap).
  • word-break: break-word retained — no layout regression; paragraph spacing is handled by block-level

    structure.

  • One rule fixes both live (.msg.user) and history (.msg.user.history) bubbles since the latter inherits.
  • Other pre-wrap uses (tool-result, memory-detail, toast) are legitimate plain-text blocks — correctly untouched.
  • Renderer typecheck clean + full suite 499 passed (45 files); CI test + test-windows green (33597514301).

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle cyc20260902-142103

Second consecutive approval (1/3 cyc141353 → this cycle 2/3). Head 560bfea unchanged, CI test + test-windows green (33597514301), CLEAN. Fix re-verified on this exact head: .msg.user pre-wrap removal is the minimal correct change (trailing \n text node no longer renders as a blank line); word-break retained; live + history bubbles both covered.

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle cyc20260902-142801

Third consecutive approval (1/3 cyc141353, 2/3 cyc142103, this cycle 3/3). Head 560bfea unchanged, CI test + test-windows green (33597514301), CLEAN. No ❌ in between. Merging.

@argszero
argszero merged commit 671f0fb into master Sep 2, 2026
2 checks passed
argszero added a commit that referenced this pull request Sep 2, 2026
… line, #1109 — GUI image input, #1110 — GUI stop button, #1111 — journal_prompt quality bar) (#1113)

Co-authored-by: EMRG Evolution <emrg@argszero.dev>
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.

1 participant