Skip to content

Releases: HenryCauan/rovyl

1.2.6

Choose a tag to compare

@HenryCauan HenryCauan released this 10 Sep 23:29
fix: bring the middle-button trigger back without an app restart

The trigger lives in a PowerShell helper, and when that helper died the
app never noticed: the `exit` handler only cleared the reference, the
`mouseHook` flag stayed truthy, and `startMouseHook` returns early on
it. The middle button was dead until the whole app was restarted, and
nothing was written to the diagnostic log to say why — which is the same
shape as the hook eviction fixed in #2, one layer up.

The helper is now brought back on an unexpected exit, and the armed
TRIGGER command is replayed onto the replacement so it comes up
configured the same way. Restarts back off to 30s, so a helper that
cannot start costs one attempt a minute instead of a spawn loop, and a
failed spawn — which emits `error` and may never emit `exit` — recovers
through the same path. A deliberate stop does not look like a death
worth recovering from. The exit is logged either way: next time there
will be a trace.

Follow-up to #2: `ReArmHook` resolved the module handle through
`Process.MainModule` every 2 seconds, on the very thread that serves the
hook callback — a slow tick there is what makes Windows evict the hook
in the first place. It is resolved once now and reused.

1.2.5

Choose a tag to compare

@HenryCauan HenryCauan released this 07 Sep 18:03

Apps That Open

Apps picked from the installed list failed with
"Windows cannot find 'com.electron.notion'" instead of launching.

Windows doesn't store a path for these apps — it stores the Start Menu
shortcut's AppID, which for nearly every Electron app is a reverse-DNS
identifier. Rovyl didn't recognise that format and handed it to start,
which only knows how to look for files.

Affected apps: Notion, Figma, Canva, Warp, NVIDIA App, Hydra,
Intel Driver & Support Assistant, Git for Windows, and the system tools
(Task Manager, Event Viewer, Git Bash). Discord and Antigravity only
worked because they had hand-written exceptions.

What changed

  • Rovyl now asks Windows which applications exist, instead of guessing
    from the shape of the name.
  • Launching can no longer get stuck behind an error dialog that stopped
    the fallback methods from ever being tried.
  • AppIDs containing brace identifiers are no longer corrupted on save.

Nothing to do on your end — the apps you already saved will just open.

1.2.4

Choose a tag to compare

@HenryCauan HenryCauan released this 30 Aug 23:54
feat: remove the license gate — the app just runs

The gate no longer had a job. The Store collects payment before it hands over the
package, the website stopped selling keys, and there were never any direct
purchases to honour. What remained was friction guarding nothing, and in a public
repository it is dead machinery that invites the question of what it protects.

Removed: the LicenseGate component and its render path, the activation and device
rows in Settings, the license editor and its activation form, and the two IPC
channels the renderer no longer calls.

Kept: the user profile and Google sign-in, which are identity rather than
licensing, and the main-process helpers that sign-in still calls.