Skip to content

Revisit single-line progress handling #857

@SangameshV

Description

@SangameshV

Enhancement Request

Improve progress message handling while running ci action.

The earlier SingleLineProgressWriter implementation throws an exception if it encounters multi-line input. This behavior enforces that callers “know” whether they’re writing multi-line or single-line progress messages, based on the capabilities exposed by IProgressWriter::isMultiLineSupported(). However, this design can lead to unexpected errors if callers or actions pass strings that unintentionally contain newline characters.

This issue proposes revisiting the current design to evaluate potential improvements in how single-line progress output handles such cases.

The current behavior ensures that when multi-line data is passed and IProgressWriter::isMultiLineSupported() is false, line-breaks are replaced by spaces (refer AbstractActionStepProcessor::asSingleLineString()). This prevents exceptions and ensures that the progress display stays single-line, even if the message content originally included newlines.

We must revisit the progress writer to have unified way of handling single-line and multi-line progress writers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions