diff --git a/README.md b/README.md index aa2e5d0..6093960 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Built for small, mutually trusted groups: a hacklab, a tech team, a circle of fr ## Requirements - POSIX shell (`/bin/sh`) -- `tmux` ≥ 3.3 (for `server-access`), running when you invoke the script +- `tmux` ≥ 3.3 (for `server-access`) on `$PATH`, or named via `PARTY_TMUX` - A shared system group (default name `party`, override via `TMUX_PARTY_GROUP`). Every host and guest must be a member. - `write(1)`, optional: used to ping invited guests. Silently skipped when absent. @@ -53,7 +53,7 @@ party join standup # attach (auto-attaches if only one party is running) party leave # detach and clean up ``` -The `party` group is the partyline: filesystem access to party sockets is shared among members, and `tmux server-access` decides who is actually let into a given session. No shared install directory is needed: each party keeps its own state under its own per-party private directory. +The `party` group is the partyline: filesystem access to party sockets is shared among members, and `tmux server-access` decides who is actually let into a given session. No shared install directory is needed: each party keeps its own state under its own per-party private directory. Parties you haven't been invited to yet show up in `party list` as `invite-only`; `party join` on one tells you which host to ask (exit status 13). ## How it works @@ -71,7 +71,7 @@ Party metadata (host, server pid, group, creation time) lives in a `roster` file | Variable | Default | Purpose | |---|---|---| | `TMUX_PARTY_GROUP` | `party` | Shared group for socket access. Override to reuse an existing group (`wheel`, `users`, `staff`), or pass `--group ` to `party host`. | -| `PARTY_SOCKET_DIR` | `/tmp` | Where each party's private directory (socket + roster) is created. | +| `PARTY_SOCKET_DIR` | `/tmp` | Where each party's private directory (socket + roster) is created. No whitespace in the path. | | `PARTY_TMUX` | `tmux` | tmux binary to use. Override if tmux ≥ 3.3 lives at a non-standard path. | ## Support @@ -106,17 +106,17 @@ Three honest caveats, with the full detail in `man party`: | Subcommand | Effect | |---|---| -| `party host [name]` | Spawn a dedicated party tmux server. Only the host is on the allowlist. | +| `party host [name]` | Spawn a dedicated party tmux server. Only the host is on the allowlist. Names: letters, digits, `_`, `-`; max 63 chars. | | `party invite alice [-r]` | Add alice to the allowlist. `-r` / `--read-only` invites as a watcher. | -| `party voice alice` | Promote alice to read/write. | -| `party mute alice` | Demote alice to read-only. | -| `party kick alice` | Revoke alice's invite, disconnect her, kill her guest session. | -| `party detach alice` | Disconnect alice; keep her on the allowlist. | +| `party voice alice` | Promote alice to read/write. `--party ` selects among several hosted parties. | +| `party mute alice` | Demote alice to read-only. `--party ` selects among several hosted parties. | +| `party kick alice` | Revoke alice's invite, disconnect her, kill her guest session. `--party ` selects among several hosted parties. | +| `party detach alice` | Disconnect alice; keep her on the allowlist. `--party ` selects among several hosted parties. | | `party list` | List live parties on this host. | | `party who [--short]` | Show invited and attached users for the current party. | | `party status` | Show the caller's own state: hosting, attached, or idle. | | `party close` | Tear down the party server and its roster entry. Host-only. | -| `party join [name] [--passive]` | Join a party. Auto-attaches when one is running; picker otherwise. `--passive` attaches read-only to the host's view (watcher mode). | +| `party join [name] [--passive]` | Join a party. Auto-attaches when one is running; picker otherwise. `--passive` attaches read-only to the host's view (watcher mode). Read-only invitees always join passive. | | `party leave` | Detach and clean up the per-guest session. | | `party role [active\|passive\|switch]` | Flip your clients between guest and host session. No arg prints the current role. | | `party --help` | Help text. | diff --git a/deploy.sh b/deploy.sh index 3c77d2e..9022518 100755 --- a/deploy.sh +++ b/deploy.sh @@ -1,6 +1,6 @@ #!/bin/sh # Sync the deployable surface to a remote host for `make install`. Pins the -# include list to the seven items the project ships: Makefile, party, party.1, +# include list to what the project ships: Makefile, party, party.1, # README.md, tools/post-install.sh, and tests/ (so the host can run `make # check` as a target-OS smoke test). This is the dev-rsync variant. The # release-tarball variant strips tests/ as well; not implemented here. @@ -44,6 +44,5 @@ exec rsync -av --delete "$@" \ --include='/tests/' \ --include='/tests/*.bats' \ --include='/tests/helpers.bash' \ - --include='/tests/run-remote.sh' \ --exclude='*' \ ./ "$dest"