ID:1923088
 
Resolved
Areas were sometimes deleted from the client prematurely.
BYOND Version:508.1297
Operating System:Windows 7 Pro 64-bit
Web Browser:Chrome 44.0.2403.157
Applies to:Webclient
Status: Resolved (508.1299)

This issue has been resolved.
Descriptive Problem Summary:

At completely random points in time (I've seen it happen most often when the player or nearby players are teleporting, but it also happens when just normally moving) the client's screen will break and cease to respond. I've not been able to discover what exactly causes the issue, and can't consistently reproduce it.

When the screen does break, however, the following Javascript error is generated:

Uncaught Uncaught Error: NullError: Cannot call "gzs" on null
Stack Trace:
TypeError: Cannot read property 'gzs' of undefined
at qx.X4 (http://74.91.127.229:5000/res/webclient.dart.js:6428:36)
at xO.$1 (http://74.91.127.229:5000/res/webclient.dart.js:6790:5)
at Q.aN (http://74.91.127.229:5000/res/webclient.dart.js:9955:20)
at qx.L5 (http://74.91.127.229:5000/res/webclient.dart.js:6304:10)
at Pq.tS (http://74.91.127.229:5000/res/webclient.dart.js:5099:17)
at Pq.qc (http://74.91.127.229:5000/res/webclient.dart.js:5108:27)
at Jz.$0 (http://74.91.127.229:5000/res/webclient.dart.js:5202:29)
at Z5.$0 (http://74.91.127.229:5000/res/webclient.dart.js:12494:14)
at Av.$0 (http://74.91.127.229:5000/res/webclient.dart.js:10859:8)
at dr.$0 (http://74.91.127.229:5000/res/webclient.dart.js:11567:29)


Only the map breaks, because the player is still connected and can move/interact with things in the game. The map will just stop responding.

[Pic]
Maybe I should see about getting you a non-obfuscated webclient.dart.js file. That would probably help a lot when it comes to diagnosing errors. Probably I should simply distribute it that way.
That would be appreciated. Although un-obfuscated, players would have slightly longer download times probably. Maybe you could internally package both obfuscated and unobfuscated versions of the code? Whichever one is served to players could be toggled via #define DEBUG or what have you.
Because this is hard to trace through the minified code, I'm now releasing the webclient with non-minified code. The webclient.dart.js file is bigger, but IMO this won't impact players very much because it gets gzipped when the server delivers it.

Please retest in 1298 and share any issues you find as usual. If you see the map crash again, the debug info from that will be very helpful. I consider this the last big hurdle before 509.
Alright, finally got an error:

Uncaught Uncaught Error: NullError: Cannot call "get$mapicons" on null
Stack Trace:
TypeError: Cannot read property 'get$mapicons' of undefined
at ByondMap.dart.ByondMap.copyMapAtoms$3 (http://74.91.127.229:5000/res/webclient.dart.js:9536:33)
at ByondMap_doAtoms_closure.dart.ByondMap_doAtoms_closure.call$1 (http://74.91.127.229:5000/res/webclient.dart.js:10203:14)
at JSArray.dart.JSArray.forEach$1 (http://74.91.127.229:5000/res/webclient.dart.js:18208:11)
at ByondMap.dart.ByondMap.doAtoms$2 (http://74.91.127.229:5000/res/webclient.dart.js:9391:25)
at MapInfo.dart.MapInfo.drawMap$0 (http://74.91.127.229:5000/res/webclient.dart.js:11771:12)
at MapInfo.dart.MapInfo.mapTick$1 (http://74.91.127.229:5000/res/webclient.dart.js:11000:12)
at MapInfo.dart.MapInfo.mapTick$0 (http://74.91.127.229:5000/res/webclient.dart.js:11011:19)
at MapInfo_mapTick_closure0.dart.MapInfo_mapTick_closure0.call$0 (http://74.91.127.229:5000/res/webclient.dart.js:11924:36)
at Future_Future$delayed_closure.dart.Future_Future$delayed_closure.call$0 (http://74.91.127.229:5000/res/webclient.dart.js:23494:43)
at TimerImpl_internalCallback0.dart.TimerImpl_internalCallback0.call$0 (http://74.91.127.229:5000/res/webclient.dart.js:19802:33)


Seems like this might be the same issue.
Lummox JR resolved issue with message:
Areas were sometimes deleted from the client prematurely.