Repository navigation
Releases: HenryCauan/rovyl
Releases · HenryCauan/rovyl
Release list
1.2.6
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
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
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.