From 4f7dc5ee3a02404d36d6d38fc42eb7980feb1fcc Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Wed, 15 Apr 2026 03:57:51 +0200 Subject: [PATCH] fix: remap split-element keybinding to split --- .../stores/keybindings/migrations/index.ts | 4 +++- .../stores/keybindings/migrations/v6-to-v7.ts | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 apps/web/src/stores/keybindings/migrations/v6-to-v7.ts diff --git a/apps/web/src/stores/keybindings/migrations/index.ts b/apps/web/src/stores/keybindings/migrations/index.ts index 330c7df7..71fd81a6 100644 --- a/apps/web/src/stores/keybindings/migrations/index.ts +++ b/apps/web/src/stores/keybindings/migrations/index.ts @@ -2,6 +2,7 @@ import { v2ToV3 } from "./v2-to-v3"; import { v3ToV4 } from "./v3-to-v4"; import { v4ToV5 } from "./v4-to-v5"; import { v5ToV6 } from "./v5-to-v6"; +import { v6ToV7 } from "./v6-to-v7"; type MigrationFn = ({ state }: { state: unknown }) => unknown; @@ -10,9 +11,10 @@ const migrations: Record = { 3: v3ToV4, 4: v4ToV5, 5: v5ToV6, + 6: v6ToV7, }; -export const CURRENT_VERSION = 6; +export const CURRENT_VERSION = 7; export function runMigrations({ state, diff --git a/apps/web/src/stores/keybindings/migrations/v6-to-v7.ts b/apps/web/src/stores/keybindings/migrations/v6-to-v7.ts new file mode 100644 index 00000000..8c5fd96c --- /dev/null +++ b/apps/web/src/stores/keybindings/migrations/v6-to-v7.ts @@ -0,0 +1,19 @@ +import type { KeybindingConfig } from "@/lib/actions/keybinding"; + +interface V6State { + keybindings: KeybindingConfig; + isCustomized: boolean; +} + +export function v6ToV7({ state }: { state: unknown }): unknown { + const v6 = state as V6State; + const keybindings = { ...v6.keybindings }; + + for (const key of Object.keys(keybindings) as Array) { + if (keybindings[key] === ("split-element" as never)) { + keybindings[key] = "split"; + } + } + + return { ...v6, keybindings }; +}