diff --git a/packages/web/src/utility/useEditorData.js b/packages/web/src/utility/useEditorData.js index aa5d8df1..c6b80b9e 100644 --- a/packages/web/src/utility/useEditorData.js +++ b/packages/web/src/utility/useEditorData.js @@ -43,6 +43,8 @@ export default function useEditorData({ tabid, reloadToken = 0, loadFromArgs = n setValue(init); valueRef.current = init; initialDataRef.current = init; + // mark as not saved + changeCounterRef.current += 1; } catch (err) { const message = (err && err.response && err.response.data && err.response.data.error) || 'Loading failed'; setErrorMessage(message); diff --git a/packages/web/src/utility/useStorage.js b/packages/web/src/utility/useStorage.js index fa436897..175820fa 100644 --- a/packages/web/src/utility/useStorage.js +++ b/packages/web/src/utility/useStorage.js @@ -15,6 +15,8 @@ export default function useStorage(key, storageObject, initialValue) { return initialValue; } }); + + // use storedValue to ref, so that setValue with function argument works without changeing setValue itself const storedValueRef = React.useRef(storedValue); storedValueRef.current = storedValue;