Skip to main content

Module fs_handlers

Module fs_handlers 

Source
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 🔒