Visitar URL original
Cloud worker injects its own older @thatopen/services, so ClashesManager and the built-ins are missing in Cloud Components · Issue #66 · ThatOpen/platform_services · GitHub
Skip to content

Cloud worker injects its own older @thatopen/services, so ClashesManager and the built-ins are missing in Cloud Components #66

Open

Description

@helenkwok

Summary

Inside a Cloud Component, @thatopen/services resolves to the worker's own build, whatever version the component was built against (the template externalizes @thatopen/services). On 2026-10-11, with a component built against 0.19.0, require('@thatopen/services') in the cloud returned 10 exports: AppManager, EngineServicesClient, FileList, HelloWorld, METADATA_LIMITS, PlatformClient, RequestError, TabbedNavigation, UIManager, ViewportsManager. No ClashesManager and none of the newer built-in managers. The injected thatOpenServices client has the item, folder and component methods.

Reproduce

const main = async () => {
  const exportsList = Object.keys(require('@thatopen/services'));
  executionReporter.message(`exports=${exportsList.join(',')}`);
  executionReporter.message(`ClashesManager present=${exportsList.includes('ClashesManager')}`);
  return { type: 'SUCCESS', message: 'done' };
};

In the cloud: ClashesManager present=false. Under thatopen run the component gets the version installed in its project.

Impact

Code that works locally (or in an app) against the documented 0.19.0 API fails in the cloud, e.g. reading clash results from a component. We moved that work into the app and pass the results to components as JSON files.

Question

Is the worker meant to track the published @thatopen/services, or should components bundle it (and the template stop externalizing it)? Either way, a note in the cloud-component README about which version the worker provides would help.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions