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

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions