UI Only Picklist Snippet Source Fires the Snippet Twice on Page Load

Defect/Issue Description:
I started to notice a defect for UI Picklists that pull their source from snippets. I believe this may have been introduced in the Dubai Update? I was able to reliably reproduce this on any UI only picklist with source with a snippet. If the snippet just contains a console.log(“test”) message, it will fire that snippet twice when the skuid page is rendered. This is particularly a problem if we are using a fetch or API request to source the Picklist and return it as an array. The fetch request fires twice.

I was able to workaround this issue by making the snippet inline (fire on page render) that creates rows in a model that then the UI Only Picklist values.

*Environment: Sandbox

  • API Version: v2
  • Release: Dubai Update 2
  • Release version: 15.2.4.0
  • Platform: SFX

Brief Summary of the Defect/Issue:

Adding a UI Only Picklist that is sourced by a snippet; fires that snippet twice when the page loads.

Action Performed:
Load skuid page and review dev tools & console.

Expected Result:
The snippet should only fire once and display “test” only once.

Actual Result:
The snippet fires twice which causes issues if we are making callouts to other resources to populate the picklist.

Additional Resources:
Page XML below:

<skuid__page unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" showheader="true">
	<models>
		<model id="TestModel" limit="20" query="true" createrowifnonefound="true" datasource="Ui-Only">
			<fields>
				<field id="TestPickList" displaytype="PICKLIST" length="255" ogdisplaytype="TEXT" picklistsource="snippet" returntype="TEXT" snippet="newSnippet"/>
			</fields>
			<conditions/>
			<actions/>
		</model>
	</models>
	<components/>
	<resources>
		<labels/>
		<javascript>
			<jsitem location="inlinesnippet" name="newSnippet" cachelocation="false">console.log("test");</jsitem>
		</javascript>
		<css/>
		<actionsequences/>
	</resources>
	<styles>
		<styleitem type="background" bgtype="none"/>
	</styles>
</skuid__page>

Hey @Steptornetta thanks for the write-up. I was able to reproduce this behavior and will bring it to the attention of the product team. Thanks for helping make Skuid better!

1 Like

@Steptornetta can you share more about how this issue impacts you?

  • How many pages are affected?
  • Are these pages live to end users yet? If not, what’s your target deployment date?

@Anna_Wiersema - Sure!

  • How many pages are affected?
  1. One page is affected at the moment. It will be affecting two once I finish building out the workflow for the second page.
  • Are these pages live to end users yet? If not, what’s your target deployment date?
  1. The page(s) are only live to a test group. We will be going live with them towards the end of November (~11/21) target. As I mentioned, I did switch over to the workaround of changing the script to an inline script that populates a row in a model that is used to source the picklist. I can go live with this as a workaround.

Thanks,

1 Like