Skip to content

v5.2.1 – Strip ANSI/OSC escape sequences; fix newline rendering in output - #113

Merged
csoscd merged 2 commits into
mainfrom
fix/ansi-escape-in-ssh-output
Aug 26, 2026
Merged

v5.2.1 – Strip ANSI/OSC escape sequences; fix newline rendering in output#113
csoscd merged 2 commits into
mainfrom
fix/ansi-escape-in-ssh-output

Conversation

@csoscd

@csoscd csoscd commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fix: SSH-Verbindungstest zeigte fälschlicherweise „Fehlgeschlagen" wenn die Remote-Shell OSC-Sequenzen aus Startup-Dateien emittierte — neuer AnsiStripper entfernt CSI/OSC/Fe-Sequenzen vor dem Success-Check
  • Fix: Job-Output in execution_log enthielt ANSI/OSC-Escape-Sequenzen — Strip wird jetzt in ExecutionFinishEndpoint beim Einlesen angewendet
  • Fix: Zeilenumbrüche im Output wurden in Dashboard, Detail- und Timeline-Ansicht zu Leerzeichen kollabiert — whitespace-pre-wrap break-words ersetzt break-all; fehlende CSS-Regeln in tailwind.css ergänzt

Test plan

  • PHP Tests (PHP 8.4) — passed
  • Security checks — passed
  • Dev Docker images gebaut — success

csoscd added 2 commits August 26, 2026 08:45
Remote shells emit OSC sequences (e.g. \e]11;#RRGGBB\a for background
colour) from startup files even during non-interactive SSH commands.
These caused the SSH connectivity test to report "failed" despite a
successful connection (trim($output) === 'ok' check failed), and
appeared as garbled text in job execution output stored in the DB.

New AnsiStripper utility class strips CSI, OSC, and Fe escape sequences.
Applied in SshTestEndpoint (before success check and response) and in
ExecutionFinishEndpoint (before output is written to execution_log).

Also fix newline rendering in output display: detail.php and timeline.php
used `break-all` without `whitespace-pre-wrap`; HTML collapses \n to
spaces in inline elements. Replaced with `whitespace-pre-wrap break-words`.
The pre-built purged stylesheet did not contain these utility classes;
output spans using whitespace-pre-wrap break-words had no effect and
newlines were collapsed to spaces in dashboard, detail, and timeline views.
@csoscd
csoscd merged commit 0c24792 into main Aug 26, 2026
12 checks passed
@csoscd
csoscd deleted the fix/ansi-escape-in-ssh-output branch August 27, 2026 18:19
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