Ghost FTP 2.1.1 RC15 — Startup, Navigation and Flicker Hardening
Release date: 22 September 2026
RC15 continues the existing Ghost FTP React + TypeScript + Tauri + Rust desktop codebase from the post-RC14 main branch. It is a hardening candidate, not a final release, and remains blocked until the exact candidate passes all required source, protocol, native build and seven-view visual acceptance gates.
Reliability and error handling
- Folder Sync initialization now has an explicit rejection path and surfaces startup failures instead of leaving an unhandled promise.
- Settings migration, default updates and transfer-engine initialization now surface failures.
- ghostftp:// deep-link listener registration now has explicit failure handling and deterministic cleanup.
- Saved-site startup initialization is contained so profile-loading failures do not escape as unhandled promises.
- SSH public-key clipboard failures are visible while keeping the generated key available in the field.
- Generated-password clipboard failures are visible while keeping the generated password in the field.
- Existing RC14 click/error hardening remains intact.
UI / UX and single-window behavior
- Primary Ghost FTP workspaces and transient panels are now imported synchronously in the application shell instead of being lazy-loaded behind a full-view Suspense fallback.
- This removes another source of brief loading/blank-view flashes while switching between File Manager, Site Manager, Preferences, Transfer Center, About and New Connection.
- No browser popup, target=_blank navigation, screenshot-backed interface, fake transfer state or parallel application shell is introduced.
- Site Manager, Preferences, Transfer Center and About remain in-app workspace views.
- New Connection and File Properties remain focused in-app transient panels.
- Terminal pop-out remains the only intentional secondary native window.
Version and native QA preparation
- Desktop, Tauri, CLI, agent, runtime, installer and updater development metadata are advanced consistently to 2.1.1-rc.15.
- Native build artifact and Windows seven-view QA naming are advanced to RC15.
- The published RC14 release workflow remains pinned to the historical RC14 source commit and is not retargeted.
Protocol and security
RC15 preserves the real FTP, explicit FTPS and SFTP implementations, real protocol E2E coverage, keychain/credential protection, TLS/SSH validation, capability checks, official Ghost FTP HTTPS URL restrictions and no-telemetry behavior.
Required release gates
RC15 must not be tagged or published until the exact candidate passes:
- Ghost FTP quality, including TypeScript, UI contract, i18n and production build checks.
- Rust formatting, workspace check, tests and Clippy with warnings denied.
- Real FTP / explicit FTPS / SFTP roundtrip E2E.
- Windows native build.
- Linux native build.
- Seven distinct Windows native QA screenshots.
- Manual visual review of Main File Manager, Site Manager, New Connection, Preferences, Transfer Center, File Properties & Permissions and About against the supplied references.
- Final pixel/overflow/flicker pass after any visual correction.
RC15 remains a release candidate until those gates are confirmed on its final exact HEAD.
What's Changed
- Post-RC14 click and error hardening by @bren-wp in #13
- Ghost FTP RC15 — startup and deep-link error hardening by @bren-wp in #14
- Ghost FTP RC15 — final native pixel pass and approved release gate by @bren-wp in #15
Full Changelog: v2.1.1-rc.14...v2.1.1-rc.15