Roadmap
Six phases. P0 and P1 are done, P2 and P3 in part — Wave removes programs and their leftovers today, and every removal can be put back. The order cannot change: forced uninstallation without a working undo is a data-loss feature.
-
P0
Done
Inventory
Read the registry, MSI database and Store packages, merge them into one row per program, and show it as a sortable list.
-
- Both registry views, so 32-bit programs are not silently missing
- MSI product codes tie a registry entry to its product; display names are only a fallback
- Reads that fail become a visible warning, not a silent gap
-
P1
Done
Uninstalling
Start the program's own uninstaller, wait for it to really finish, then remove the install directory and the uninstall key.
-
- Waits on the whole process tree: NSIS and Inno copy themselves to %TEMP% and exit at once
- Files move to a backup — the first release that removes anything already had one
- Store packages go through the package manager, not a command line
-
P2
Partly
The scan
The actual feature. Search everywhere leftovers hide, score each finding, and never offer what the protection list claims.
-
- Done: Program Files, ProgramData, AppData, start menu shortcuts, vendor keys, App Paths, startup entries
- Done: three buckets — safe, review, unsure — each finding carrying its reasoning, and a protection list that runs before the score exists
- Open: services and scheduled tasks through their own APIs
- Open: temp, prefetch, jump lists, shell extensions, shared DLL refcounts
-
P3
Partly
Undo
The safety net everything after it depends on. Nothing is deleted, only moved, and every operation is journalled first.
-
- Done: files keep their path structure in the backup and move back from it
- Done: registry keys stored as JSON and as an importable .reg file
- Done: an append-only journal, written before each step rather than after, so a crash mid-operation still leaves something to undo
- Open: ACLs and timestamps, retention, an optional system restore point
-
P4
Open
The extras
What people buy Revo for — last, because each one needs P3's undo to already work.
-
- Junk hunter: leftovers of programs uninstalled long ago
- Startup manager, service and task views
- Forced uninstall when a program's own uninstaller is broken
-
P5
Open
Shipping
Between working software and something a stranger can install.
-
- Translations
- Code signing — without it SmartScreen flags every fresh binary
- Automatic updates
How this is built
Three crates, one rule between them.
| Part | Responsibility |
|---|---|
wave-core |
What is installed and what belongs together. Knows nothing about Windows. |
wave-win32 |
Registry, MSI, MSIX. Makes no decisions. |
src-tauri |
The Tauri shell and the commands the interface calls. |
src |
The interface: React, TypeScript, Tailwind. |
site |
This page. Static, no build step. |