Repository navigation
feat: mount authorized msg resources as a read-only FUSE filesystem - #233
Conversation
|
You have reached your Codex usage limits for security reviews. Please try again later. |
|
One lifecycle issue in the current head ( In serve_mount, Please handle a failed or stalled unmount explicitly and define a bounded cleanup path. Add a regression where the unmount helper returns nonzero while the native worker remains alive, plus a kernel case with an open handle or CWD during cancellation. The current lifecycle mock always returns success, and the kernel smoke closes its file handles before cancelling. This finding is from source inspection; I have not run a local reproduction. |
FUSE acceptance completed on
|
User request
Introduce FUSE support so users can mount the msg website's resource tree in a local folder.
Implementation
msg mount ~/msg, with--pathfor a subtree and existing--server, account, key, certificate and OAuth identity selection.file.stat, cursor-paginateddiscovery.read_queryand signed, revision-pinned HTTP byte ranges.file.statnow returns the authoritative resource-typecontainerflag.nodev,nosuid,noexec; no automatic ACK, follow, reaction, tool execution or payment. No persistent content cache; raw reads use direct I/O and reauthorize each content request.msgctl[fuse]dependency and locked mfusepy 3.1.1; normal CLI use does not import native FUSE.Verification
Rollout / boundaries
Both client and server need this change because the client requires
file.stat.container; older servers fail explicitly rather than guessing. The feature is not yet published to PyPI or deployed. Linux gets real kernel CI; macOS/macFUSE is implemented but not hardware-validated. Native Windows is unsupported. Writes remain explicit CLI operations.Usage and limits:
docs/fuse.md.The one-off integration workflow was removed from the branch after applying the reviewed patch; it is not part of the final PR diff.