Skip to content

[v0.9.3 regression] Recording overlay invisible on KDE Wayland (KWin) — GTK layer-shell broken after tauri fork → upstream switch #1696

Description

@uladziislau

Bug Description

After upgrading from v0.9.2 → v0.9.3 on Fedora 44 KDE Plasma (Wayland, KWin), the recording overlay is no longer visible. Transcription itself works fine — only the overlay window disappears.

This is a regression introduced in v0.9.3. Downgrading back to v0.9.2 restores the overlay immediately (verified).

Root Cause (investigated)

  • v0.9.2 shipped via a cjpais/tauri fork (branch handy-2.10.2) with custom tauri-runtime, tauri-runtime-wry, and tauri-utils that carried Wayland-specific patches for GTK layer-shell integration.
  • v0.9.3 (PR bump tauri version and Mac dock fixes #1675) replaced the fork with upstream tauri 2.11.5 + a pinned tao (commit 07f3742b1, only to fix Wayland CSD).
  • The overlay is created successfully and show_overlay_state() runs to completion (logs confirm set_size / pos_calc / set_pos / show). GTK layer-shell initializes. But the KWin compositor never renders the layer surface — the window is logically shown but not painted on screen.

Evidence

With RUST_LOG=debug /usr/bin/handy:

[handy_app_lib::overlay][DEBUG] Recording overlay window created successfully (hidden)
[handy_app_lib::overlay][DEBUG] GTK layer shell initialized for overlay window
[handy_app_lib::overlay][DEBUG] overlay 'recording': set_size=... pos_calc=... set_pos=... show=...

Settings confirm overlay_style: Live, overlay_position: bottom, start_hidden: true.

Workaround that proves the cause

Running with the env var that skips GTK layer-shell makes the overlay appear:

HANDY_NO_GTK_LAYER_SHELL=true /usr/bin/handy

→ Overlay becomes visible (as a regular window), but centered, because on Wayland the compositor blocks client-side window positioning. This confirms the layer-shell surface is the piece that broke between the fork and upstream tauri 2.11.5.

Reproduction

  1. Install Handy-0.9.3-1.x86_64.rpm on Fedora 44 KDE Plasma, Wayland session.
  2. Set overlay_style: Live (default), overlay_position: bottom.
  3. Start a recording (e.g. push-to-talk).
  4. Expected: overlay shows at the bottom of the screen.
  5. Actual: no overlay is visible; transcription still works.
  6. Set HANDY_NO_GTK_LAYER_SHELL=true and repeat → overlay appears (centered).

System Information

  • App Version: 0.9.3 (regression vs 0.9.2)
  • Operating System: Fedora 44 KDE Plasma 6
  • Session: Wayland (KWin)
  • Architecture: x86_64 (rpm package)

Additional notes

  • The cjpais/tauri fork appears to have no 2.11.x branch, so a clean revert via Cargo.toml is not currently possible without porting the Wayland layer-shell patches to upstream tauri 2.11.
  • On v0.9.2 the overlay works correctly (positioning + visibility), with only minor/occasional UI lag — that version is the last known-good for KDE Wayland overlay.

Metadata

Metadata

Assignees

No one assigned

    Labels

    platform: linuxAn issue affecting the Linux platform

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions