Skip to content

fix(monitoring): declare the bpmn-visualization webjar the Processes page loads - #6637

Merged
delchev merged 1 commit into
masterfrom
fix/monitoring-bpmn-visualization-webjar
Aug 9, 2026
Merged

fix(monitoring): declare the bpmn-visualization webjar the Processes page loads#6637
delchev merged 1 commit into
masterfrom
fix/monitoring-bpmn-visualization-webjar

Conversation

@delchev

@delchev delchev commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Fixes #6634.

resources-monitoring's Processes page loads
/webjars/bpmn-visualization/dist/bpmn-visualization.min.js at runtime
(js/services/processDiagram.js:13) to render the live BPMN diagram, but the module declared no
dependencies at all
. The webjar reached the classpath only through ui-perspective-processes — that
is, through the Web IDE, which is the one thing this shell is explicitly built to work without.

So the single assembly the module is designed for is exactly the one where the diagram silently fails:
the <script> 404s, loadLibrary() rejects, and the pane stays empty. Nothing in the build catches
it, because the dependency is real in the full build/application and only missing from a curated
distribution.

The change

One dependency, on the module whose page loads it — org.webjars.npm:bpmn-visualization at the
existing ${bpmn-visualization.version}. This matches how application-core already works: it
declares the webjars its own pages load (alpinejs, codbex__harmonia, lucide, pinecone-router,
i18next, fontsource__open-sans) rather than relying on a sibling to bring them.

perspective-processes keeps its own declaration — it loads the same URL from
bpm-process-viewer.html.

Verification

  • dependency:tree on resources-monitoring now resolves bpmn-visualization:0.47.0 directly, with
    its transitives (typed-mxgraph, es-toolkit, fast-xml-parser, mxgraph).
  • dependency:tree on build/application still resolves it exactly once, at 0.47.0, with zero
    version-conflict warnings
    — so the full distribution is byte-for-byte unaffected and only a curated
    assembly gains anything.
  • The webjar does contain the requested path (.../0.47.0/dist/bpmn-visualization.min.js, served
    version-lessly by webjars-locator — the same URL perspective-processes has been loading).
  • mvn clean install green on the module.

Notes

The dependency carries a comment. Nothing in this module imports the webjar from Java, so it reads as
an unused dependency and would be a natural thing for someone to "clean up" — the comment records why
it is there.

Scope check while I was in here: resources-monitoring loads five webjar URLs. The other four
(alpinejs, codbex__harmonia, lucide, pinecone-router) are covered by application-core, which
any assembly containing the shared shell runtime must include anyway — so bpmn-visualization was the
only orphan. The sibling shells (resources-admin, -application, -personal, -partner) declare no
dependencies for the same reason and are fine as they are.

🤖 Generated with Claude Code

…page loads

The Monitoring shell's Processes page loads
/webjars/bpmn-visualization/dist/bpmn-visualization.min.js at runtime to render the
live BPMN diagram, but resources-monitoring declared no dependencies at all: the
webjar reached the classpath only through ui-perspective-processes - that is,
through the Web IDE, the one thing this shell is built to work without.

So the single assembly the module is designed for is exactly the one where the
diagram silently fails: the script 404s, loadLibrary() rejects, and the pane stays
empty. Nothing in the build catches it, because the dependency is real in the full
build/application and only missing from a curated distribution.

Declare it where it is loaded. perspective-processes keeps its own declaration (it
loads the same URL from bpm-process-viewer.html) and Maven de-duplicates: the
assembly's dependency tree still resolves bpmn-visualization exactly once, at
0.47.0, with no version-conflict warnings - so the full distribution is unchanged
and only a curated one gains anything. This matches application-core, which
declares the webjars its own pages load rather than relying on a sibling to bring
them.

The comment on the dependency is deliberate: nothing in this module imports the
webjar from Java, so it reads as removable unless the reason is written down.

Closes #6634

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@delchev
delchev merged commit fc72128 into master Aug 9, 2026
10 checks passed
@delchev
delchev deleted the fix/monitoring-bpmn-visualization-webjar branch August 9, 2026 14:12
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.

[Monitoring] resources-monitoring does not declare the bpmn-visualization webjar it loads

1 participant