diff --git a/frontend/src/lib/storage-manager/storage-manager.js b/frontend/src/lib/storage-manager/storage-manager.js index 418d92224..f2ee68589 100644 --- a/frontend/src/lib/storage-manager/storage-manager.js +++ b/frontend/src/lib/storage-manager/storage-manager.js @@ -359,6 +359,11 @@ export class StorageManager { addHistoryListener(listener, options=this._options, ...args) { const modified_listener = (function(event, ...listener_args) { // eslint-disable-line no-unused-vars + + // do not propagate popstate events with empty state + if(event.state === null) + return; + this._global.setTimeout(() => listener(this._getFromHistory(options), ...listener_args)); }).bind(this); @@ -473,9 +478,9 @@ export class StorageManager { } _debugLog() {} - // _debugLog(fName, ...args) { - // console.log(`[DEBUGLOG] StorageManager.${fName}`, { args: args, instance: this }); - // } + //_debugLog(fName, ...args) { + // console.log(`[DEBUGLOG] StorageManager.${fName}`, { args: args, instance: this }); + //} } diff --git a/frontend/src/utils/async-table/async-table.js b/frontend/src/utils/async-table/async-table.js index 3dbaad95e..93d3bcf99 100644 --- a/frontend/src/utils/async-table/async-table.js +++ b/frontend/src/utils/async-table/async-table.js @@ -125,7 +125,7 @@ export class AsyncTable { const historyUrl = historyState ? historyState['currentTableUrl'] : this._historyStorage.load('currentTableUrl'); this._debugLog('_historyListener', historyState, windowUrl, historyUrl); - if (this._isEquivalentUrl(windowUrl, historyUrl)) + if (this._isEquivalentUrl(windowUrl, historyUrl || document.location.href)) return; this._debugLog('_historyListener', historyUrl);