<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 22:23:03 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>[UICR-177] Courses App: Instructor is not removed from a course listing when deleted.</title>
                <link>https://folio-org.atlassian.net/browse/UICR-177</link>
                <project id="10180" key="UICR">ui-courses</project>
                    <description>&lt;p&gt;&lt;b&gt;Overview:&lt;/b&gt; When ** deleting an instructor from a course record, the instructor is not automatically removed from the course upon clicking the trashcan icon. Instead, the screen needs to be refreshed in order for the deletion to be visible.&#160;**&#160;&lt;br/&gt;
&lt;b&gt;Steps to Reproduce:&lt;/b&gt;&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Log into &lt;a href=&quot;https://bugfest-mg.int.aws.folio.org/&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://bugfest-mg.int.aws.folio.org/&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;From the Courses app, open the course named Classification 101&lt;/li&gt;
	&lt;li&gt;Click the trashcan icon to delete the instructor, Melvil Dewey.&lt;/li&gt;
	&lt;li&gt;When the instructor is still listed, click the refresh button in the browser.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&lt;b&gt;Expected Results:&lt;/b&gt; The instructor will be removed from the course.&lt;br/&gt;
&lt;b&gt;Actual Results:&lt;/b&gt; The instructor is still listed in the course. After refreshing the screen, the instructor will no longer be listed.&lt;br/&gt;
&lt;b&gt;Additional Information:&lt;/b&gt; First noticed in training tenant during live training session and replicated in Morning Glory Bugfest&lt;/p&gt;

&lt;p&gt;On MG Bugfest, you can see that the API call&lt;br/&gt;
DELETE &lt;a href=&quot;https://okapi-bugfest-mg.int.aws.folio.org/coursereserves/courselistings/&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://okapi-bugfest-mg.int.aws.folio.org/coursereserves/courselistings/&lt;/a&gt;&lt;/p&gt;
{courselisting}
&lt;p&gt;/instructors/&lt;/p&gt;
{instructorId}
&lt;p&gt;returns a 204 response. The page does not refresh.&lt;/p&gt;

&lt;p&gt;I&apos;m able to replicate both correct and incorrect behavior on the Snapshot environments. I&apos;m &lt;b&gt;not&lt;/b&gt; able to replicate correct behavior on the Snapshot environments with a course that I created, but I am able to replicate it with the one course with instructor assignments that is loaded from the reference data. Here&apos;s an example screencast from Snapshot-2 showing the behavior as expected:  &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;/rest/api/3/attachment/content/60223&quot; title=&quot;snapshot-2-worksasexpected.mp4 attached to UICR-177&quot; data-attachment-type=&quot;file&quot; data-attachment-name=&quot;snapshot-2-worksasexpected.mp4&quot; data-media-services-type=&quot;file&quot; data-media-services-id=&quot;4602c2d7-f626-43d4-a802-fc757169bd99&quot; rel=&quot;noreferrer&quot;&gt;snapshot-2-worksasexpected.mp4&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;

&lt;p&gt;On Snapshot 1, here is an example screencast with a course I created showing the behavior not working as expected:  &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;/rest/api/3/attachment/content/60222&quot; title=&quot;snapshot-1-doesnotworkasexpected.mp4 attached to UICR-177&quot; data-attachment-type=&quot;file&quot; data-attachment-name=&quot;snapshot-1-doesnotworkasexpected.mp4&quot; data-media-services-type=&quot;file&quot; data-media-services-id=&quot;60038d28-742c-4394-ae27-91d70cdecf77&quot; rel=&quot;noreferrer&quot;&gt;snapshot-1-doesnotworkasexpected.mp4&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;

&lt;p&gt;Both screencasts were captured on 1-30-2023.&lt;/p&gt;

&lt;p&gt;URL: &lt;br/&gt;
&lt;b&gt;Interested parties:&lt;/b&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="73228">UICR-177</key>
            <summary>Courses App: Instructor is not removed from a course listing when deleted.</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="10001" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p2.svg">P2</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="5bffed52a1b46046f530c8f7">Mike Taylor</assignee>
                                                                <reporter accountid="634dd3187d4645af4fff95e5">Sarah Johnson</reporter>
                                    <labels>
                            <label>support</label>
                    </labels>
                <created>Tue, 20 Dec 2022 22:16:52 +0000</created>
                <updated>Tue, 29 Aug 2023 14:11:46 +0000</updated>
                            <resolved>Tue, 28 Feb 2023 12:30:33 +0000</resolved>
                                                    <fixVersion>6.0.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                <comments>
                                                            <comment id="177112" author="5af5e627525ba96b58654f12" created="Tue, 3 Jan 2023 14:53:57 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3Af80403de-e149-421e-8750-af45c853402f&quot; class=&quot;user-hover&quot; rel=&quot;557058:f80403de-e149-421e-8750-af45c853402f&quot; data-account-id=&quot;557058:f80403de-e149-421e-8750-af45c853402f&quot; accountid=&quot;557058:f80403de-e149-421e-8750-af45c853402f&quot; rel=&quot;noreferrer&quot;&gt;Charlotte Whitt&lt;/a&gt; There&apos;s no dev team assigned to this bug. Should it be Thor? Please update as needed. Thank you!&lt;/p&gt;</comment>
                                                            <comment id="177113" author="5c48911b54e1e6466b11f38c" created="Wed, 4 Jan 2023 17:44:34 +0000"  >&lt;p&gt;This bug is not present on Snapshot, but it is present on Bugfest-nolana as well as Bugfest-morning glory. Hmmm.&lt;/p&gt;</comment>
                                                            <comment id="177114" author="5c48911b54e1e6466b11f38c" created="Wed, 4 Jan 2023 17:46:53 +0000"  >&lt;p&gt;Actually, I was able to replicate this on Snapshot with a new course, but not with a course loaded as part of reference data...&lt;/p&gt;</comment>
                                                            <comment id="177115" author="5bffed52a1b46046f530c8f7" created="Mon, 27 Feb 2023 16:19:24 +0000"  >&lt;p&gt;Having investigated this a bit, I think the rule is that if there is only one instructor, and no others have been added and deleted, then deleting that instructor does not correctly refresh display. By contrast, if when you enter the course page there are two or more instructors; or if you add one or more instructors before deleting, then the page refreshes as intended when the last one is deleted.&lt;/p&gt;

&lt;p&gt;This is on &lt;a href=&quot;https://bugfest-mg.int.aws.folio.org/&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://bugfest-mg.int.aws.folio.org/&lt;/a&gt;&lt;/p&gt;</comment>
                                                            <comment id="177116" author="5bffed52a1b46046f530c8f7" created="Mon, 27 Feb 2023 17:38:59 +0000"  >&lt;p&gt;I now have some handle on what&apos;s going wrong here.&lt;/p&gt;

&lt;p&gt;When an instructor is deleted, we force a redraw of the page for forcing a re-fetch of the course object (which contains the courseListing object which contains the instructor list). The way we do this is by decrementing the value of a stripes-connect local resource called &lt;tt&gt;instructorCount&lt;/tt&gt;, and then using the as the value of an ignored parameter in the WSAPI call to fetch the course.&lt;/p&gt;

&lt;p&gt;For reasons that I do not yet understand, the initial value of this parameter on entering the page where you can delete instructors is sometimes set to zero. That means that when we reduce the count to the new number of instructors, it gets set to zero, which means it doesn&apos;t change, which means the page doesn&apos;t redraw.&lt;/p&gt;

&lt;p&gt;The real question here is how the initial value gets set to zero.&lt;/p&gt;</comment>
                                                            <comment id="177117" author="5bffed52a1b46046f530c8f7" created="Mon, 27 Feb 2023 17:46:03 +0000"  >&lt;p&gt;And the answer is that there is nothing special about the value 0: that&apos;s just what it gets decremented to when you delete the last instructor in a course, and it never get incremented again.&lt;/p&gt;

&lt;p&gt;You can provoke the same bug as follows: add two instructors to course A, then add two instructors to course B. Delete one of the two instructors, and the &lt;tt&gt;instructorCount&lt;/tt&gt; resource gets set to the number of remaining instructors, i.e. 1. Then go to course A and delete one of the two instructors that it has, and again &lt;tt&gt;instructorCount&lt;/tt&gt; gets set to the correct new count of 1 &#8212; which means it hasn&apos;t changed, and the page doesn&apos;t refresh.&lt;/p&gt;

&lt;p&gt;There are a number of ways this could be fixed.&lt;/p&gt;</comment>
                                                            <comment id="177118" author="5bffed52a1b46046f530c8f7" created="Tue, 28 Feb 2023 12:30:33 +0000"  >&lt;p&gt;I changed the meaning of the cache-defeating unused WSAPI parameter, so that instead of trying and failing to track how many instructors there currently are in the course, it just tracks the total number of deletions that have been performed in session. This works reliably.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="60222" name="snapshot-1-doesnotworkasexpected.mp4" size="2081217" author="5c48911b54e1e6466b11f38c" created="Mon, 30 Jan 2023 14:20:46 +0000"/>
                            <attachment id="60223" name="snapshot-2-worksasexpected.mp4" size="2557352" author="5c48911b54e1e6466b11f38c" created="Mon, 30 Jan 2023 14:19:58 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                        <customfield id="customfield_10107" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Affected Institution</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10388"><![CDATA[!!!ALL!!!]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10119" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Affected releases</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10447"><![CDATA[Nolana (R3 2022)]]></customfieldvalue>
    <customfieldvalue key="10448"><![CDATA[Morning Glory (R2 2022)]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <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="10184"><![CDATA[Thor]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10063" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>PO Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10106" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>RCA Group</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10367"><![CDATA[TBD]]></customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10046" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Release</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10068"><![CDATA[Orchid (R1 2023)  Bug Fix]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1445">Thor - Sprint 159</customfieldvalue>
    <customfieldvalue id="1448">Thor - Sprint 157</customfieldvalue>
    <customfieldvalue id="1449">Thor - Sprint 158</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 3 Jan 2023 14:53:57 +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>