Skuid 11.1.13 Picklist Bug with Special Characters
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
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
Tagged:
8
Categories
- 7.9K Questions
- 926 Ideas
- 220 Discussion Categories
- 178 General
- 9 Community Feedback
- 3 Community Info
- 18 Knowledge Base
Comments
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
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".
Thank you,
Dan
This is pretty negatively impacting our business right now
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);
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!
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
Long story short, Skuid isn't decoding some special characters in HTML properly starting with 11.1.13.
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
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:
Changing themes, caching, etc. had no influence on it as best I could tell.
Thank you,
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
Browser Snapshot:
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
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.
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
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
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.
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.
Daniel
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 > $2,500" on their quote proposal, instead of "PrePaid > $2,500"
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
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
https://community.skuid.com/skuid/topics/help-theme-update-not-working-millau-11-2
Do you know the status of it?
Can i know if this will be fixed, this is annoying our end users.