Skip to content

feat: Add live status banner to ui5 serve#1439

Merged
matz3 merged 10 commits into
mainfrom
ui5-serve-console-output
Jul 2, 2026
Merged

feat: Add live status banner to ui5 serve#1439
matz3 merged 10 commits into
mainfrom
ui5-serve-console-output

Conversation

@matz3

@matz3 matz3 commented Jun 29, 2026

Copy link
Copy Markdown
Member

JIRA: CPOUI5FOUNDATION-1275

@matz3 matz3 requested a review from a team June 29, 2026 18:19
@matz3 matz3 force-pushed the ui5-serve-console-output branch from 166413e to f4284bb Compare June 30, 2026 06:09

@d3xter666 d3xter666 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

Tried different scenarios with file modifications, deleteions, new files and it seems to be working as expected

@d3xter666 d3xter666 requested a review from a team June 30, 2026 12:02

@RandomByte RandomByte left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Some of these we could also tackle in a later follow-up. E.g. moving the implementation into the logger package (if we actually want to do that) is not a top priority for me and might come with extra work since we then need to account for multiple versions of the logger package being in use (which however is a good reason to couple the banner to the Serve-logger implementation)

Comment thread packages/logger/lib/loggers/Serve.js
Comment thread packages/cli/lib/serve/Banner.js
Comment thread packages/cli/lib/serve/render.js Outdated
Comment thread packages/cli/lib/serve/render.js Outdated
Comment thread packages/cli/lib/cli/commands/serve.js
Comment thread packages/cli/lib/cli/commands/serve.js
Comment thread packages/cli/lib/serve/render.js Outdated
Comment thread packages/cli/lib/serve/Banner.js
Comment thread packages/cli/lib/serve/Banner.js
Comment thread packages/cli/lib/serve/Banner.js
@matz3 matz3 force-pushed the ui5-serve-console-output branch from 4e310e6 to c546338 Compare July 1, 2026 15:21
@matz3

matz3 commented Jul 1, 2026

Copy link
Copy Markdown
Member Author

I applied some changes, especially improvements in the rendering (more compact), and using the figures packages for unicode symbols with fallback.

More changes will be applied in a follow-up PR, as we already have two other improvements building on top of this PR, which would then be unblocked by merging this now.

@matz3 matz3 requested a review from RandomByte July 1, 2026 15:56
@matz3 matz3 enabled auto-merge (squash) July 1, 2026 16:19
@marianfoo

Copy link
Copy Markdown
Contributor

Just out of curiosity, what would happen if I use cap-plugin-ui5 and serve multiple UI5 Apps at the same time using CAP?
What I see in this PR I can only set output to silent to avoid this?

@matz3

matz3 commented Jul 2, 2026

Copy link
Copy Markdown
Member Author

Just out of curiosity, what would happen if I use cap-plugin-ui5 and serve multiple UI5 Apps at the same time using CAP? What I see in this PR I can only set output to silent to avoid this?

I would assume nothing would change. cap-plugin-ui5 does not seem to invoke the CLI via ui5 serve, so this feature won't be active.

Comment thread packages/cli/lib/serve/state.js Outdated
Comment thread packages/cli/lib/serve/state.js Outdated
@matz3 matz3 requested a review from codeworrior July 2, 2026 07:35
@codeworrior

Copy link
Copy Markdown
Member

I've tested it locally on a bigger project where I use the workspace feature of ui5 serve. The new banner reports the framework version of the project

UI5 CLI v5.0.0-alpha.5

❯ Local:   http://localhost:8080
❯ Network: use --accept-remote-connections to expose

Project   sapui5-dist-testsuite  (application)  v1.150.0-SNAPSHOT
Framework SAPUI5 1.150.0-SNAPSHOT

Status    ● ready    · Time elapsed: 14 s

but I get no indication that this doesn't match the workspace content. With the old log output, I saw the version of each project contained in the workspace sources:

info graph:helpers:ui5Framework Using SAPUI5 version: 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.core via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.layout via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.unified via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.codeeditor via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.dt via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.suite via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.m via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.table via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.commons via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ndc via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.fl via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.mdc via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.tnt via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.ux3 via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.f via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.rta via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.support via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.integration via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.uxap via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.testrecorder via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project themelib_sap_belize via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project themelib_sap_fiori_3 via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project themelib_sap_horizon via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project themelib_sap_bluecrystal via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.webanalytics.core via local workspace to version 1.148.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.makit via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.me via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.export via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.richtexteditor via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.viz via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.suite.ui.microchart via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.vbm via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ca.ui via local workspace to version 1.148.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.rules.ui via local workspace to version 1.148.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.vtm via local workspace to version 1.148.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.zen.commons via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.zen.crosstab via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.uiext.inbox via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.sac.df via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.documentation via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.chart via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.insights via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ca.scfld.md via local workspace to version 1.148.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.comp via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.suite.ui.commons via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.vk via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.gantt via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.generic.template via local workspace to version 1.148.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.collaboration via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ui.generic.app via local workspace to version 1.148.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ovp via local workspace to version 1.149.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.zen.dsh via local workspace to version 1.150.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.ushell via local workspace to version 1.151.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.apf via local workspace to version 1.148.0-SNAPSHOT
info graph:helpers:ui5Framework Resolved project sap.suite.ui.generic.template via local workspace to version 1.151.0-SNAPSHOT

As I appreciate the focused information presented by the banner, I would not like to always switch it off, just to see those inconsistencies. But I also don't want to hunt ghost bugs that in reality are unnoticed source inconsistencies.

Would it be possible to show an indicator for the inconsistencies, e.g. after the framework version, or is it too costly to determine this?

UI5 CLI v5.0.0-alpha.5

❯ Local:   http://localhost:8080
❯ Network: use --accept-remote-connections to expose

Project   sapui5-dist-testsuite  (application)  v1.150.0-SNAPSHOT
Framework SAPUI5 1.150.0-SNAPSHOT (not consistent with workspace content)

Status    ● ready    · Time elapsed: 14 s

@matz3

matz3 commented Jul 2, 2026

Copy link
Copy Markdown
Member Author

@codeworrior thank you for testing it and bringing this up! The downloading status of the framework packages is something I still wanted to add, but I didn't think about the workspaces. Would you prefer to only have such an inconsistency check, or would you like to be able to get back the full list of packages that are resolved via the workspace?

I feel like we might need an option to have a more verbose output in the banner, but far less compared to what --verbose prints. In the banner, we could try to include the most important information, such as the inconsistency warning, how many framework libs were resolved from the workspace (e.g. 9 of 10 projects resolved via workspace), etc., but without always listing everything.

As stated earlier, I would still like to merge this PR now, to unblock other work. I will address this in a follow-up PR.

@codeworrior

Copy link
Copy Markdown
Member

I also see this as a potential follow-up, not as mandatory for an initial feature commit.

Reg. my expectations, I'm a bit undecided. "Dreaming", I would like to a see a summary, maybe with numbers as you suggested, maybe with an inconsistency indicator). And with an option or key press, see the full list of resolved projects / versions.

@RandomByte RandomByte left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

As agreed, let's merge this as is and continue working on the mentioned points in follow-up PRs

@matz3 matz3 merged commit 2a46c8b into main Jul 2, 2026
60 checks passed
@matz3 matz3 deleted the ui5-serve-console-output branch July 2, 2026 09:32
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.

7 participants