summaryrefslogtreecommitdiffhomepage
path: root/gui/src/shared
diff options
context:
space:
mode:
Diffstat (limited to 'gui/src/shared')
-rw-r--r--gui/src/shared/ipc-schema.ts12
-rw-r--r--gui/src/shared/ipc-types.ts10
2 files changed, 21 insertions, 1 deletions
diff --git a/gui/src/shared/ipc-schema.ts b/gui/src/shared/ipc-schema.ts
index ce517c8f21..e09d552c25 100644
--- a/gui/src/shared/ipc-schema.ts
+++ b/gui/src/shared/ipc-schema.ts
@@ -27,7 +27,13 @@ interface ILogEntry {
message: string;
}
import { invoke, invokeSync, notifyRenderer, send } from './ipc-helpers';
-import { IChangelog, ICurrentAppVersionInfo, IWindowShapeParameters } from './ipc-types';
+import {
+ IChangelog,
+ ICurrentAppVersionInfo,
+ IHistoryObject,
+ IWindowShapeParameters,
+ ScrollPositions,
+} from './ipc-types';
export interface ITranslations {
locale: string;
@@ -66,6 +72,8 @@ export interface IAppStateSnapshot {
windowsSplitTunnelingApplications?: IWindowsApplication[];
macOsScrollbarVisibility?: MacOsScrollbarVisibility;
changelog: IChangelog;
+ navigationHistory?: IHistoryObject;
+ scrollPositions: ScrollPositions;
}
// The different types of requests are:
@@ -118,6 +126,8 @@ export const ipcSchema = {
},
navigation: {
reset: notifyRenderer<void>(),
+ setHistory: send<IHistoryObject>(),
+ setScrollPositions: send<ScrollPositions>(),
},
daemon: {
isPerformingPostUpgrade: notifyRenderer<boolean>(),
diff --git a/gui/src/shared/ipc-types.ts b/gui/src/shared/ipc-types.ts
index 0624ac95cd..2b42f42b0e 100644
--- a/gui/src/shared/ipc-types.ts
+++ b/gui/src/shared/ipc-types.ts
@@ -1,3 +1,5 @@
+import { Action, Location } from 'history';
+
export interface ICurrentAppVersionInfo {
gui: string;
daemon?: string;
@@ -10,3 +12,11 @@ export interface IWindowShapeParameters {
}
export type IChangelog = Array<string>;
+
+export interface IHistoryObject {
+ entries: Location<unknown>[];
+ index: number;
+ lastAction: Action;
+}
+
+export type ScrollPositions = Record<string, [number, number]>;