Skuid 11.1.13 Picklist Bug with Special Characters

Dan BoudreauDan Boudreau ✭✭✭
edited February 25, 2019 in Questions
Hey team,

We're on the Skuid 11.1.13 for Salesforce and oops--some of our picklists are now broken which were working in all prior versions including 11.1.11.

The issue appears to be with special characters such as an ampersand (&) being in the picklist. These are showing up blank to the users in Skuid however when they save it looks like they're not being encoded properly so they show up as "&".

Example: "Joint & Several" picklist is blank in Skuid, when saved becomes "Joint & Several" in the database.

Help me Skuid community, you're my only hope! :)

Thank you,

Dan

Comments

  • edited May 17, 2018
    Hi Dan,

    By chance are you using our Field Renderer APIs found here: https://docs.skuid.com/v11.1.13/en/skuid/api/skuid_ui.html?#skuid.ui.fieldRenderers?

    Thank you,

    Josh
  • Dan BoudreauDan Boudreau ✭✭✭
    edited May 17, 2018
    Hey Josh,

    I'm not using a custom render or Javascript to display these fields if that's what you're asking. All of my fields are set with a Field Renderer option of "Standard".

    image

    Thank you,

    Dan
  • Dan BoudreauDan Boudreau ✭✭✭
    edited May 18, 2018
    Update: 11.1.13 also breaks my picklists with an apostrophe too. These are showing up as blank along with the ampersand scenario.

    This is pretty negatively impacting our business right now :(
  • Dan BoudreauDan Boudreau ✭✭✭
    edited May 18, 2018
    Still broken if I change from Standard render to custom. Tested further and changed from Standard render to custom using the following; all of which also produce the same bad picklists:

    SUPER OLD:

    skuid.ui.renderers['PICKLIST']['edit'](field, value);

    OLD:

    skuid.ui.fieldRenderers['PICKLIST']['edit'](field, value);

    NEW:

    skuid.ui.getFieldRenderer['PICKLIST'].edit(field, value);
  • Dan BoudreauDan Boudreau ✭✭✭
    edited May 18, 2018
    Temporary Workaround

    Create a custom render with the following snippet:

    var $ = skuid.$;
    var field = arguments[0];
    var value = skuid.utils.decodeHTML(arguments[1]);

    skuid.ui.getFieldRenderer(field.metadata.displaytype)[field.mode](field, skuid.utils.decodeHTML(value));

    Change your fields from Standard render to Custom and select whatever you name your snippet. I called mine 'htmlEscapeRender'.

    Skuid team--please fix in a maintenance release!
  • edited May 18, 2018
    Hi Dan,

    Thank you for the added testing you did here. I also did some testing in a Dev Org of mine, running 11.1.1, and for some reason I cannot replicate the behavior you are seeing in my test page.

    I'm curious if you could possibly try to create a really simple page in Skuid that brings in a field editor, table, etc to look at the picklist that is rendering oddly to see if the issue exists on that simpler page? If the issue persists there as well, I'd love to take a deeper look at the page XML for the simple page to see if the issue can be reproduced in my Org.

    Thank you,

    Josh
  • Dan BoudreauDan Boudreau ✭✭✭
    edited May 18, 2018
    Josh, reminder... I'm on 11.1.13 -- which is where the break started. Previously 11.1.11 worked fine. Even my temp fix kind of sucks it's not 100%.

    Long story short, Skuid isn't decoding some special characters in HTML properly starting with 11.1.13.
  • edited May 18, 2018
    Dan,

    Apologies, that was a typo on my part! I meant to pass along that my Org is in 11.1.13 regarding the tests I've done so far. If you could try a very simple page as mentioned above that would be very helpful for me to proceed with digging a bit deeper here.

    Thanks,

    Josh
  • Dan BoudreauDan Boudreau ✭✭✭
    edited June 15, 2018
    Here's a test you can recreate pretty easily:

    1. Go to the standard Account object and create two new picklist fields:


    Test_Picklist_1__c
    Values:
    A
    B
    A & B

    Test_Picklist_2__c
    Values:
    Do
    Don't

    2. Create a Skuid page with this XML:

    <skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" useviewportmeta="true" showheader="true" theme="Lightning Design" globalfeedbackenabled="false">
        <models>
            <model id="Account" limit="1" query="true" createrowifnonefound="false" datasource="salesforce" sobject="Account">
                <fields>
                    <field id="RecordTypeId"/>
                    <field id="Id"/>
                    <field id="Test_Picklist_1__c"/>
                    <field id="Test_Picklist_2__c"/>
                </fields>
                <conditions>
                    <condition type="param" value="id" field="Id" operator="=" enclosevalueinquotes="true" novaluebehavior="noquery"/>
                </conditions>
                <actions/>
            </model>
        </models>
        <components>
            <basicfieldeditor showheader="true" showsavecancel="true" showerrorsinline="true" model="Account" uniqueid="sk-23K6-246" mode="edit">
                <columns>
                    <column width="50%">
                        <sections>
                            <section title="Ampersand Test" collapsible="no">
                                <fields>
                                    <field uniqueid="sk-23K6-300" id="Test_Picklist_1__c"/>
                                </fields>
                            </section>
                        </sections>
                    </column>
                    <column width="50%">
                        <sections>
                            <section title="Apostrophe Test" collapsible="no">
                                <fields>
                                    <field uniqueid="sk-23Ky-278" id="Test_Picklist_2__c"/>
                                </fields>
                            </section>
                        </sections>
                    </column>
                </columns>
            </basicfieldeditor>
        </components>
        <resources>
            <labels/>
            <javascript/>
            <css/>
            <actionsequences uniqueid="sk-23IZ-228"/>
        </resources>
        <styles>
            <styleitem type="background" bgtype="none"/>
        </styles>
    </skuidpage>

    Results:

    Both picklists are showing up incorrectly as seen below:

    image

    image

    Changing themes, caching, etc. had no influence on it as best I could tell.

    Thank you,

    Dan
  • edited May 21, 2018
    Hi again Dan,

    This is really strange, I still don't see the issue happening in my Org. My tests thus far have all been done in Chrome, are you perhaps in another browser when this occurs? I am doubting that this would be a cause, but I'd like to rule it out to be safe.

    Thanks,

    Josh
  • Dan BoudreauDan Boudreau ✭✭✭
    edited May 22, 2018
    Josh, I'm using the latest version of 64-bit Chrome however we have a variety of around 100 users who are reporting picklist problems. They're using anything from IE11 (yuck), Edge and/or Chrome. Chrome is the one I recommend of course! :)

    Browser Snapshot:

    image

    As noted before this definitely started after I upgraded to 11.1.13 -- I did minor regression testing to ensure pages worked but obviously this wasn't caught :(
  • Dan BoudreauDan Boudreau ✭✭✭
    edited May 22, 2018
    Can we get this escalated, please?

    I'm continuing to get new reports of breakage across our business. This is causing an extreme amount of frustration for my users who are reporting anything from missing to broken picklist values.
  • edited May 22, 2018
    Hi Dan,

    I am going to be reaching out to you directly to try and take a deeper look at this in your Org. I'll be in touch shortly!

    Thanks,

    Josh
  • edited May 25, 2018
    This reply was created from a merged topic originally titled Ui- Only Picklist. We have several pages built in Skuid that utilize Ui-Only fields. Since upgrading to Millau (11.1.13) these picklists are all rendering blank. 

    This is causing a lot of issues for us as we uses these on pages that get a ton of daily traffic and those fields are essential to the page.

    Any ideas what is causing them to load empty?

    Thanks,
    Adam
  • edited February 25, 2019
    We have upgraded our Production org today to 11.1.13 and have the same issue.  A  salesforce picklist a value of "PrePaid > $2,500" is not showing up to the user - they render as blank choices.  If you pick the blank value where this value should be, it saves it as "PrePaid &gt; $2,500".

    Blank values in this list all contain special characters.  But selecting them and saving will actually save a value to the record, just incorrect with the special characters.

    image

  • edited June 8, 2018
    Chandra,
    I find that if you remove the special characters from the API name of the picklist value the issue goes away after a browser close and restart.

    So I changed:
    Label: PrePaid > $750
    API: PrePaid > $750

    To:
    Label: PrePaid > $750
    API: PrePaid 750

    And the issue goes away.
    image

    Daniel


  • edited June 21, 2018
    We are also experiencing this issue as well. Eliminating all special characters from picklist values is not an option. This need to be repaired by Skuid.
  • edited February 25, 2019
    Can we get an update on this issue?  This is still a problem for us, even though we updated the API name to make the picklist choices show up.  The field value labels still have (and need) the special characters, and the user side is still showing the improper encoding.

    This was discovered by our customers because we send quote documents out that are sourced from a skuid page, and they are seeing things like "PrePaid &gt; $2,500" on their quote proposal, instead of "PrePaid > $2,500"


  • Dan BoudreauDan Boudreau ✭✭✭
    edited July 12, 2018
    Hi Chandra,

    This was fixed for me in 11.2.2 -- I'm not sure if you're on that version but I tested in my sandbox and then deployed to production once confirmed! :)

    Best of luck!

    Dan
  • edited February 25, 2019
    Hi Chandra and others on this thread,

    It looks like this issue should have been resolved in versions 11.2.2 of Skuid. If you have a non-mission critical sandbox where you could test and let us know if the issue still persists after that version, it would be quite helpful for us to communicate that back to the developers internally.

    Thank you,

    Josh
  • edited July 12, 2018
    Good to know!  I checked the release notes, but didn't see a match to this one.  We are holding off upgrading due to this theme issue:
    https://community.skuid.com/skuid/topics/help-theme-update-not-working-millau-11-2

    Do you know the status of it?
  • edited August 29, 2018
    We are experiencing same issue, on table filters am using aggregate model to build the table filter, but the values on the dropdown shows unescaped chars. 


  • edited August 27, 2018
    What version of Skuid are you currently running?
  • edited August 27, 2018
    We are currently on 11.0.2
  • edited August 29, 2018
    Hi Team,

    Can i know if this will be fixed, this is annoying our end users.
  • DMCDMC
    edited August 31, 2018
    Hi Praveen - please see the threads above, this was fixed in 11.2.2.  Thank you! 
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!