Skip to content

phase 5: windows build + macos/windows on-hardware verification #1

Description

@boxerab

Linux is fully supported (CI + release bundles). macOS now builds green in CI and
produces release bundles too, after fixing a Cargo.toml bug where serde/anyhow/etc.
were scoped Linux-only (they sat under [target.'cfg(target_os = "linux")'.dependencies]).
Remaining platform work:

Windows: doesn't compile

The socket trigger is Unix-only but compiled unconditionally:

  • src-tauri/src/trigger.rs:20tokio::net::UnixListener/UnixStream
  • src-tauri/src/trigger.rs:38libc::getuid, plus std::os::unix::*
  • src-tauri/src/trigger.rs:46send_command (std::os::unix::net::UnixStream)
  • consumed by src-tauri/src/main.rs:146 (try_cli_trigger) and src-tauri/src/main.rs:199 (trigger::run spawn)

Fix: cfg-gate the socket-trigger path (#[cfg(unix)]); make try_cli_trigger and the
listener spawn no-ops on Windows, which keeps the in-process global-shortcut and doesn't
need the socket workaround. Then re-add windows-latest to the matrices in
.github/workflows/ci.yml and .github/workflows/release.yml.

On-hardware verification (macOS + Windows)

Build-green only; these paths have never run off Linux:

  • audio capture (cpal / coreaudio / wasapi)
  • keystroke injection (enigo; macOS needs the Accessibility permission grant)
  • active-window probe

Needs real machines.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions