diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-07 01:17:29 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-07 01:17:29 +0200 |
| commit | 435f54b382004de28196aa44c9b1d2c7368ae212 (patch) | |
| tree | 7cb177304de9acba08813fdbc8611742254d357d /packages/meshbay-node/src/meshbay_node/daemon.py | |
| parent | 2d3cbdec301c592daa2faff8e1ca1cab155ebb58 (diff) | |
| download | meshbay-435f54b382004de28196aa44c9b1d2c7368ae212.tar.gz | |
fix(node): remove --upload-dir rather than document it
Caught in review, and the review was right. The previous commit documented the
flag as deprecated so that `--help` and the man page would agree. That solved
the wrong problem: the flag contradicts the model this whole refactor exists to
establish, and the coherent answer was to delete it.
It wrote `upload_dir` into a *brand-new* `[[groups]]` block, and
`GroupConfig.__post_init__` reads that key by forcing every other root
read-only and appending that path as the one writable one. So
`group add --dir X --writable --upload-dir Y` silently made X read-only — two
mechanisms deciding which directories accept uploads, one of them invisible, in
a group created after the model that replaced it.
Gone from the CLI, from `ops.attach_group`, from the loopback API and from the
MNP `group_attach` payload, which now carries `writable` instead. The *read*
path in `config.py` is deliberately untouched: an existing node.toml using
`upload_dir` must keep working, and that is the only legitimate use left. The
man page says so under the config key, and no longer lists an option.
The test that guarded the deprecation wording now guards its absence — and
earned itself immediately by finding a `group add` usage string still offering
the flag.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011pvMdvLBG92jyhvD5pD6us
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/daemon.py')
| -rw-r--r-- | packages/meshbay-node/src/meshbay_node/daemon.py | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/daemon.py b/packages/meshbay-node/src/meshbay_node/daemon.py index a9376e7..74fff4c 100644 --- a/packages/meshbay-node/src/meshbay_node/daemon.py +++ b/packages/meshbay-node/src/meshbay_node/daemon.py @@ -1783,9 +1783,6 @@ def main() -> None: help="hub username, for init") parser.add_argument("--dir", default=None, help="shared directory, for group add") - parser.add_argument("--upload-dir", default=None, - help="deprecated: a second read-write root, for group " - "add. Use `root add <path> --writable` instead") parser.add_argument("--yes", action="store_true", help="skip the confirmation for destructive commands") parser.add_argument("--config", type=Path, default=None, @@ -2571,11 +2568,13 @@ def main() -> None: print("usage: meshbay-node group list|add|remove <name>") sys.exit(1) if not args.target or not args.dir: - print("usage: meshbay-node group add <name> --dir <path> [--upload-dir <path>]") + print("usage: meshbay-node group add <name> --dir <path> " + "[--no-writable]") print() print("The group must already exist on the hub and be yours. This") - print("only tells the node to host it, and picks the directory.") - print("--upload-dir sets a separate directory for uploaded files.") + print("only tells the node to host it, and picks its first") + print("directory, which accepts uploads unless --no-writable.") + print("Add more with: meshbay-node root add <path> [--writable]") sys.exit(1) cfg = load_config(args.config or DEFAULT_CONFIG_PATH) @@ -2586,17 +2585,10 @@ def main() -> None: writable = args.writable is not False body = {"name": args.target, "shared_dir": args.dir, "writable": writable} - if args.upload_dir: - print("WARNING: --upload-dir is deprecated. The shared directory is " - "read-write by default; use 'meshbay-node root add " - "<path> --writable' for a second one.") - body["upload_dir"] = args.upload_dir out = _daemon_api(cfg, "/api/groups/attach", method="POST", body=body) print(f"{out['name']} ({out['group_id'][:8]}) added to {out['config']}") print(f" shared_dir {out['shared_dir']}" f" ({'read-write' if writable else 'read-only'})") - if out.get("upload_dir"): - print(f" upload_dir {out['upload_dir']}") print() print("Tell the daemon to re-read its config, then give the group a key:") print(" meshbay-node reload") |