Select to view content in your preferred language

Map unable to load after upgrading from ArcGIS Javascript API from version 4.25 to 4.29

2931
11
07-06-2023 11:41 PM
wzence
by
Emerging Contributor

After upgrading to ArcGIS Javascript API 4.26.4, the map on our application is unable to load. It shows a black screen. The error message in the browser console is:

Uncaught (in promise) TypeError: i is not a function
at I.enforceState (RenderingContext.js 5:1)
at I.configure (RenderingContext.js 5:1)
at new I (RenderingContext.js 5:1)
at new P (Stage.js: 5:1)
at p._startup (MapView.js 5:1)
at View.js: 5:1
at u (reactiveUtils.js: 5:1)
at watch.js: 5:1
at s (trackingUtils.js:5:1)
at c (trackingUtils.js:5:1)
at s [as _notify] (trackingUtils.js:5:1)
at s.onCommitted (SimpleTrackingTarget.js:5:1)
at l.onCommitted (Property.js:5:1)
at l.onCommitted (Property.js:5:1)
at l.onCommitted (Property.js:5:1)
at l.onCommitted (Property.js:5:1)
at a.commit (Property.js:5:1)
at O.setAtOrigin (Property.js:5:1)
at O._internalSet (Property.js:5:1)
at O.internalSet (Property.js:5:1)
at p._set (Accessor.js:5:1)
at Loadable.js:5:1

The ArcGIS server we are using is ArcGIS enterprise version 10.41. We are not using knowledgeGraphService in our application, so not sure if it is necessary to upgrade the server to enterprise version 11.1 as mentioned in the breaking changes.


0 Kudos
11 Replies
wzence
by
Emerging Contributor

Hi,

Just to share, after upgrading to ArcGIS v4.26.4 from v4.25.5, and then I just replace the 'RenderingContext.js' file found in @ArcGIS/core/views/webgl from the old version (v4.25.5), the map will be able to load without changing my code.

I'm not sure what is the difference in RenderingContext.js in v4.26.4 that cause the map not able to load.

wzence
by
Emerging Contributor

Just an update. In order for the map to load in v4.27, I will need to manually modify what seems to be a bug in @ArcGIS/core/views/webgl/RenderingContext.js.

Details of the change I made in RenderingContext.js:

I need to pass in the object "r" to the function configure(e,r) when in turn call enforceState(r) which has the following line of code in the function:

this.type === r.WEGL2 && e.bindTexture(R.TEXTURE_3D, null)

The "r" in "r.WEGL2" is somehow undefined if it is not passed in from configure() to enforeState()

0 Kudos