Skip to content

NXT-4596: Add BrowserService interface and OSGi service tracker#135

Open
hornm-knime wants to merge 2 commits intomasterfrom
todo/NXT-4596-move-equo-chromium-out-of-the-executor
Open

NXT-4596: Add BrowserService interface and OSGi service tracker#135
hornm-knime wants to merge 2 commits intomasterfrom
todo/NXT-4596-move-equo-chromium-out-of-the-executor

Conversation

@hornm-knime
Copy link
Copy Markdown
Contributor

NXT-4596 (Move Equo Chromium out of the Executor)

@hornm-knime hornm-knime requested a review from a team as a code owner March 19, 2026 12:20
@hornm-knime hornm-knime requested review from Copilot and knime-ghub-bot and removed request for a team March 19, 2026 12:20
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Introduces an OSGi-discoverable BrowserService API in org.knime.core.ui to generate static artifacts (images/reports/PDF) via a headless browser, supporting the effort to move Equo Chromium usage out of the Executor.

Changes:

  • Add new BrowserService interface for headless rendering/printing and a convenience BrowserService.get() lookup.
  • Track BrowserService via an OSGi ServiceTracker in CoreUIPlugin and expose it through CoreUIPlugin.getBrowserService().
  • Export new internal package org.knime.core.webui.browser from the bundle.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
org.knime.core.ui/src/eclipse/org/knime/core/webui/browser/BrowserService.java Adds the BrowserService API for rendering images/reports and printing PDFs, plus a static lookup helper.
org.knime.core.ui/src/eclipse/org/knime/core/ui/CoreUIPlugin.java Adds a ServiceTracker and static accessor for retrieving the active BrowserService.
org.knime.core.ui/META-INF/MANIFEST.MF Exports the new internal browser package so it can be referenced within the platform.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

* @since 5.12
*/
public static Optional<BrowserService> getBrowserService() {
return Optional.ofNullable(instance.m_browserServiceTracker).map(ServiceTracker::getService);
Comment on lines 80 to +83
public void stop(final BundleContext context) throws Exception {
//
m_browserServiceTracker.close();
m_browserServiceTracker = null;
instance = null;
@hornm-knime hornm-knime force-pushed the todo/NXT-4596-move-equo-chromium-out-of-the-executor branch from 7f195fc to c01e2ca Compare March 26, 2026 15:35
@hornm-knime hornm-knime force-pushed the todo/NXT-4596-move-equo-chromium-out-of-the-executor branch 2 times, most recently from 2a1ade0 to f48ae8c Compare April 16, 2026 13:28
@hornm-knime hornm-knime force-pushed the todo/NXT-4596-move-equo-chromium-out-of-the-executor branch from f48ae8c to a05ffed Compare April 17, 2026 14:45
@hornm-knime hornm-knime requested a review from a team as a code owner April 17, 2026 14:45
@github-advanced-security
Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 85%)

See analysis details on SonarQube Cloud

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.

3 participants