From 1c5201e54466f66f3ab7e97d11a023087eee50e5 Mon Sep 17 00:00:00 2001 From: Max Goodhart Date: Fri, 19 Jun 2020 08:18:31 -0700 Subject: [PATCH] Don't reload errored views with unchanged url when updating views --- src/node/viewStateMachine.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/node/viewStateMachine.js b/src/node/viewStateMachine.js index 2cc7376..f953161 100644 --- a/src/node/viewStateMachine.js +++ b/src/node/viewStateMachine.js @@ -1,5 +1,12 @@ import { Machine, assign } from 'xstate' +const savePosIfSameURL = { + actions: assign({ + pos: (context, event) => event.pos, + }), + cond: 'urlUnchanged', +} + const viewStateMachine = Machine( { id: 'view', @@ -36,12 +43,7 @@ const viewStateMachine = Machine( url: (context, event) => event.url, }), on: { - DISPLAY: { - actions: assign({ - pos: (context, event) => event.pos, - }), - cond: 'urlUnchanged', - }, + DISPLAY: savePosIfSameURL, RELOAD: '.loading', }, states: { @@ -105,6 +107,9 @@ const viewStateMachine = Machine( }, error: { entry: 'logError', + on: { + DISPLAY: savePosIfSameURL, + }, }, }, },