8000 fix(minimal): reword the box-name rows, the names line and session start messages in plain language by norrietaylor · Pull Request #2183 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

fix(minimal): reword the box-name rows, the names line and session start messages in plain language - #2183

Merged
norrietaylor merged 15 commits into
release/0.7.0from
fix/reword-session-start-policy-stop-0.7.0
Oct 12, 2026
Merged

norrietaylor merged 15 commits into
release/0.7.0from
fix/reword-session-start-policy-stop-0.7.0

Conversation

@norrietaylor
@norrietaylor norrietaylor commented Oct 12, 2026 •
Copy link
Copy Markdown
Member

The rest of the 0.7.0 minimum for user-facing wording: every message a user sees on min ls and at session start in normal use.

Stacked on #2182 (head 300b47b). Until that merges, this diff also shows its commits. Once it merges, release/0.7.0 is merged into this branch.

What changes

Three rewordings, one commit each, plus one test-pin fix and the merge that carries it:

  • What answers box names (affb3fee9). The text after the DNS SERVICE: and BOX NAMES: labels on min ls, and the DNS service: line at session start. The DNS row is reworded in every arm and on both verbs: the native arms in cmd/list.rs, the VM-backed arms in resolver.rs, and the session-start line. "point the host's resolver at it" is gone everywhere.
  • The names: line and the setup script messages (6f980f13c, fadfebda2). Failure echoes say "Minimal's DNS service" and name the condition that clears them.
  • Session start, policy and stop messages (2e9b82f66). Twelve strings in cmd/session.rs.

The DNS row's first arm reads "this VM's host daemon answers its box names on 127.0.0.1: (UDP)". The reference no longer names an egress section in minimal.toml, which nothing reads.

No behaviour, flag, JSON field, item id or exit code changes.

Dashboard copies

Two notes that min dash shares with the CLI change with it (minimal-tui): the no-network note in the policy pane, and the deny-all default note on the status line after a create. Both now use the CLI's sentence.

Specs amended separately

These spec lines fix text this PR rewords. The new wording ships first by the user's ruling, and the specs are amended in one later change (inbox issue 1079). This PR does not edit docs/specs.

  • Spec 18, line 245 (NET-018) and lines 262 and 265: the BOX NAMES: row body.
  • Spec 18, line 250 (NET-142): the session-start names: clause.
  • Spec 07, line 364 (R4.3): the no-network note, in the CLI and the dashboard.

The session-start names: line keeps "resolves in any browser on this machine" (spec 18, line 254), on purpose.

Test plan

  • In a Linux guest at 9e6512b: just fmt-check && just clippy && just test (3722 passed, 24 skipped), just doctest, just lint-shell.
  • bash -n on scripts/session-e2e.sh and scripts/install_test.sh.
  • In a Linux guest at f4d609d: just fmt-check, just clippy, and the minimal and minimal-tui test suites under nextest (614 passed).
  • Not run locally: just e2e, just test-vm. The e2e script's grep and case-pattern edits are proved by the KVM and macOS lanes on this PR.

Summary by CodeRabbit

  • Bug Fixes

    • Session destruction now displays the daemon’s specific error instead of a generic failure.
    • Linux DNS setup better detects when system name-resolution settings could prevent setup from working.
    • Strict-mode VM listing now warns when a VM’s sessions could not be listed.
  • Improvements

    • Updated session guidance to explain when a session is ready to attach to.
    • Clarified DNS, hostname routing, network-policy, and VM status messages, including when a proxy is not serving.
  • Documentation

    • Expanded guidance on outbound network access and when live-ingress reachability can be confirmed.

gominimal-aw-bot Bot and others added 9 commits October 11, 2026 20:07
…n language

Rename the ZONE ANSWERER row label to DNS SERVICE and NAME SURFACE to
BOX NAMES (17-column width kept), say what each port row is for instead
of the unrunnable resolver instruction, and reword three list warnings:
the skipped-VM warning names the consequence, the proxy-down warning
drops the implementation words, and the still-starting duplicate-session
warning points at `min ls` and `min session attach`.

Comments, test pins and session-e2e.sh reads that name the old labels
move with them. No behaviour, flag, JSON field or exit code changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
(cherry picked from commit 2a1ecb0)
The duplicate-session warning for a session still being created named a
bare `min session attach`, which fails as printed; it now carries the
same key the active arm prints.

`min finalize-install` reads the same listings as `min ls` but lists no
sessions, so the skipped-VM warning only says "its sessions are not
listed" under `min ls`.
… the attach placeholder

Restore the native DNS row body to the text the VM-host arms and
`min session activate` still print, so one row has one wording.
Name the proxy in the listener warning as the HOSTNAME PROXY row does,
and pin the e2e patterns on the `warning: ` prefix so the row bodies
cannot satisfy them. Show `min session attach <session>` in the
still-being-created hint so no printed command names a session attach
would refuse.
min ls names the row DNS SERVICE, so min session activate now prints
"DNS service:" where it printed "zone answerer:". Both verbs name the
same holder under the same label. The text after the label is unchanged.

Comments that still named the old min ls rows, ZONE ANSWERER and
NAME SURFACE, now say DNS SERVICE and BOX NAMES.
…sion start

Reword the DNS SERVICE row in every arm and on both verbs: the native
rows in min ls, the VM-backed rows, and the DNS service line at session
start now say what answers box names on 127.0.0.1:<port> in one plain
sentence, and no longer tell the reader to point the resolver at it.

Reword the BOX NAMES row, the HOSTNAME PROXY row when the proxy is down,
the proxy-down causes and the session-start warning for a port held by
another program. The row no longer prints the service's socket path, so
vm_host_answerer_line_at folds into vm_host_answerer_line.

Tests and scripts/session-e2e.sh that pin the old text follow. No
behaviour changes: only the words printed.
…plain language

The session-start names line now says a box name opens through the HTTP
proxy at 127.0.0.1:<port>, and joins a proxy-down cause with a colon.

min finalize-install says what to change when lookups bypass
systemd-resolved, tells a second user how the service's owner removes
it, and says a path could not be read. Its root script calls the
service Minimal's DNS service in every failure line, and the removal
script header and the macOS loopback script header say what they do.

Tests and docs/reference/cli-min.md that pin the old text follow. No
behaviour changes: the scripts' commands are the same, only echo text
and comments change.
… language

Reword the deny-all note at activate, the two usage errors for ingress
flags without --network own_ip, the attach warning about port prompts,
five pieces of min session policy output, and the two min stop --force
messages, so each says what state the user is in without design terms.

min session destroy now prints the daemon's own error text instead of
naming the RPC; the exit code is the same.

Tests, docs/reference/cli-min.md and scripts/session-e2e.sh that pin the
old text follow. No behaviour changes.
…setup script

The Linux setup script test still asserted the old (a collision) words
the previous commit removed from the script's failure reason. No
behaviour changes.
@norrietaylor
norrietaylor requested a review from a team as a code owner October 12, 2026 05:56
@coderabbitai
coderabbitai Bot commented Oct 12, 2026 •
Copy link
Copy Markdown
Contributor

Review in Change Stack →

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: 0ad72ade-60d0-4f62-94a2-022b8ac32252

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR




🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR







  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@minimal-foundry
minimal-foundry Bot commented Oct 12, 2026 •
Copy link
Copy Markdown
Contributor

Reading f4d609d5cf4a.

This comment updates when the review finishes.

…ags a VM restart needs

The holder arm of the DNS row said the running VM answers box names
itself. The answerer runs in the VM host daemon, a process on this
machine, so the row and the session-start line now say so, in the same
shape as the other two answered arms.

The late-refusal remedy named bare `min stop` and `min ls`. On a named
VM or a Linux host that selects the VM with --provider, those act on a
different daemon, so the remedy now says to keep the same flags.

The three proxy phrases that had dropp
10000
ed to "the proxy" name the
hostname proxy again, as the HOSTNAME PROXY row does, and the port-prompt
warning shows the attach command with the session filled in.
@minimal-foundry minimal-foundry Bot left a comment
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minimal-review — approved

Verdict APPROVE — 1 finding, 1 inline.

Comment thread scripts/session-e2e.sh Resolved
@minimal-foundry minimal-foundry Bot added the review:approved minimal-review approved the current head label Oct 12, 2026
gominimal-aw-bot Bot and others added 5 commits October 11, 2026 23:11
…DNS row sentence

The dashboard's no-network note and its deny-all default note now say what
`min session policy` and `min session activate` say. The DNS row's first
arm reads "this VM's host daemon answers its box names", the removal script
header says "Minimal's DNS service", and the reference no longer names an
egress section in minimal.toml, which nothing reads.

Tests pin the two refusal remedies and the proxy row's own sentence.
@norrietaylor
norrietaylor merged commit 0a034bf into release/0.7.0 Oct 12, 2026
24 checks passed
@norrietaylor
norrietaylor deleted the fix/reword-session-start-policy-stop-0.7.0 branch October 12, 2026 06:25
norrietaylor added a commit that referenced this pull request Oct 15, 2026
…art messages in plain language (#2183)

* fix(minimal): reword the min ls header rows and list warnings in plain language

Rename the ZONE ANSWERER row label to DNS SERVICE and NAME SURFACE to
BOX NAMES (17-column width kept), say what each port row is for instead
of the unrunnable resolver instruction, and reword three list warnings:
the skipped-VM warning names the consequence, the proxy-down warning
drops the implementation words, and the still-starting duplicate-session
warning points at `min ls` and `min session attach`.

Comments, test pins and session-e2e.sh reads that name the old labels
move with them. No behaviour, flag, JSON field or exit code changes.

(cherry picked from commit 2a1ecb0)

* fix(minimal): name the session in the wait-then-attach hint

The duplicate-session warning for a session still being created named a
bare `min session attach`, which fails as printed; it now carries the
same key the active arm prints.

`min finalize-install` reads the same listings as `min ls` but lists no
sessions, so the skipped-VM warning only says "its sessions are not
listed" under `min ls`.

* fix(minimal): keep the DNS row body, name the hostname proxy and show the attach placeholder

Restore the native DNS row body to the text the VM-host arms and
`min session activate` still print, so one row has one wording.
Name the proxy in the listener warning as the HOSTNAME PROXY row does,
and pin the e2e patterns on the `warning: ` prefix so the row bodies
cannot satisfy them. Show `min session attach <session>` in the
still-being-created hint so no printed command names a session attach
would refuse.

* fix(minimal): print the DNS service label at session start

min ls names the row DNS SERVICE, so min session activate now prints
"DNS service:" where it printed "zone answerer:". Both verbs name the
same holder under the same label. The text after the label is unchanged.

Comments that still named the old min ls rows, 
89D9
ZONE ANSWERER and
NAME SURFACE, now say DNS SERVICE and BOX NAMES.

* fix(minimal): say what answers box names plainly in min ls and at session start

Reword the DNS SERVICE row in every arm and on both verbs: the native
rows in min ls, the VM-backed rows, and the DNS service line at session
start now say what answers box names on 127.0.0.1:<port> in one plain
sentence, and no longer tell the reader to point the resolver at it.

Reword the BOX NAMES row, the HOSTNAME PROXY row when the proxy is down,
the proxy-down causes and the session-start warning for a port held by
another program. The row no longer prints the service's socket path, so
vm_host_answerer_line_at folds into vm_host_answerer_line.

Tests and scripts/session-e2e.sh that pin the old text follow. No
behaviour changes: only the words printed.

* fix(minimal): reword the names line and the setup script messages in plain language

The session-start names line now says a box name opens through the HTTP
proxy at 127.0.0.1:<port>, and joins a proxy-down cause with a colon.

min finalize-install says what to change when lookups bypass
systemd-resolved, tells a second user how the service's owner removes
it, and says a path could not be read. Its root script calls the
service Minimal's DNS service in every failure line, and the removal
script header and the macOS loopback script header say what they do.

Tests and docs/reference/cli-min.md that pin the old text follow. No
behaviour changes: the scripts' commands are the same, only echo text
and comments change.

* fix(minimal): reword session start, policy and stop messages in plain language

Reword the deny-all note at activate, the two usage errors for ingress
flags without --network own_ip, the attach warning about port prompts,
five pieces of min session policy output, and the two min stop --force
messages, so each says what state the user is in without design terms.

min session destroy now prints the daemon's own error text instead of
naming the RPC; the exit code is the same.

Tests, docs/reference/cli-min.md and scripts/session-e2e.sh that pin the
old text follow. No behaviour changes.

* test(minimal): pin the reworded port-did-not-come-free reason in the setup script

The Linux setup script test still asserted the old (a collision) words
the previous commit removed from the script's failure reason. No
behaviour changes.

* fix(minimal): name the VM host daemon as the answerer and show the flags a VM restart needs

The holder arm of the DNS row said the running VM answers box names
itself. The answerer runs in the VM host daemon, a process on this
machine, so the row and the session-start line now say so, in the same
shape as the other two answered arms.

The late-refusal remedy named bare `min stop` and `min ls`. On a named
VM or a Linux host that selects the VM with --provider, those act on a
different daemon, so the remedy now says to keep the same flags.

The three proxy phrases that had dropped to "the proxy" name the
hostname proxy again, as the HOSTNAME PROXY row does, and the port-prompt
warning shows the attach command with the session filled in.

* test(minimal): say the reworded native-DNS lines in the e2e failure messages

* fix(minimal): match the dashboard notes to the CLI and use the fixed DNS row sentence

The dashboard's no-network note and its deny-all default note now say what
`min session policy` and `min session activate` say. The DNS row's first
arm reads "this VM's host daemon answers its box names", the removal script
header says "Minimal's DNS service", and the reference no longer names an
egress section in minimal.toml, which nothing reads.

Tests pin the two refusal remedies and the proxy row's own sentence.

* style(minimal): format the reworded answerer pins

---------

(cherry picked from commit 0a034bf)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review:approved minimal-review approved the current head

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0