Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik GA: Multivariate Time Series in Qlik Predict: Get Details
cancel
Showing results for 
Search instead for 
Did you mean: 
amj
Contributor II
Contributor II

Migrating from Capabilities API to qlik-embed in Angular 19 Mashup – WebSocket Management Concerns

Hi everyone,

I'm currently developing a mashup using Angular 19 and Qlik Sense, and I'm considering whether it's worth migrating from the Capabilities API to the newer qlik-embed approach.

While qlik-embed seems more modern and better aligned with Angular's component-based architecture, there are still a few unclear aspects—particularly around WebSocket management and error handling.

With the Capabilities API:

  • I can manually manage WebSocket connections (e.g., close them when switching between apps).

  • I can also intercept server-side errors sent over WebSocket and handle them in the frontend.

My questions are:

  1. How does qlik-embed manage WebSocket connections when switching between apps? Are connections to previously opened apps automatically closed or do they persist?

  2. Is there any mechanism for intercepting and handling WebSocket-level errors (like server timeouts or invalid objects) when using qlik-embed, similar to what the Capabilities API allows?

I'd appreciate any insights or official guidance on how these scenarios are handled with qlik-embed. Thanks in advance!

Labels (2)
1 Solution

Accepted Solutions
alex_colombo
Employee
Employee

Hey @amj ,qlik-embed is responsible for render visualizations, and of course, all the apps connected to the visualizations rendered. When qlik-embed component unmounts from the page it will handle all "closing" itself about visualizations.

For managing websockets you should use @qlik/api or enigma.js, with that you can also intercelt websocket errors and other events.

Using both qlik-embed and @qlik/api is the reccommend approach. Per our docs "@qlik/api/qix will re-use existing WebSocket sessions if they are found. It also integrates seamlessly with @qlik/embed libraries and will hook into any WebSocket session already opened by any @qlik/embed library".

View solution in original post

1 Reply
alex_colombo
Employee
Employee

Hey @amj ,qlik-embed is responsible for render visualizations, and of course, all the apps connected to the visualizations rendered. When qlik-embed component unmounts from the page it will handle all "closing" itself about visualizations.

For managing websockets you should use @qlik/api or enigma.js, with that you can also intercelt websocket errors and other events.

Using both qlik-embed and @qlik/api is the reccommend approach. Per our docs "@qlik/api/qix will re-use existing WebSocket sessions if they are found. It also integrates seamlessly with @qlik/embed libraries and will hook into any WebSocket session already opened by any @qlik/embed library".