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

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
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".