<!-- 
RSS generated by JIRA (8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b) at Sat Feb 10 16:24:26 JST 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 append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>PFS-JIRA</title>
    <link>https://pfspipe.ipmu.jp/jira</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.3.4</version>
        <build-number>803005</build-number>
        <build-date>13-09-2019</build-date>
    </build-info>


<item>
            <title>[INSTRM-383] String keywords not always escaped in a way which can be predictably unescaped. </title>
                <link>https://pfspipe.ipmu.jp/jira/browse/INSTRM-383</link>
                <project id="10300" key="INSTRM">Instrument control development</project>
                    <description>&lt;p&gt;Transferring headers from &lt;tt&gt;gen2Actor&lt;/tt&gt; has uncovered an old mistake. The symptom is that only one of:&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-python&quot;&gt;
  header1 = r&lt;span class=&quot;code-quote&quot;&gt;&quot;&quot;&quot;OBSERVER = &lt;span class=&quot;code-quote&quot;&gt;&apos;&quot;&lt;/span&gt;Name, Other Name&lt;span class=&quot;code-quote&quot;&gt;&quot;&apos;&lt;/span&gt; / double-quoted&quot;&lt;/span&gt;&quot;&quot;
  header2 = r&lt;span class=&quot;code-quote&quot;&gt;&quot;&quot;&quot;OBSERVER = &lt;span class=&quot;code-quote&quot;&gt;&apos;Name&apos;&lt;/span&gt; / Not double-quoted&quot;&lt;/span&gt;&quot;&quot;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;can make it through from one of:&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-python&quot;&gt;
  cmd.inform(&lt;span class=&quot;code-quote&quot;&gt;&apos;header=%s&apos;&lt;/span&gt; % (header))
  cmd.inform(&lt;span class=&quot;code-quote&quot;&gt;&apos;header=%s&apos;&lt;/span&gt; % (&lt;span class=&quot;code-object&quot;&gt;repr&lt;/span&gt;(header)))
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;to an identical string at the listener:&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-python&quot;&gt;
  header = &lt;span class=&quot;code-keyword&quot;&gt;self&lt;/span&gt;.actor.models[&lt;span class=&quot;code-quote&quot;&gt;&apos;gen2&apos;&lt;/span&gt;][&lt;span class=&quot;code-quote&quot;&gt;&apos;header&apos;&lt;/span&gt;].values[0]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I believe that the issue boils down to a pre-SDSS choice not to internally use &lt;tt&gt;repr&lt;/tt&gt; to encode a string (because it does too much and makes strings ugly), but not fixing the decoding when SDSS switched to the &lt;tt&gt;opscore&lt;/tt&gt; parser. Basically:&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-python&quot;&gt;
&lt;span class=&quot;code-keyword&quot;&gt;from&lt;/span&gt; opscore.utility.qstr &lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; qstr

s = &lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-object&quot;&gt;any&lt;/span&gt; horrible thing&quot;&lt;/span&gt;

&lt;span class=&quot;code-comment&quot;&gt;# OK
&lt;/span&gt;&lt;span class=&quot;code-object&quot;&gt;eval&lt;/span&gt;(&lt;span class=&quot;code-object&quot;&gt;repr&lt;/span&gt;(s) == s &lt;span class=&quot;code-comment&quot;&gt;# By definition
&lt;/span&gt;
&lt;span class=&quot;code-comment&quot;&gt;# Not OK
&lt;/span&gt;&lt;span class=&quot;code-object&quot;&gt;eval&lt;/span&gt;(qstr(&lt;span class=&quot;code-object&quot;&gt;repr&lt;/span&gt;(s)) != s &lt;span class=&quot;code-comment&quot;&gt;# double-quotes get an additional escaping.
&lt;/span&gt;qstr(s) != s   &lt;span class=&quot;code-comment&quot;&gt;# Of course &lt;span class=&quot;code-keyword&quot;&gt;not&lt;/span&gt;.&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


</description>
                <environment></environment>
        <key id="12412">INSTRM-383</key>
            <summary>String keywords not always escaped in a way which can be predictably unescaped. </summary>
                <type id="1" iconUrl="https://pfspipe.ipmu.jp/jira/secure/viewavatar?size=xsmall&amp;avatarId=10503&amp;avatarType=issuetype">Bug</type>
                                            <priority id="10000" iconUrl="https://pfspipe.ipmu.jp/jira/images/icons/priorities/medium.svg">Normal</priority>
                        <status id="1" iconUrl="https://pfspipe.ipmu.jp/jira/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="cloomis">cloomis</assignee>
                                    <reporter username="cloomis">cloomis</reporter>
                        <labels>
                    </labels>
                <created>Mon, 11 Jun 2018 14:23:54 +0000</created>
                <updated>Tue, 12 Jun 2018 16:12:28 +0000</updated>
                                                                            <component>tron_actorcore</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                        <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10500" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|ii057r:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>