Skip to content

docs(guide): Settings → Phone & devices, and Portal keeps its name - #743

Merged
devswha merged 2 commits into
devswha:mainfrom
rabbitson87:docs/portal-guide-followups
Oct 11, 2026
Merged

devswha merged 2 commits into
devswha:mainfrom
rabbitson87:docs/portal-guide-followups

Conversation

@rabbitson87

@rabbitson87 rabbitson87 commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Change

The two non-blocking notes from the last review of #229, in docs/guide.md:

  • Settings label: the Portal section now says Settings → Phone & devices → Pair a device, matching the app (SettingsDialog.tsx) and the rest of the guide. The devices.json paragraph had the same old "Settings → Devices", so it is updated too.
  • Portal keeps its name: half a sentence after the command says the first run saves the name in the identity file and later runs reuse it. The random --name in the command therefore does not give a new address on each start (LoadOrCreate, portal/identity/client_identity.go in Portal v2.6.1).

The sign-in screen's own text (AccessGate.tsx) still says "Settings → Devices". That is a UI string with ko/ja/zh translations, so I left it for a separate change.

Docs only; no CHANGELOG entry, since app users do not notice it.

Validation

  • No "Settings → Devices" is left in docs/guide.md; "Phone & devices" is the label in src/components/SettingsDialog.tsx.
  • Checked the identity behavior against Portal v2.6.1's LoadOrCreate: an existing identity file is parsed as it is, and its stored name is used. I did not restart a tunnel to see it live.

Follow-ups from the review of devswha#229:

- Name the Settings entry the way the app labels it, Phone & devices, in
  the Portal section and in the devices.json paragraph.
- Say that Portal's first run saves the name in the identity file, so
  the random --name in the command does not give a new address on each
  start.
@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: devswha/herdr-web-ui/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 0a872526-46b4-4e63-a906-7cb5748c7bda

📥 Commits

Reviewing files that changed from the base of the PR and between a01d7f4 and f06108c.


📒 Files selected for processing (1)
  • docs/guide.md

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.



📝 Summary

Summary by CodeRabbit

  • Documentation
    • Clarified that the Portal reuses the generated name saved during the first run on subsequent runs.
    • Updated pairing guidance to refer to Phone & devices instead of Devices.
    • Updated device-registry error guidance to use the current Phone & devices settings label.

Walkthrough

The guide now says the first run saves the generated Portal name in the identity file and later runs reuse it. It updates the settings path for device pairing and device-registry errors to Phone & devices.

Changes

Portal guide updates

Layer / File(s) Summary
Portal identity and device instructions
docs/guide.md
The guide describes first-run name storage and reuse. It updates the pairing and device-registry error paths to Phone & devices.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Suggested reviewers: devswha


Merge Risk: ⚪ Minimal · up to f0610

No actionable merge risk is identified in the supplied guide updates.

Architecture Summary

Architecture risk: 🔵 Low · up to a01d7

The change affects 1 system.

Changed systems: docs

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — docs (service) was modified; 1 changed file maps to changed impact.

Before / after behavior

  • observed — Modified behavior in docs/guide.md: The Portal instructions now say that the first run saves its generated name in the identity file and subsequent runs reuse it.
  • observed — Modified behavior in docs/guide.md: The pairing path in Settings is updated from Devices → Pair a device to Phone & devices → Pair a device.
  • observed — Modified behavior in docs/guide.md: The instructions for viewing devices.json errors now direct readers to Settings → Phone & devices instead of Settings → Devices.




Pre-merge checks | Passed 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check Passed The title clearly identifies both documentation changes: the updated Settings label and Portal name reuse behavior.
Description check Passed The description includes the Change and Validation sections, explains the resulting behavior, records validation results, and identifies the unchanged sign-in text as separate scope. No screenshot or …
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

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

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@devswha devswha left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Thanks! I checked each claim against the code, and they are all correct:

  • Settings → Phone & devices → Pair a device: Phone & devices is the page's label (src/components/SettingsDialog.tsx, PAGES title), and the Pair a device button lives on that page (DevicesPanel.tsx).
  • devices.json paragraph: with a damaged registry, /api/devices answers 503 device_store_unavailable with the full message for the owner (server/devices.ts), and the Devices panel on that page shows it as an alert. So "Settings → Phone & devices and the server log explain the error" holds.
  • Portal keeps its name: in v2.6.1, identity.LoadOrCreate (portal/identity/client_identity.go) parses an existing identity file as-is, without looking at --name, and cmd/portal-tunnel/tunnel/runtime.go uses that identity. A new random --name on a later start therefore changes nothing, as the added sentence says.

Non-blocking, for a follow-up rather than this PR: besides AccessGate.tsx, which you already noted, the server's own 503 text for non-owner callers in server/devices.ts still says "Settings → Devices".

@devswha
devswha merged commit 302b9ea into devswha:main Oct 11, 2026
5 checks passed
aNNdii added a commit to aNNdii/herdr-web-ui that referenced this pull request Oct 11, 2026
devswha added a commit that referenced this pull request Oct 11, 2026
## Change

Release 0.4.7, from main at 80ca9bb (47 PRs since v0.4.6).

- `package.json` and `herdr-plugin.toml`: 0.4.7.
- CHANGELOG: `[Unreleased]` becomes `[0.4.7] - 2026-10-12`, with the
compare links.
- #513's entry moves out of the 0.4.0 section, where its branch's merge
left it, and gets its credit; it says the pace is a setting, off by
default (#834).
- A Maintenance section covers the PRs that had no entry: #743, #756,
#767, #795, #805, #810, #813, #821, #826, #831.
- The note under the Hermes entry that asked for a runtime bump at
release now says what a remote PC needs.
- `release-summaries.json`: 0.4.7 in en/ko/ja/zh/tr (6 new, 6 improved,
5 fixed). The Turkish lines are not checked by a native speaker.
- `REMOTE_BUNDLE_VERSION` 25 -> 26. Since v0.4.5's runtime the bridge
gained Hermes transcripts (#604), conversation pushes (#689) and
Grok/Antigravity activity (#816), so `remote-v26` is published before
the app release.

Not in this release: #606.

## Validation

- `bun scripts/release-notes.ts 0.4.7` renders the summaries and the
full changelog (235 lines).
- `bun run typecheck` and `bun run build`: pass.
- `TMPDIR=/tmp bun run test:unit`: one failure, `server/voice.test.ts`
("audio.webm" vs "clip.webm"), which fails the same way on unmodified
`main` on this Mac (Bun 1.4.0); CI runs Bun 1.4.2.
- Every PR merged since v0.4.6 was checked against the changelog
section: all 47 are linked.

## Release

After this merges and its CI on `main` passes: push `remote-v26`, wait
for its release, then run the Release workflow with `0.4.7`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants