<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic React Mashup Ticketing enigma.js endless loop? in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/React-Mashup-Ticketing-enigma-js-endless-loop/m-p/1971434#M17227</link>
    <description>&lt;P&gt;Hi All&lt;/P&gt;
&lt;P&gt;Trying to get ticketing to work in react, tried converting Stefan's svelte code from here:&amp;nbsp;&lt;A href="https://sstoichev.eu/2021/09/09/qseow-authentication-svelte/" target="_self"&gt;https://sstoichev.eu/2021/09/09/qseow-authentication-svelte/&lt;/A&gt;&amp;nbsp; and this works just fine, but my react conversion gets tickets but then just keeps getting more and more in an endless loop?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;import React, { useState, useEffect } from "react";
import { QlikMashupRMContext } from "../context/qlik-mashup-rm-context";
import enigma from "enigma.js";
import schema from "enigma.js/schemas/12.67.2.json";

const QlikMashupRM = () =&amp;gt; {
  const [qlikTicket, setQlikTicket] = useState();

  const queryParams = new URLSearchParams(window.location.search);

  useEffect(() =&amp;gt; {
    setQlikTicket(queryParams.get("qlikTicket"));
  }, []);

  const qsHost = "wss://qlikinstance";
  const reloadURI = `https://webserver:3000/qlik-rm/`;
 
  let qlikApps = [];

  let qlikTicketString = qlikTicket ? `&amp;amp;QlikTicket=${qlikTicket}` : "";

  const session = enigma.create({
    schema,
    url: `${qsHost}/app/engineData?reloadURI=${encodeURIComponent(
      reloadURI
    )}${qlikTicketString}`,
    createSocket: (url) =&amp;gt; new WebSocket(url),
  });

  session.on("notification:OnAuthenticationInformation", (data) =&amp;gt; {
    if (data.loginUri) window.location.replace(data.loginUri);
  });

  (async function () {
    let global = await session.open();
    qlikApps = await global.getDocList();
    console.log(qlikApps);
    await session.close();
  })();

  return (
    &amp;lt;QlikMashupRMContext.Provider engine={global}&amp;gt;
      &amp;lt;div&amp;gt;
        &amp;lt;h1&amp;gt;Qlik mashup done&amp;lt;/h1&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/QlikMashupRMContext.Provider&amp;gt;
  );
};

export { QlikMashupRM as default };&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 22 Aug 2022 16:59:12 GMT</pubDate>
    <dc:creator>DA1</dc:creator>
    <dc:date>2022-08-22T16:59:12Z</dc:date>
    <item>
      <title>React Mashup Ticketing enigma.js endless loop?</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/React-Mashup-Ticketing-enigma-js-endless-loop/m-p/1971434#M17227</link>
      <description>&lt;P&gt;Hi All&lt;/P&gt;
&lt;P&gt;Trying to get ticketing to work in react, tried converting Stefan's svelte code from here:&amp;nbsp;&lt;A href="https://sstoichev.eu/2021/09/09/qseow-authentication-svelte/" target="_self"&gt;https://sstoichev.eu/2021/09/09/qseow-authentication-svelte/&lt;/A&gt;&amp;nbsp; and this works just fine, but my react conversion gets tickets but then just keeps getting more and more in an endless loop?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;import React, { useState, useEffect } from "react";
import { QlikMashupRMContext } from "../context/qlik-mashup-rm-context";
import enigma from "enigma.js";
import schema from "enigma.js/schemas/12.67.2.json";

const QlikMashupRM = () =&amp;gt; {
  const [qlikTicket, setQlikTicket] = useState();

  const queryParams = new URLSearchParams(window.location.search);

  useEffect(() =&amp;gt; {
    setQlikTicket(queryParams.get("qlikTicket"));
  }, []);

  const qsHost = "wss://qlikinstance";
  const reloadURI = `https://webserver:3000/qlik-rm/`;
 
  let qlikApps = [];

  let qlikTicketString = qlikTicket ? `&amp;amp;QlikTicket=${qlikTicket}` : "";

  const session = enigma.create({
    schema,
    url: `${qsHost}/app/engineData?reloadURI=${encodeURIComponent(
      reloadURI
    )}${qlikTicketString}`,
    createSocket: (url) =&amp;gt; new WebSocket(url),
  });

  session.on("notification:OnAuthenticationInformation", (data) =&amp;gt; {
    if (data.loginUri) window.location.replace(data.loginUri);
  });

  (async function () {
    let global = await session.open();
    qlikApps = await global.getDocList();
    console.log(qlikApps);
    await session.close();
  })();

  return (
    &amp;lt;QlikMashupRMContext.Provider engine={global}&amp;gt;
      &amp;lt;div&amp;gt;
        &amp;lt;h1&amp;gt;Qlik mashup done&amp;lt;/h1&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/QlikMashupRMContext.Provider&amp;gt;
  );
};

export { QlikMashupRM as default };&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 22 Aug 2022 16:59:12 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/React-Mashup-Ticketing-enigma-js-endless-loop/m-p/1971434#M17227</guid>
      <dc:creator>DA1</dc:creator>
      <dc:date>2022-08-22T16:59:12Z</dc:date>
    </item>
  </channel>
</rss>

