Skip to content

Commit 9ba3baa

Browse files
committed
Merge remote-tracking branch 'origin/main' into sawka/mock-for-block
2 parents 848a378 + 7119970 commit 9ba3baa

4 files changed

Lines changed: 20 additions & 2 deletions

File tree

frontend/app/waveenv/waveenv.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ export type SettingsKeyAtomFnType<Keys extends keyof SettingsType = keyof Settin
2424
export type WaveEnv = {
2525
electron: ElectronApi;
2626
rpc: RpcApiType;
27+
platform: NodeJS.Platform;
2728
isDev: () => boolean;
29+
isWindows: () => boolean;
30+
isMacOS: () => boolean;
2831
atoms: GlobalAtomsType;
2932
createBlock: (blockDef: BlockDef, magnified?: boolean, ephemeral?: boolean) => Promise<string>;
3033
showContextMenu: (menu: ContextMenuItem[], e: React.MouseEvent) => void;

frontend/app/waveenv/waveenvimpl.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,17 @@ import {
1515
} from "@/app/store/global";
1616
import { RpcApi } from "@/app/store/wshclientapi";
1717
import { WaveEnv } from "@/app/waveenv/waveenv";
18+
import { isMacOS, isWindows, PLATFORM } from "@/util/platformutil";
1819

1920
export function makeWaveEnvImpl(): WaveEnv {
2021
return {
2122
electron: (window as any).api,
2223
rpc: RpcApi,
2324
getSettingsKeyAtom,
25+
platform: PLATFORM,
2426
isDev,
27+
isWindows,
28+
isMacOS,
2529
atoms,
2630
createBlock,
2731
showContextMenu: (menu: ContextMenuItem[], e: React.MouseEvent) => {

frontend/preview/mock/mockwaveenv.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { makeDefaultConnStatus } from "@/app/store/global";
55
import { TabModel } from "@/app/store/tab-model";
66
import { RpcApiType } from "@/app/store/wshclientapi";
77
import { WaveEnv } from "@/app/waveenv/waveenv";
8+
import { PlatformMacOS, PlatformWindows } from "@/util/platformutil";
89
import { Atom, atom, PrimitiveAtom } from "jotai";
910
import { DefaultFullConfig } from "./defaultconfig";
1011
import { previewElectronApi } from "./preview-electron-api";
@@ -16,6 +17,7 @@ type RpcOverrides = {
1617
export type MockEnv = {
1718
isDev?: boolean;
1819
tabId?: string;
20+
platform?: NodeJS.Platform;
1921
settings?: Partial<SettingsType>;
2022
rpc?: RpcOverrides;
2123
atoms?: Partial<GlobalAtomsType>;
@@ -39,6 +41,7 @@ export function mergeMockEnv(base: MockEnv, overrides: MockEnv): MockEnv {
3941
return {
4042
isDev: overrides.isDev ?? base.isDev,
4143
tabId: overrides.tabId ?? base.tabId,
44+
platform: overrides.platform ?? base.platform,
4245
settings: mergeRecords(base.settings, overrides.settings),
4346
rpc: mergeRecords(base.rpc as any, overrides.rpc as any) as RpcOverrides,
4447
atoms: overrides.atoms != null || base.atoms != null ? { ...base.atoms, ...overrides.atoms } : undefined,
@@ -149,18 +152,26 @@ export function applyMockEnvOverrides(env: WaveEnv, newOverrides: MockEnv): Mock
149152

150153
export function makeMockWaveEnv(mockEnv?: MockEnv): MockWaveEnv {
151154
const overrides: MockEnv = mockEnv ?? {};
155+
const platform = overrides.platform ?? PlatformMacOS;
152156
const connStatusAtomCache = new Map<string, PrimitiveAtom<ConnStatus>>();
153157
const waveObjectAtomCache = new Map<string, Atom<any>>();
154158
const blockMetaKeyAtomCache = new Map<string, Atom<any>>();
155159
const connConfigKeyAtomCache = new Map<string, Atom<any>>();
156160
const atoms = makeMockGlobalAtoms(overrides.settings, overrides.atoms, overrides.tabId);
157161
const env = {
158162
mockEnv: overrides,
159-
electron: overrides.electron ? { ...previewElectronApi, ...overrides.electron } : previewElectronApi,
163+
electron: {
164+
...previewElectronApi,
165+
getPlatform: () => platform,
166+
...overrides.electron,
167+
},
160168
rpc: makeMockRpc(overrides.rpc),
161169
atoms,
162170
getSettingsKeyAtom: makeMockSettingsKeyAtom(atoms.settingsAtom, overrides.settings),
171+
platform,
163172
isDev: () => overrides.isDev ?? true,
173+
isWindows: () => platform === PlatformWindows,
174+
isMacOS: () => platform === PlatformMacOS,
164175
createBlock:
165176
overrides.createBlock ??
166177
((blockDef: BlockDef, magnified?: boolean, ephemeral?: boolean) => {

pkg/wconfig/defaultconfig/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"window:savelastwindow": true,
3030
"telemetry:enabled": true,
3131
"term:bellsound": false,
32-
"term:bellindicator": false,
32+
"term:bellindicator": true,
3333
"term:osc52": "always",
3434
"term:cursor": "block",
3535
"term:cursorblink": false,

0 commit comments

Comments
 (0)