Fixed
- Custom file picker stabilized: token-guarded async navigations, history only on
list_directorysuccess, double-close guard and focus-trap fix, stale preview suppression, breadcrumb retained on error, andz-index/keyboard (e.key) handling so the picker reliably sits above the new-tab card. - File picker path handling hardened: folder-mode keeps the selected folder for last-directory tracking while file-mode stores the parent, bare drive roots (
C:) normalized,isWindowsPathnow matches only drive-letter paths, UNC paths recognized viaisAbsoluteInputPath,joinPath/splitPathedge cases fixed, and typed filenames are validated viaget_path_infobefore close. - File picker filtering corrected: native directory-filter flag fixed and filtering now re-renders client-side without refetching; OneDrive fallback candidates and suffix-based sidebar sync (
QUICK_NAMESdedup) improve active-item highlighting, with deadQUICK_PATHSgetter and candidate logic removed. - File picker modal now matches the settings glass size (720 px × 88 vh,
min-height: 0on flex children) for a constant layout without flex-shrink jank. - Settings no longer flicker when reordering/removing Workspace rows or adding/removing/editing Secondary Commands: those paths now surgically re-parent or patch single rows (
syncRowsOrder,createCustomRowElement/patchCustomRow,createSecondaryRow) instead of rebuilding viainnerHTML; scroll positions are preserved viasaveScroll/restoreScrollhelpers (also covering profiles and history fallbacks) and the WebView2 blur flash is eliminated. - Workspace settings now shows a visible drag-handle grip for reordering rows.
Changed
- Frontend maintainability: deduped row templates and scroll helpers across
sidebar.js,app.js, andprofiles.js(sharedcustomRowInner/saveScroll/restoreScroll/findEmptyPlaceholderhelpers, ~18 lines net reduction); inlined single-caller wrappers incommand-palette,dialog,file-picker, andprofiles; narrowed large-method extracts and extracted panel-tab restart logic into a sharedrestartPanelTabhelper. - Rust backend: flattened complexity in
pty.rs, window handling inlib.rs,config.rs,history.rs, andcommands/terminal.rsvia guard clauses, early returns, and extracted helpers; deduped window-geometry sanitization against the sharedMIN/MAXconstants and switched to borrowedPathwhere cloning was unnecessary.
Which file do I download?
- Windows:
x64-setup.exeto install, orx64_portable.exeto run without installing. - macOS:
aarch64.dmgfor Apple Silicon (M1 and newer),x64.dmgfor Intel. - Linux:
.AppImageruns on any distro; grab the.debor.rpmfor your package manager.
Ignore the .sig and .app.tar.gz files. The auto-updater uses those.