Skip to content

[Bug]: Recording HUD bar oscillates/vanishes on mouse hover on Arch Linux (Hyprland / Wayland) #891

Description

@itshimelz

Search existing issues

  • I have searched the existing issues

Describe the bug

When launching the Recordly AppImage (v1.3.3) on Arch Linux running Hyprland (native Wayland, ELECTRON_OZONE_PLATFORM_HINT=auto), the floating recording HUD control bar instantly disappears, flickers, and becomes unclickable as soon as the mouse cursor hovers over it.

Expected behavior

The recording HUD should remain stably positioned and interactive when hovered, allowing users to click record, toggle microphones/cameras, and access settings without jumping or vanishing.

To Reproduce

  1. Run the Recordly AppImage on Arch Linux under Hyprland (native Wayland session, xwayland: 0):
    ./Recordly-linux-x64.appimage
  2. The pill-shaped recording HUD appears floating on screen.
  3. Move the mouse cursor over any button on the floating recording bar.
  4. The recording bar immediately jumps out from under the pointer, collapses, and enters a rapid oscillation loop, appearing to vanish or flicker uncontrollably.

OS

Linux

OS Version

Arch Linux, Hyprland 0.56.2 (Wayland)

Additional context

Technical Root Cause

  • In recordly_main.cjs / electron/windows.ts, mouse passthrough is disabled on Linux (zt() === false).
  • On mouse enter (handleHudMouseEnter), the renderer requests hudOverlaySetIgnoreMouse(false), triggering W_(true).
  • W_(true) attempts to expand the HUD window bounds from 160px to 540px height via setBounds to prepare room for popups, simultaneously calculating new_y = old_y - 380px to keep the bottom aligned.
  • Under the Wayland protocol (xdg_toplevel), compositors do not permit clients to position their own absolute screen coordinates (x, y). Hyprland anchors/centers the resizing surface and ignores the requested y repositioning.
  • Because the React UI layout is anchored to the bottom (items-end pb-5, height: 100vh), the 380px downward expansion pushes the control bar 380px away from the mouse cursor.
  • The pointer is no longer hovering the bar, firing handleHudMouseLeave, which triggers W_(false) and shrinks the window back to 160px.
  • Shrinking brings the bar back under the cursor, triggering handleHudMouseEnter again, causing an infinite oscillation loop.

Related Issues & PRs

Workaround

Running with XWayland prevents the issue because X11 permits client-side (x, y) coordinate placement:

ELECTRON_OZONE_PLATFORM_HINT=x11 ./Recordly-linux-x64.appimage

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions