feat(ui): redesign the default shortcut layout around a mod+k leader
Single chords stay for everyday actions; open/go actions move to two-step mod+k sequences; held mod+digit switches header session tabs and held mod+alt+digit switches context panel surfaces. Rare actions leave the shortcut schema for the command palette, every remaining action ships with a default binding, and stored overrides from the old layout reset once. Key matching now follows the physical key on non-Latin layouts and for Option-modified digits on macOS, including in the recording dialog.
This commit is contained in:
@@ -2412,7 +2412,7 @@ export const useUIStore = create<UIStore>()(
|
||||
{
|
||||
name: 'ui-store',
|
||||
storage: createDeferredSafeJSONStorage(),
|
||||
version: 17,
|
||||
version: 18,
|
||||
migrate: (persistedState, version) => {
|
||||
if (!persistedState || typeof persistedState !== 'object') {
|
||||
return persistedState;
|
||||
@@ -2433,6 +2433,15 @@ export const useUIStore = create<UIStore>()(
|
||||
delete state.expandedEditorToolbar;
|
||||
}
|
||||
|
||||
// v17 -> v18: the default shortcut layout was redesigned around the
|
||||
// mod+k leader and the held digit prefixes. Old overrides were
|
||||
// recorded against the previous defaults (e.g. a bare 'mod' surface
|
||||
// prefix now collides with session tabs), so custom bindings start
|
||||
// fresh on the new system.
|
||||
if (version < 18) {
|
||||
delete state.shortcutOverrides;
|
||||
}
|
||||
|
||||
// v13 -> v14: the separate 'preview' surface merged into 'browser'.
|
||||
// Stored preview tabs keep their URL and become browser tabs; their
|
||||
// id encodes the mode, so it is rebuilt rather than left dangling.
|
||||
|
||||
Reference in New Issue
Block a user