summaryrefslogtreecommitdiffhomepage
path: root/gui/src/main
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2022-04-14 14:42:20 +0200
committerOskar Nyberg <oskar@mullvad.net>2022-04-20 10:51:21 +0200
commit5d2aeb51e95e3b56fd2afd3e3ead0d92d4e5ff85 (patch)
treed1041feeb034a35ce0c91d2d61c7e25d811eb8b0 /gui/src/main
parenteffad880de8f52f9d956a5cccb486504f617f5d8 (diff)
downloadmullvadvpn-5d2aeb51e95e3b56fd2afd3e3ead0d92d4e5ff85.tar.xz
mullvadvpn-5d2aeb51e95e3b56fd2afd3e3ead0d92d4e5ff85.zip
Remember scroll position on refresh
Diffstat (limited to 'gui/src/main')
-rw-r--r--gui/src/main/index.ts12
1 files changed, 11 insertions, 1 deletions
diff --git a/gui/src/main/index.ts b/gui/src/main/index.ts
index 0950db76a5..ded94d405b 100644
--- a/gui/src/main/index.ts
+++ b/gui/src/main/index.ts
@@ -43,7 +43,12 @@ import {
import { messages, relayLocations } from '../shared/gettext';
import { SYSTEM_PREFERRED_LOCALE_KEY } from '../shared/gui-settings-state';
import { ITranslations, MacOsScrollbarVisibility } from '../shared/ipc-schema';
-import { IChangelog, ICurrentAppVersionInfo, IHistoryObject } from '../shared/ipc-types';
+import {
+ IChangelog,
+ ICurrentAppVersionInfo,
+ IHistoryObject,
+ ScrollPositions,
+} from '../shared/ipc-types';
import log, { ConsoleOutput, Logger } from '../shared/logging';
import { LogLevel } from '../shared/logging-types';
import {
@@ -253,6 +258,7 @@ class ApplicationMain {
private changelog?: IChangelog;
private navigationHistory?: IHistoryObject;
+ private scrollPositions: ScrollPositions = {};
public run() {
// Remove window animations to combat window flickering when opening window. Can be removed when
@@ -1276,6 +1282,7 @@ class ApplicationMain {
macOsScrollbarVisibility: this.macOsScrollbarVisibility,
changelog: this.changelog ?? [],
navigationHistory: this.navigationHistory,
+ scrollPositions: this.scrollPositions,
}));
IpcMainEventChannel.settings.handleSetAllowLan((allowLan: boolean) =>
@@ -1492,6 +1499,9 @@ class ApplicationMain {
IpcMainEventChannel.navigation.handleSetHistory((history) => {
this.navigationHistory = history;
});
+ IpcMainEventChannel.navigation.handleSetScrollPositions((scrollPositions) => {
+ this.scrollPositions = scrollPositions;
+ });
if (windowsSplitTunneling) {
this.guiSettings.browsedForSplitTunnelingApplications.forEach(