Expand description
The generic fs.* RPC family behind the Files pane (“Hangar”).
Thin handlers over backend::fs_ops: each runs its filesystem work on a
blocking thread (spawn_blocking, or the trash thread for fs.trash /
fs.restore), never on an async worker, because on macOS the first
access to a protected folder blocks the calling thread while a privacy
prompt is up (spec §9.1.1 fact 10).
Reads serve any path the user can read, as the editor’s do. Mutations go
through fs_ops::ProtectedPaths instead of the editor’s home-only rule
(spec §9, “Security”).
Copy and move (fs.op.*) are jobs rather than calls: fs.op.start
answers once the request is validated, and the work reports through
files:op events (fs_ops::jobs).
Spec: docs/specs/SPEC_FILE_BROWSER_PANE_2026_10_01.md §6.3, §7, §9.
Functions§
- blocking 🔒
- Run blocking filesystem work off the async runtime.
- op_
results 🔒 - Pair each requested path with its outcome, in request order.
- register_
fs_ handlers - remote_
of 🔒