<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:20:36 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>FOLIO Jira</title>
    <link>https://folio-org.atlassian.net</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>1001.0.0-SNAPSHOT</version>
        <build-number>100246</build-number>
        <build-date>07-02-2024</build-date>
    </build-info>

<item>
            <title>[FOLIO-2433] in dev-mode, react has a memory leak</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-2433</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;We run CI tests with React in dev-mode, but &lt;a href=&quot;https://github.com/facebook/react/issues/12141#issuecomment-385536273&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;React leaks event listeners in dev-mode&lt;/a&gt;. This is likely a contributing factor to the unit tests that randomly fail in ui-users. &lt;/p&gt;

&lt;p&gt;Our unit test interactors lean heavily on selectors for &lt;tt&gt;data-test-*&lt;/tt&gt; attributes which are stripped out when we generate a bundle in production-mode. We should investigate whether it is possible to generate a bundle with React in production-mode but with stripes in dev-mode so we can keep those attributes. &lt;/p&gt;</description>
                <environment></environment>
        <key id="81526">FOLIO-2433</key>
            <summary>in dev-mode, react has a memory leak</summary>
                <type id="10001" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium">Bug</type>
                                            <priority id="10002" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p3.svg">P3</priority>
                        <status id="6" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10003">Done</resolution>
                                                        <assignee accountid="557058:b5c00130-8516-454c-acae-335db2b62fd8">Ryan Berger</assignee>
                                                                <reporter accountid="615afd1cd9820f0070a09ef0">Zak Burke</reporter>
                                    <labels>
                    </labels>
                <created>Thu, 23 Jan 2020 17:42:36 +0000</created>
                <updated>Thu, 22 Oct 2020 20:44:43 +0000</updated>
                            <resolved>Wed, 29 Apr 2020 16:25:17 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                <comments>
                                                            <comment id="194578" author="615afd1cd9820f0070a09ef0" created="Thu, 23 Jan 2020 19:12:51 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5f9abc1eb45b2e007453f423&quot; class=&quot;user-hover&quot; rel=&quot;5f9abc1eb45b2e007453f423&quot; data-account-id=&quot;5f9abc1eb45b2e007453f423&quot; accountid=&quot;5f9abc1eb45b2e007453f423&quot; rel=&quot;noreferrer&quot;&gt;John Malconian&lt;/a&gt;, do you know if/how we can configure our builds when running unit tests in CI so that we keep the &lt;tt&gt;data-test-*&lt;/tt&gt; attributes and use React in production mode? I don&apos;t know what step in our process drives the stripping of those attributes. IIRC React relies on &lt;tt&gt;NODE_ENV=production&lt;/tt&gt;. &lt;/p&gt;</comment>
                                                            <comment id="194581" author="615afd1cd9820f0070a09ef0" created="Tue, 11 Feb 2020 17:54:50 +0000"  >&lt;p&gt;WRT &lt;tt&gt;data-test-*&lt;/tt&gt; attributes, it looks like those are stripped depending on the environment via instructions in the &lt;a href=&quot;https://github.com/folio-org/stripes-core/blob/ac2cbfd04673e5be0190595d5d3134ac2c1c729a/webpack.config.cli.prod.js#L86&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;tt&gt;webpack.config.cli.$ENV.js&lt;/tt&gt;&lt;/a&gt; file: &lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
babelLoaderConfig.options.plugins = (babelLoaderConfig.options.plugins || []).concat([
  [require.resolve(&lt;span class=&quot;code-quote&quot;&gt;&apos;babel-plugin-remove-jsx-attributes&apos;&lt;/span&gt;), {
    patterns: [&lt;span class=&quot;code-quote&quot;&gt;&apos;^data-test.*$&apos;&lt;/span&gt;]
  }]
]);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If we create a &lt;tt&gt;webpack.config.cli.test.js&lt;/tt&gt; config that puts React in production mode but leaves the &lt;tt&gt;data-test-*&lt;/tt&gt; attributes alone and &lt;a href=&quot;https://github.com/folio-org/stripes-cli/blob/6eb250daf289f38fecaff0be0bba7f13dc55b7bf/lib/test/webpack-config.js#L9-L10&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;configure &lt;tt&gt;stripes-cli&lt;/tt&gt; to use it&lt;/a&gt; I think we might be in good shape. &lt;/p&gt;</comment>
                                                            <comment id="194583" author="615afd1cd9820f0070a09ef0" created="Tue, 11 Feb 2020 19:28:18 +0000"  >&lt;p&gt;Of course it isn&apos;t that easy. Tests fail when run like this:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
NODE_ENV=production yarn test
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;We can set &lt;tt&gt;mode: &apos;production&apos;&lt;/tt&gt; in the webpack config, but it isn&apos;t clear to me how &lt;tt&gt;mode: &apos;production&apos;&lt;/tt&gt; and &lt;tt&gt;NODE_ENV=&apos;production&apos;&lt;/tt&gt; interact as the browser console fills with warnings, suggesting React is not, in fact, in production mode. &lt;/p&gt;</comment>
                                                            <comment id="194586" author="557058:b5c00130-8516-454c-acae-335db2b62fd8" created="Wed, 15 Apr 2020 13:48:40 +0000"  >&lt;p&gt;After running `ui-users` tests (v3.0.0 tag) in Jenkins with the new `--bundle` flag to force production mode the tests have stabilized significantly. I do think that even though this is helping memory, there are still issues to be corrected and as more tests are added we will eventually run into this problem again. &lt;/p&gt;

&lt;p&gt;I do recommend using this path to re-enable the tests and fix any tests in master that have broken since v3.0.0. But, we should also be looking at other ways to address memory leaks. One such suggestion came from &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=615afd1cd9820f0070a09ef0&quot; class=&quot;user-hover&quot; rel=&quot;615afd1cd9820f0070a09ef0&quot; data-account-id=&quot;615afd1cd9820f0070a09ef0&quot; accountid=&quot;615afd1cd9820f0070a09ef0&quot; rel=&quot;noreferrer&quot;&gt;Zak Burke&lt;/a&gt; who mentioned that in BigTest2 they will be running tests in frames so that the frame can be disposed of after test completion to allow for the browser to do garbage collection. We could consider looking into possibly adopting that in our current BigTest implementation.&lt;/p&gt;</comment>
                                                            <comment id="194591" author="557058:b5c00130-8516-454c-acae-335db2b62fd8" created="Wed, 22 Apr 2020 13:25:14 +0000"  >&lt;p&gt;Merged into ui-users. Master is now &quot;mostly&quot; stable. Certainly passing at a much higher rate than before. Closing this ticket as the primary objective has been completed and other memory investigations will be tracked separately.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10002">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="71348">STCLI-113</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="45435">UIU-1567</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="45434">UIU-1566</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="81305">FOLIO-2097</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="55159">STCOM-636</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10057" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Development Team</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10183"><![CDATA[Stripes Force]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i00mm7:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="132">stripes-force 85</customfieldvalue>
    <customfieldvalue id="133">stripes-force 86</customfieldvalue>
    <customfieldvalue id="134">stripes-force 87</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 15 Apr 2020 13:48:40 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10025" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>[CHART] Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>