170 Commits
Author SHA1 Message Date
aleksey-hoffman 8908e214aa Dev (e2e): isolate WebDriver test runs in a temporary data folder - Add app_dirs helper: in debug builds SFM_E2E_DATA_DIR moves app data, config, local data, cache, logs, window state, extensions, thumbnails, global search index, icon probes and the WebView2 profile under one folder; release builds compile the override out - Route every app data path in Rust and the frontend through the helper (new get_app_dirs command) - Skip the autostart sync, default file manager migration and single-instance handoff when isolated, so test runs never touch the real OS integration or a running SFM - wdio creates a fresh temp folder per run, passes it through tauri-driver, refuses to launch the app until the override is confirmed, copies app logs to the artifacts on failure and deletes the folder afterwards (SFM_E2E_KEEP_DATA=1 keeps it) - Drop the leftover-extension cleanup from the extension spec 2026-10-19 01:45:09 +03:00
aleksey-hoffman 4b0a241999 Fix (extensions): harden extension isolation and permission checks - Enforce manifest-declared permissions host-side in Rust for extension shell commands, reading the authoritative on-disk manifest instead of relying on the IPC caller - Remove the unused in-process sandbox helper that shared host realm intrinsics; the Web Worker and sandboxed iframe remain the real isolation boundary - Tighten the static extension-code screen and add Rust and JS regression tests 2026-10-18 13:46:57 +03:00
aleksey-hoffmanandcarfeii 45cedf892f Fix (security): SSRF via DNS rebinding and redirects in extension downloads - Check resolved addresses inside the DNS resolver so every connection is covered, including redirect hops, retries and fallback URLs - Re-validate every redirect target - Block more non-public ranges (CGNAT, 0.0.0.0/8, multicast, reserved, IPv4-mapped/compatible IPv6, NAT64, 6to4) and bracketed IPv6 literals - Fixes #552
Co-authored-by: carfeii <carfeii@users.noreply.github.com>
2026-10-18 13:15:54 +03:00
aleksey-hoffman c2295cecd5 Dev: sync Cargo version with package.json (2.2.0) 2026-10-17 18:33:56 +03:00
aleksey-hoffman 4ea1afd55a CI: fix signed installer upload in release workflow - Set GH_REPO since sign-windows job has no checkout - Keep signed installer as a workflow artifact 2026-10-17 02:52:57 +03:00
aleksey-hoffman 0ae258d627 Fix: SMB move to trash confirms before permanent delete
Windows UNC paths and remote drives cannot use the Recycle Bin. Ask with the existing permanent-delete dialog, then delete only those paths. Local trash is unchanged, and a failed trash never removes the file.
2026-10-11 19:30:19 +00:00
aleksey-hoffman 9560da5177 Fix: broken window state after fullscreen, maximize and snap
- Fit the restored main window into the work area on startup so an oversized saved size (e.g. from fullscreen) no longer breaks restore
- Restore window state in stages: frame first, then maximized and fullscreen
- Make the maximize button exit fullscreen instead of toggling maximize
- Disable window drag regions while fullscreen
2026-09-29 17:49:20 +03:00
aleksey-hoffman b930cbaa21 Refine: UX: added ability to save navigator settings "per folder"; redesigned menu 2026-08-21 17:12:26 +03:00
aleksey-hoffman 1a9108db37 UX: Remove ability to set app as default FM in MS store version
- Remove unvirtualizedResources restricted capability (MS store rejected it)
- Keep app launcher
2026-07-21 17:19:54 +03:00
aleksey-hoffman e23f6c5c25 v2.2.0 2026-07-17 18:59:21 +03:00
aleksey-hoffman db15621b06 Refine: large dir loading performance 2026-07-17 00:49:33 +03:00
aleksey-hoffman 2bb74f8826 Refactor: app launcher handling 2026-07-16 14:12:52 +03:00
aleksey-hoffman c239bb4f4d Refine: app launcher 2026-07-13 18:28:10 +03:00
aleksey-hoffman 116e592a41 Dev: refactor path formatting 2026-07-09 22:04:57 +03:00
aleksey-hoffman b25bedcb62 Refine: lint; allow "/" locations on Linux 2026-07-09 11:39:18 +03:00
aleksey-hoffman 1d5a1c55a4 Dev: bump deps; code clean up 2026-07-09 11:34:54 +03:00
aleksey-hoffman 31c665c6f8 Dev: lint; allow "/" locations on Linux 2026-07-08 15:51:38 +03:00
aleksey-hoffman cd567de215 Fix: directory entries re-order after loading 2026-07-08 13:14:02 +03:00
aleksey-hoffman 0d77129ff7 UX: Add "disconnect" option to context menu 2026-07-06 14:37:13 +03:00
aleksey-hoffman dbee91384d Fix: WSL host UNC path handling on Windows
- Normalize extended UNC paths for modern context menu
- Treat //wsl.localhost as a virtual directory listing WSL distros
2026-07-06 12:49:16 +03:00
aleksey-hoffman 4e311d32ac Fix: setting "default file manager" not working in MS store build 2026-07-03 14:29:41 +03:00
aleksey-hoffman e1dd1f8693 Fix: Cannot open files in SMB share 2026-07-03 11:06:39 +03:00
aleksey-hoffman b355bf9653 Dev: errors 2026-07-03 00:26:30 +03:00
aleksey-hoffman 9ec716863a Add frontend HTTP body size guard and cache manifest HTTP allowlists. 2026-07-03 00:05:41 +03:00
aleksey-hoffman 1d027e2edf Extensions: add new API: apply layout and sorting preferences; refine HTTP request API
- Add sigma.view (layout/sort) behind view permission (@sigma-file-manager/api 1.11.0)
- Derive HTTP host allowlists from installed manifests server-side; cap request body size
- Reset modal scroll/focus only on setContent, not updateElement
2026-07-02 23:51:33 +03:00
aleksey-hoffman 6c8c03dda5 Extensions: add new API: HTTP request; add some design improvements 2026-07-02 20:05:17 +03:00
aleksey-hoffman d6282b5cfc Refine: allow extensions use local binaries 2026-07-02 13:58:26 +03:00
aleksey-hoffman 8c529895a1 New feature: allow extensions use local binaries 2026-07-01 15:17:26 +03:00
aleksey-hoffman d59e8e9ea4 New settings: Window memory / performance control 2026-06-30 11:52:07 +03:00
aleksey-hoffman bcd382aa97 UX: improve image / gif / video preview memory usage and responsiveness 2026-06-29 15:18:17 +03:00
aleksey-hoffman 7b3b771a2f Fix: launch opened files from their parent directory 2026-06-29 12:42:32 +03:00
aleksey-hoffman 0ab68665a9 Dev: add some targeted logging to debug future memory errors, fix dev warnings and errors
- Gate dir-watcher diagnostics behind SFM_DIR_WATCHER_DIAG
- Route all Windows shell icon lookups through system_icons guards
- Fix WT profile icons (ICO/image paths, WindowsApps aliases, path normalization)
- Split archive.rs into focused modules; share encoding options with frontend
- Silence Vite dynamic import warning in extension worker
2026-06-29 12:04:59 +03:00
aleksey-hoffman 6634250f1a Refine: Support password-protected ZIP archives and non-UTF-8 zip archives
- styling
- auto-detect encoding and make it the default selected option
2026-06-28 23:03:43 +03:00
aleksey-hoffman 35c5a374c1 Refine: Support password-protected ZIP archives and non-UTF-8 zip archives 2026-06-28 22:40:33 +03:00
oxygen dioxideandaleksey-hoffman ce7aa2da45 Support password-protected ZIP archives and non-UTF-8 zip archives (#474)
* 支持解压加密压缩包和非utf8压缩包

* Fix: do not prompt for encoding when only a zip password is required

Stop marking encoding as undetermined when zip entries cannot be read
without a password, so password-only archives skip the encoding picker.

* Fix: detect zip password requirement via ZipError instead of message text

Match ZipError::PASSWORD_REQUIRED directly so archive preflight does not
depend on the zip crate's Display formatting.

* Fix: decode archive entry names with the selected encoding during extraction

Reuse the same encoding-based path decoding for progress labels so
non-UTF-8 archives show correct file names while extracting.

* Test: cover archive preflight, encoding decode, and encrypted zip extraction

Add unit tests for check_archive, Shift-JIS filename decoding, and wrong
password handling, and fix decoded path string allocation in the helper.

* Fix: abort archive extraction when preflight check fails

Show the archive error to the user and stop extraction instead of
silently continuing without password or encoding options.

* Fix: reset archive options dialog fields each time it opens

Clear the password and encoding selection when the dialog is shown so
previous archive extraction attempts do not leak into the next one.

* Fix: require a password before extracting encrypted archives

Disable the extract action in the archive options dialog until a
non-empty password is entered when the archive is encrypted.

* i18n: translate archive extraction options dialog for all locales

Localize the new archive password and encoding UI strings and related
error messages across every supported language file.

---------

Co-authored-by: aleksey-hoffman <aleksey.hoffman.public@gmail.com>
2026-06-28 22:29:21 +03:00
aleksey-hoffman 965509a27a UI: various style improvements 2026-06-28 21:47:03 +03:00
aleksey-hoffman 8b33f61c8e Refine (Linux): clipboard extension API 2026-06-25 21:45:16 +03:00
aleksey-hoffman bd25003ee5 UX/DX: Added new clipboard extension API and new list-detail extension view
- Added clipboard API
- Added new list-detail extension view
- Improved indexing stabillity (heap error)
2026-06-25 18:44:15 +03:00
aleksey-hoffman 054e2472d3 UX: indexing stability improvements 2026-06-24 17:17:53 +03:00
aleksey-hoffman 40c9785778 UX: added root "Locations" address
- Added root locations path to address bar for easy drive / location switching, especially useful in split-view mode
- Root locations can be added to favorites and tagged
2026-06-19 15:23:11 +03:00
aleksey-hoffman 999b228572 Dev: fix CI tauri-linux 2026-06-19 09:54:26 +03:00
aleksey-hoffman bb368352ce Refine: clipboard feature logic and code quality 2026-06-18 19:55:27 +03:00
aleksey-hoffman e14aa5c56f Refine: copy/pasting files and folders with other apps via system clipboard 2026-06-16 15:20:27 +03:00
aleksey-hoffman 72851166e4 New feature: copy/pasting files and folders with other apps via system clipboard
- App can now copy paste images from web to drive via system clipboard.
- App can now copy/paste files and folders to and from other apps via system clipboard (if they support it). Apps like "File Explorer".
- Added "same name" conflict resolution dialog that asks whether to rename or merge the copied items
2026-06-16 15:12:12 +03:00
aleksey-hoffman ee6a6c6cea UX: improve window resizing performance 2026-06-11 18:16:49 +03:00
aleksey-hoffman 44a30dc989 Fix: app showing update notification for unreleased versions 2026-06-04 23:13:38 +03:00
aleksey-hoffman b48737b1f0 Refine: New feature: link handling 2026-06-04 22:54:18 +03:00
aleksey-hoffman 39743e625a New feature (Windows only): native "Properties" window 2026-06-04 21:52:58 +03:00
aleksey-hoffman 1f4119f04a UX (navigator): improve list scrolling performance 2026-06-04 20:58:09 +03:00
aleksey-hoffman 498431d23a New feature: link handling 2026-06-04 20:31:24 +03:00