aleksey-hoffman
2b8bed4325
CI: fix the e2e leftover data check failing on an empty temp folder list - An empty Get-ChildItem result added a null entry to the leak list
2026-10-19 01:45:09 +03:00
aleksey-hoffman
7f9ebf2b79
CI: check that the Windows e2e run leaves no app data behind - Fail if the app's default roaming or local data folders get content, or the run's temp folder is left over
2026-10-19 01:45:09 +03:00
aleksey-hoffman
1305d81d18
Dev (e2e): retry removing the isolated data folder after the run - The app's WebView2 processes can still hold files when onComplete runs on Windows - Never remove a folder that is not the run's own temp folder
2026-10-19 01:45:09 +03:00
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
979d6e2c9d
Dev (e2e): make WebDriver tests pass on a fresh Windows profile - Close the first-launch changelog dialog before a test starts - Navigator folder test opens the first folder the user can list, skipping inaccessible junctions like "Application Data" - Save failure artifacts for failed hooks too - Lower WebdriverIO log level to warn
2026-10-19 01:45:09 +03:00
aleksey-hoffman
b42aa683b2
CI: run WebDriver e2e tests on Windows - Add e2e-windows job to ci.yml (debug build, tauri-driver, msedgedriver matching the runner's WebView2) - Pass --remote-debugging-port to WebView2 via HKLM policy, since WebView2 150+ ignores WEBVIEW2_* env vars for elevated processes - Upload screenshots, page sources and app logs on failure
2026-10-19 01:45:09 +03:00
aleksey-hoffman
e00011fd05
Dev (e2e): add WebDriver spec for the extension main flow - Install a local test extension in the real app window, check that a call covered by its declared permission works and a shell call without the permission is denied, then disable/enable and uninstall it - Save a screenshot and page source for failed tests
2026-10-19 01:45:09 +03:00
aleksey-hoffman
5b6cab440d
Dev (extensions): add main-flow test coverage for the extension lifecycle - Cover install/load, activation in the worker isolation host, an API call allowed with its permission and denied without it, and teardown on disable/uninstall - Assert the host binds caller identity on every privileged IPC call - Add neutral regression cases for the realm-escape technique - Runs under vitest in CI on Linux, alongside the Rust command tests
2026-10-18 13:52:50 +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-hoffman
74ddf6222a
Docs: add security policy - Report vulnerabilities privately via GitHub private vulnerability reporting - Supported versions, response goals and scope
2026-10-18 13:20:46 +03:00
aleksey-hoffman and carfeii
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
3df1570d17
Fix (linux, Flatpak): app panics on launch - bundle libayatana-appindicator, update GNOME runtime to 51 ( #551 )
...
* Fix (linux, Flatpak): app panics on launch (Failed to load ayatana-appindicator3) - Bundle libayatana-appindicator via Flathub shared-modules - Update GNOME runtime from EOL 48 to 51
* Dev: lint - Fix existing ESLint and Stylelint errors from main - Ignore Flatpak shared-modules and build dirs in ESLint
2026-10-17 17:49:33 +03:00
aleksey-hoffman
61cdbb61f2
Docs: add code signing policy section
2026-10-17 03:26:00 +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
1a6400a241
CI: sign Windows installer via SignPath in release workflow - Upload unsigned installer only as a workflow artifact, never to the release - Add sign-windows job (release-signing, 6h approval timeout) that verifies the Authenticode signature and uploads the signed installer - Don't edit notes of published releases - Increase SignPath approval timeout in sign-windows workflow
2026-10-17 02:05:23 +03:00
aleksey-hoffman
a4d4f4f1c1
Dev: keep locale JSON files ending with a newline
2026-10-16 15:59:34 +03:00
aleksey-hoffman
588165e688
New feature: select multiple files with Shift+arrow keys
2026-10-16 15:59:34 +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
4a33b290e0
UX: redesign dashboard page (delete remove from fav button)
2026-09-30 10:10:03 +03:00
aleksey-hoffman
5f678f8b27
Fix: double clicking window top area is not toggling maximized state
2026-09-29 19:49:28 +03: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
3eca4c17ae
UX: redesign dashboard page
2026-09-29 16:56:29 +03:00
aleksey-hoffman
fed49ceede
UX: improved tag editor
...
- Tags can now be rearranged in the editor and will be displayed in that order in the component
- The component now displays as many tags as it can fill in the available space instead of showing 1 and hiding the rest under the "+X"
- Increased click area for the color selector and edit buttons
2026-08-27 15:46:18 +03:00
aleksey-hoffman
e65d67cf06
UX: improve clipboard menu
...
- Better design
- Added previews and file size
2026-08-27 13:08:29 +03:00
aleksey-hoffman
74eeadab83
New feature: allow to reorder items in quick panel
2026-08-27 00:02:28 +03:00
aleksey-hoffman
dc5c8cb32e
New feature: duplicate tab
2026-08-24 16:33:01 +03:00
aleksey-hoffman
662a6988b3
Refine: Fix: sidebar drives not opening on middle click
2026-08-24 15:19:34 +03:00
aleksey-hoffman
b116ef21aa
Fix: sidebar drives not opening on middle click
2026-08-24 14:37:18 +03:00
aleksey-hoffman
a8c1dddb82
New settings: default directory and startup page
2026-08-24 14:16:47 +03:00
aleksey-hoffman
d55295a91e
UX: improved settings search
...
- Marching shortcuts now appear in the search results
2026-08-21 22:03:12 +03:00
aleksey-hoffman
5b3137c8c7
New shortcuts: switch to previous/next opened tab
2026-08-21 19:06:41 +03:00
aleksey-hoffman
7f7be33aed
New feature: add multi range selection
2026-08-21 18:52:48 +03:00
aleksey-hoffman
1699f780ac
Dev: lint
2026-08-21 17:15:44 +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
833ec8b5a1
UX: added ability to save navigator settings "per folder"; redesigned menu
2026-08-21 15:09:26 +03:00
aleksey-hoffman
2d40dcc47c
Dev: rename isCorrected key
2026-08-20 17:50:43 +03:00
aleksey-hoffman
71653d8554
UI: Add Armenian locale (by MaximalXP)
2026-08-20 17:49:59 +03:00
aleksey-hoffman
d022c0a5b6
Docs: update contributing
2026-08-20 17:38:22 +03:00
aleksey-hoffman
1325919d30
Docs: update contributing
2026-08-20 17:32:33 +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
ms-store-v2.2.0
2026-07-21 17:19:54 +03:00
Aleksey Hoffman
c6916c22ff
Docs: README
2026-07-18 14:33:20 +03:00
aleksey-hoffman
25e1a766b6
Dev: fix snap builds
2026-07-18 01:58:18 +03:00
aleksey-hoffman
ce4829f303
CI: fix msix
2026-07-17 23:41:54 +03:00
aleksey-hoffman
5ee320512a
CI: fix msix
2026-07-17 20:56:58 +03:00
aleksey-hoffman
f5da528998
Docs: update CI
2026-07-17 20:49:28 +03:00
aleksey-hoffman
e23f6c5c25
v2.2.0
v2.2.0
2026-07-17 18:59:21 +03:00
aleksey-hoffman
5ece662d9b
UI: set specific width for navigator options popover; add missing changelog locales
2026-07-17 18:56:35 +03:00
aleksey-hoffman
b831975885
Docs: changelog
2026-07-17 18:41:24 +03:00
aleksey-hoffman
db15621b06
Refine: large dir loading performance
2026-07-17 00:49:33 +03:00