Tendsty / gooboo

An idle / incremental game
GNU General Public License v3.0
86 stars 26 forks source link

Got an JS error, after that website is not loading properly for me #52

Closed VRiznyk closed 5 months ago

VRiznyk commented 5 months ago

log from console:

TypeError: Cannot read properties of undefined (reading 'sun') at weatherChaos.js:49:49 at Array.forEach () at fishWeights (weatherChaos.js:48:42) at I.t._wrappedGetters..t._wrappedGetters. (vuex.esm.js:881:12) at Xs. (vuex.esm.js:140:12) at t.get (vue.runtime.esm.js:3446:33) at t.evaluate (vue.runtime.esm.js:3547:27) at Xs.weatherChaos/fishWeights (vue.runtime.esm.js:5537:25) at Object.get [as weatherChaos/fishWeights] (vuex.esm.js:671:39) at Object.get [as fishWeights] (vuex.esm.js:831:41) (anonymous) @ weatherChaos.js:49 fishWeights @ weatherChaos.js:48 I.t._wrappedGetters..t._wrappedGetters. @ vuex.esm.js:881 (anonymous) @ vuex.esm.js:140 t.get @ vue.runtime.esm.js:3446 t.evaluate @ vue.runtime.esm.js:3547 (anonymous) @ vue.runtime.esm.js:5537 get @ vuex.esm.js:671 get @ vuex.esm.js:831 getCatch @ weatherChaos.js:216 (anonymous) @ vuex.esm.js:851 y.dispatch @ vuex.esm.js:516 dispatch @ vuex.esm.js:406 _n @ tick.js:43 bn @ tick.js:13 tick @ event.js:63 (anonymous) @ tick.js:88 ei @ tick.js:83 Xn @ tick.js:39 QM @ init.js:61 9282 @ main.js:35 a @ bootstrap:19 (anonymous) @ startup:4 a.O @ chunk loaded:25 (anonymous) @ startup:5 (anonymous) @ app.a2086fc4.js:1 Show 10 more frames Show less

gamingblep295 commented 5 months ago

After troubleshooting in the discord server, this error seems to stem from the catch-up mechanism when the event turns off during it.
The catchup (offline or background, either causes it) will attempt to simulate ticks on the event, but with the event over, state.nextWeather is never populated, so the weather variable is undefined, and thus it will attempt to do state.weather[weather][elem] causing an error due to trying to reference with an undefined variable.

Best way to fix this is to change your system time to before the event ended, completely reload the page (which should be successful), change system time so the event ends while you are still watching the game so it never simulates offline time, and then save afterwards.

VRiznyk commented 5 months ago

@gamingblep295 thanks, it helps

Tendsty commented 5 months ago

Fixed in v1.4.2