Oded Falik
6753ade6ff
feat(rclone): add read-only rclone VFS provider
...
Adds an `rclone://<remote>/<path>` scheme backed by the rclone CLI, giving
yazi native browsing of any of rclone's 100+ remotes (S3, GCS, Azure, SFTP,
WebDAV, local, …) without a FUSE mount.
- New SchemeKind::Rclone threaded through the scheme/URL type system,
mirroring Sftp (remote, virtual, Unix-path, byte-encoded path semantics).
- yazi-vfs rclone provider:
- read_dir via `rclone lsjson`
- metadata via `rclone lsjson --stat` (synthesized POSIX mode)
- seekable read-only File streaming `rclone cat --offset`; seek respawns
the child at the new offset. Detects premature EOF and unknown sizes.
- all write ops return Unsupported (read-only for now)
- `remote:/path` targets preserve the leading slash, so filesystem-like
backends (local, sftp) work alongside object stores.
- Config: [services.<name>] type = "rclone", remote = "..."
- Tests:
- tests/rclone_local.rs: hermetic, points an rclone `local` remote at a
temp fixture dir, so it needs no cloud/credentials and skips if `rclone`
isn't installed. Covers list, read, seek, missing-object, and a >8 MiB
parallel multi-chunk copy with position-varying bytes.
- tests/rclone_read.rs: env-driven live tests against a real remote
(ignored by default; paths supplied via env vars, nothing hard-coded).
2026-07-07 12:17:38 -07:00
三咲雅 misaki masa
c92c4aba88
feat: make visual mode support wraparound scrolling ( #4101 )
2026-07-05 18:06:25 +08:00
三咲雅 misaki masa
b8ceaea940
feat!: show file icons in trash/delete/overwrite confirmations ( #4096 )
2026-07-02 04:09:12 +08:00
三咲雅 misaki masa
4f45ddb514
fix: ignore NumLock state when comparing keybindings ( #4071 )
2026-06-20 23:57:12 +08:00
三咲雅 misaki masa
0ba1811af3
fix: use cleaned and normalized $PWD as startup CWD to avoid MSYS2/git-bash path quirks ( #4068 )
2026-06-20 12:47:00 +08:00
三咲雅 misaki masa
feeea673f1
fix: normalize \\?\-prefixed Verbatim paths when creating relative symlinks on Windows ( #4067 )
2026-06-20 12:07:33 +08:00
三咲雅 misaki masa
446a5721bf
refactor: move Lua bindings down into each subcrates ( #4049 )
2026-06-18 15:06:31 +08:00
三咲雅 misaki masa
9bdd6777e4
feat: keymap Lua bindings ( #4021 )
2026-06-06 13:45:52 +08:00
三咲雅 misaki masa
6c30430666
fix: a TOCTOU race condition while creating temporary directories ( #4008 )
2026-05-28 18:07:31 +08:00
三咲雅 misaki masa
c037855c4f
feat!: new virtual terminal backend ( #3989 )
2026-05-22 17:00:06 +08:00
Daniel Vincent
fde563380b
feat: bulk create ( #3793 )
...
Co-authored-by: sxyazi <sxyazi@gmail.com>
2026-05-12 02:12:08 +08:00
三咲雅 misaki masa
92b9ea3794
fix: make the input component sync and reactive ( #3949 )
2026-05-09 09:26:07 +08:00
三咲雅 misaki masa
62dd22b8da
fix: put package cache in cache dir instead of state dir ( #3930 )
2026-05-02 22:15:25 +08:00
sxyazi
4a2e5addcd
feat: new app:theme action that hot-reload user themes/flavors ( #3906 )
2026-04-21 23:34:56 +08:00
三咲雅 misaki masa
ae4c138f49
fix: paste --force doesn't work on existing read-only files with the same name ( #3894 )
2026-04-17 00:16:29 +08:00
sxyazi
463150848d
feat: dynamic previewer Lua API ( #3891 )
2026-04-16 17:05:46 +08:00
sxyazi
80a54c3dd5
fix: use u64 for parsing Linux partition blocks ( #3873 )
2026-04-11 09:25:17 +08:00
三咲雅 misaki masa
74d903a49a
feat: expose stash action and give it a new search source ( #3872 )
2026-04-11 07:59:38 +08:00
sxyazi
ec178fdb52
refactor: unify progress representation and add cleanup state ( #3853 )
2026-04-05 14:05:42 +08:00
三咲雅 misaki masa
4bb4f37555
refactor: simplify the remote progressive file copier ( #3852 )
2026-04-04 21:28:57 +08:00
sxyazi
ad655eda52
refactor: simplify FromStr implementations with strum
2026-04-03 09:13:52 +08:00
三咲雅 misaki masa
4857d46918
feat: make Action a deserializer ( #3841 )
2026-04-02 19:15:36 +08:00
三咲雅 misaki masa
d4924ebcad
fix: treat nfs4 mounts as soundless for directory refresh ( #3800 )
2026-03-22 06:36:34 +08:00
三咲雅 misaki masa
8932ddd66d
perf: preset multi spotter only updates sizes for folders to cut memory usage ( #3751 )
2026-03-10 12:39:19 +08:00
三咲雅 misaki masa
9eb4d03a44
feat: dual watcher for local files ( #3713 )
2026-02-26 08:16:58 +08:00
三咲雅 misaki masa
8b773a62a5
fix: make group order of files from flat view stable on select ( #3712 )
2026-02-23 19:01:04 +08:00
三咲雅 misaki masa
e49cdfe220
fix: fallback in Windows casefold for MS-DOS devices ( #3700 )
2026-02-19 13:22:14 +08:00
三咲雅 misaki masa
578016e00f
refactor: use the term "action" instead of "command" ( #3694 )
2026-02-18 17:08:48 +08:00
三咲雅 misaki masa
31cfc58188
feat: new download DDS event fires when remote files are downloaded ( #3687 )
2026-02-16 12:52:58 +08:00
SuniRein
c0f96f553b
feat: new sort_fallback option to control fallback sorting behavior ( #3077 )
...
Co-authored-by: sxyazi <sxyazi@gmail.com>
2026-02-15 14:00:58 +08:00
sxyazi
a015d4a7ef
feat: new relay-notify-push DDS event to allow custom notification handlers ( #3642 )
2026-01-31 09:25:17 +08:00
AminurAlam
97d0c6bb23
fix: sort extension excludes directories since only files have extensions ( #3582 )
2026-01-18 01:09:47 +08:00
三咲雅 misaki masa
756964b10a
fix: build error on NetBSD ( #3506 )
2026-01-17 13:11:25 +08:00
itsvyle
233d721e7c
feat: tree view for the preset archive previewer ( #3525 )
...
Co-authored-by: sxyazi <sxyazi@gmail.com>
2026-01-11 13:20:43 +08:00
Gabriel Wicke
c6e1702c61
fix: trust directory stats outside of Linux and macOS ( #3528 )
...
Co-authored-by: sxyazi <sxyazi@gmail.com>
2026-01-08 15:34:36 +08:00
Gabriel Wicke
30ac041d9e
refactor: make partition heuristic predicate a positive match ( #3526 )
2026-01-08 02:25:50 +08:00
三咲雅 misaki masa
81c66a645f
fix: a race condition generating unique filenames for concurrent file operations ( #3494 )
2026-01-03 16:40:49 +08:00
三咲雅 misaki masa
faf33e1b03
fix: stricter casefold matching ( #3470 )
2025-12-28 16:05:06 +08:00
三咲雅 misaki masa
77d36ff5a5
feat: new fs.copy() and fs.rename() APIs ( #3467 )
2025-12-27 17:52:15 +08:00
三咲雅 misaki masa
8c81172a19
feat: new duplicate DDS event for copying files ( #3456 )
2025-12-24 13:28:38 +08:00
sxyazi
6e3c96289e
feat: make task post-hooks stateful ( #3454 )
2025-12-24 01:15:18 +08:00
三咲雅 misaki masa
e9eb8b9155
fix: unify path expansion and absolutization behavior ( #3438 )
2025-12-17 23:00:05 +08:00
三咲雅 misaki masa
ac7718c226
feat: new experimental ya.async() API ( #3422 )
2025-12-11 01:10:28 +08:00
三咲雅 misaki masa
9ae8b90d23
feat: prioritize symbolic links when cutting remote files ( #3412 )
2025-12-07 18:00:49 +08:00
三咲雅 misaki masa
c569263a50
fix: always follow symlinks when pasting remote files ( #3406 )
2025-12-05 23:46:23 +08:00
sxyazi
205b7fe11f
refactor: rename the "provider" term in VFS config to "service" ( #3403 )
2025-12-05 15:04:39 +08:00
三咲雅 misaki masa
dccc9b2c2a
fix: escape control characters in filenames ( #3400 )
2025-12-04 16:13:39 +08:00
三咲雅 misaki masa
c7739c5941
feat: remote file management ( #3396 )
2025-12-02 19:33:27 +08:00
三咲雅 misaki masa
44e244b9d6
perf: concurrent chunked upload and download of a single file over SFTP ( #3393 )
2025-12-01 22:39:36 +08:00
三咲雅 misaki masa
0fb652d2ec
feat: new null plugin as a general-purpose error handler ( #3387 )
2025-11-30 14:44:17 +08:00