Repository navigation
Installer UI redesign, smoother installation, and build improvements
Pre-release
Pre-release
What's new
- Total UI redesign of the installer: new surface colors, refined typography (Comic Sans MS), redesigned rows/switches, and animated SVG done badge
- The installer now has a launching view with spinner when the Launch button is pressed, and a launch-ready signal mechanism for smooth window closing
- Added fade-out animation for the installer card before launching or closing
- Improved copy progress reporting: byte-level progress, streaming for large files (STREAM_COPY_THRESHOLD), and accurate total bytes tracking
- Dynamic window height adjustment based on the active view (config: 560px, progress: 400px, done: 430px, uninstall: 340px)
- New large gradient percentage indicator and uppercase phase labels in progress display
- Redesigned progress detail text format for the copying phase
- Lowered minimum installer height to 240px, updated default window height
- "Pin to taskbar" option removed from installer UI and related code
- Start Menu shortcut now created under Programs; redundant Programs shortcut removed on uninstall
- Uninstall registry URLInfoAbout now points to the public readme
- Exposed clipboard copy via preload (
installer.copyText) - Clickable path display for copy-for-location
- Added auto-update feed configuration for reliable updates at downloads.thomast.uk
- Added error tracking system with global error capture, error history logging, and a bug report generator
- Added
openTerminalhelper to reveal and scroll newly opened terminals - Redesigned UI for activation, crack, Spotify, and debloat pages with hero sections, card layouts, and status indicators
- Added i18n support with full internationalization for account modal, cleaner, debloat, and activation pages
- Enhanced UI state management with busy flags, download timeouts, and improved error recovery
- Added Maintenance UI with persistable layout and syncing
- Added winget Upgrade Streaming UI with real-time output and cancellation
- Added System Cleaner feature for cleaning temp files, Recycle Bin, Windows Update cache, thumbnails, error reports, and more
- Added optional cloud-synced settings via Supabase – sign in with Google or Discord to sync preferences across devices
- Migrated OAuth configuration to environment variables for better security
- Redesigned account modal with new hero section, avatar with ring decoration, and provider icons
- Added SVG icons replacing emoji placeholders across activation and maintenance pages
- Redesigned BIOS restart dialog with better styling and typography
- Enhanced update window with detailed progress metrics (speed, ETA, size)
Bug fixes
- Fixed environment variable cleanup when spawning the installed app:
PORTABLE_EXECUTABLE_*vars are now removed, env and cwd are passed, and the child process is detached - Installer window now hides properly before launching or quitting
- Fixed potential crash during app quit by stopping cleaner admin session
- Fixed
app.asarlocks and single-UAC cleaner issue - Fixed syntax error in download-manager.js
- Fixed update install hang: prevented
window-all-closedfrom quitting before install - Fixed activator cleanup bug calling non-existent API
- Fixed environment variable cleanup when spawning the installed app
- Fixed OAuth cleanup to prevent WebContents errors
- Fixed potential crash during app quit by stopping cleaner admin session
- Fixed Recycle Bin cleanup to use SID-specific paths ensuring proper permissions
Performance
- Streaming large files during copy for more efficient progress reporting
- Real-time streaming output for system maintenance tasks (SFC scan, DISM repair, DNS flush, IP renewal, Bluetooth fix, disk check, network reset, audio restart)
- All repair and maintenance tasks are now cancellable via a cancel button
- Spicetify installer now shows live output and can be cancelled
- Chris Titus utility now streams output and supports cancellation
- Persistent cleaner admin session for elevated tasks, avoiding repeated UAC prompts
- Faster post-update relaunch
- Race-free auto-updater with atomic update-info and hardened checks
Security
- Removed
postinstallstep from release workflow - Consolidated build command to
npm run build-all - Signed releases with Authenticode certificate (SmartScreen trusted publisher)
- Better process isolation for cancellable tasks
- Block Ctrl+Shift+C to prevent console access
- Increased download timeouts and added retry logic for reliability
Tooling
- CI/CD: replaced npm lint script with explicit
npx eslintcommand - CI/CD: removed separate updater compilation step from release workflow
- CI/CD: release workflow now builds both Setup.exe and Portable.exe artifacts
- CI/CD: removed blockmap files from release artifacts
- CI/CD: updated R2 uploads to use new Setup.exe and Portable.exe filenames
- CI/CD: added
workflow_dispatchtrigger to release workflow for manual R2 sync - Updated download links in README to new CDN domain (
downloads.thomast.uk) - Updated auto-updater URL to new CDN domain
- Bumped version from
4.5.9to4.6.0 - Patch script and tooling updates
- Certificates are now imported from the cert store (subject name) for CI signing
- Added Supabase Keep-Alive GitHub Action to prevent the free-tier database from sleeping
- Harden Supabase keep-alive: daily pings with retries
- Removed updater debug mode and dead code paths
- Pruned unused IPC/preload API surface
- Cleaned up dependencies and removed dead code
- Updated maintainer website field in package.json
- Removed deprecated system maintenance IPC handlers
- Removed unused exports from multiple modules for code cleanliness
Core Update System
- Replaced external updater handoff with in-app update flow – Updates now download, verify, and extract within the app itself, eliminating the need to launch a separate updater executable.
- Added download progress reporting – Real-time progress (percent, speed, ETA, bytes transferred) is now shown in both the update window and main window.
- Added cancellation support – Users can cancel an ongoing update at any point during download or extraction.
- Added checksum verification with retries – Downloads are verified against SHA-512 checksums, with automatic retries on failure (up to 3 attempts with increasing delays).
- Improved download reliability – Handles HTTP redirects, connection timeouts (60s), and incomplete downloads gracefully.
- Streamlined staging and extraction – Uses 7-Zip for extraction with sanity checks to ensure the unpacked app is valid.
- Preserved installation assets – Uninstaller and app-update config are copied from the current install to the staging directory.
- Updated swapper arguments – The external swapper now receives a staging directory path and version instead of URL and checksum (download & verify handled in-app).
- Added neutral updater directory helper – Standardized path resolution for download and temp files under
%LOCALAPPDATA%\ThomasThanos\updater. - Removed
isRecentUpdateFailure()logic – The app no longer skips updates based on a failure marker file; all errors are now handled with retries and proper cancellation. - Added update state tracking –
updateInProgressandupdateCancelledflags prevent concurrent updates and enable clean cancellation.
Technical
- Added new dependencies –
crypto,http-utils, andarchive-utilsmodules are now used in the external updater. - Improved debug logging – Better error and warning messages throughout the update flow.
- Windows-specific improvements –
windowsHide: truefor spawned processes avoids flashing console windows.