[Bug]: Cmd + "+" no longer zooms in on a German keyboard because mod+] (navigation.forward) captures the key#14833

opened26d agobyBBuntBaum

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/web

Steps to reproduce

  1. Use macOS with the German keyboard layout. Its + key sits where US layouts have ].
  2. Open the desktop app with a few threads in the sidebar.
  3. Press Cmd + +.
  4. Press Cmd + Shift + + several times.

Expected behavior

Cmd + + zooms in, as it did before updating to 0.0.44 (the previous version was most likely 0.0.42). Cmd + - still zooms out as expected.

Actual behavior

Cmd + + does nothing. Cmd + Shift + + first moves through the threads in the sidebar; only once the last thread is reached does it start zooming in. Clicking View → Zoom In in the menu works.

Cause, as far as I can tell from the source:

  • shortcutKeyFromEvent in apps/web/src/keybindings.ts resolves non-letter keys by physical position (EVENT_CODE_SHORTCUT_KEYS[event.code]). On the German layout the + key reports event.code === "BracketRight", so Cmd + + is matched as mod+].
  • Since #13212 (first shipped in 0.0.43), mod+] is bound to navigation.forward. The keydown appears to be consumed even when there is nothing to go forward to, so the menu accelerator never fires.
  • Cmd + Shift + + is matched as mod+shift+] (thread.next). It apparently passes through only when there is no next thread; then the menu shortcut, shown as ⌘* on this layout, zooms in.
  • Cmd + - keeps working because the German - key maps to mod+/, which is unbound.

The menu itself is unchanged since 0.0.42 (CmdOrCtrl+= plus the hidden CmdOrCtrl+Plus item in apps/desktop/src/window/DesktopApplicationMenu.ts). The hidden item would catch Cmd + + on this layout, but it no longer gets the chance.

Related: #2706 (zoom-in on non-US layouts, closed) and #13229 (keybindings editor records US key positions on a German layout).

Possible directions, your call: keep renderer bindings from shadowing the zoom accelerators; or match punctuation by the typed character when the layout produces one; or pick default keys for navigation.back / navigation.forward that do not collide on common non-US layouts.

Impact

Minor bug or occasional failure

Version or commit

0.0.44 (Electron 44.4.2)

Environment

macOS 27.0.1, Apple Silicon, German keyboard layout

Logs or stack traces

None.

Workaround

Rebind navigation.forward in Settings → Keybindings (or in ~/.t3/userdata/keybindings.json) to a key that does not collide, for example mod+alt+]. This should free Cmd + + for zooming again (not yet verified).

Synced from GitHub

Confirmed on macOS 27.0.1 with the German layout: after rebinding navigation.forward to mod+alt+], Cmd + + zooms in again.

Thanks for linking #14739. Its description lists macOS as not checked; this is the same regression on macOS, so the fix should cover it as well.

Note

🤖 Claude Opus 5.5 responding on behalf of Theo

Thanks for the report. This is fixed on main in #18439. Please test on the nightly built from main on 2026-10-21, or on the next stable release. If the problem still occurs there, please open a new issue that links to this one, with your version and steps to reproduce it.

Checked main at 07d38b8d17: the merged fix #18439 is present as fcab788163. Ran DesktopApplicationMenu.test.ts and DesktopWindow.test.ts: 45 tests passed. Native macOS German-layout key dispatch was not verified on this Linux host. Leaving the existing closed disposition unchanged.