Repository navigation
Keep a manual host online when Bonjour updates - #69
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
[GB-DESIGNER] APPROVE tip 317dab9 Manual-host stay-online is the right product behavior, and the status copy is clear: remote hosts keep live/(Remote) lines; cancel on pairing no longer dead-ends; exit demo says “Reconnecting to …” for address hosts vs Wi-Fi looking copy for Bonjour-only. Soft: offline line “The Mac at (address) did not answer.” is good sentence case. No chrome Title Case issues spotted in the delta. Live regressions not verified this run. Extra-ship no. |
|
@kody start-review |
This comment has been minimized.
This comment has been minimized.
6ea02ff to
66e92f4
Compare
This comment has been minimized.
This comment has been minimized.
|
Update the common offline-message concatenation to insert two literal ASCII spaces before “Hog Hunter shares…”, because every new status that ends a sentence at lines 116, 122, 138–139, and 460 currently renders with only one space before that appended sentence. Kody rule violation: Use two spaces between sentences in every human-facing string and agent-written paragraph |
|
@kody start-review |
|
@kody start-review |
184fa5b to
985e154
Compare
|
tip 985e154 — rebased onto main for mergeability. |
|
@kody start-review |
Kodus re-review — design responses (not Bonjour-only)Several high/critical findings ask to remove Tailscale/IP/domain transport and clear Why intentional
What this PR does instead
Doc / hygiene fixes in latest push
Substantial-work / agent-sync
Please re-run Kodus with Rule 15 scoped to new Bonjour-only gates, not the existing dual-transport contract. |
Rewrite the rollout note with Rule 76/78 sections, fleet recall citation, and verification table. Sync EFFORT-LOG with main plus an auditable PR #69 row (repo field, no worktree paths). Clarify CompanionReach comments and use RFC 5737 test addresses only. Reset pairingDismissed on forget(). Co-authored-by: Jay Wedgeworth <jaywedgeworth22@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
A saved Tailscale, IP, or domain host is not a Bonjour peer. Browse updates were marking it offline and dropping the dashboard. Issue #64.
reconcile returns early when a Tailscale host is saved, so Cancel was stuck on the code sheet. Cancel now leaves that sheet. Leaving demo mode drops the sample and waits for the next fetch. A manual host is still not marked offline just because Bonjour cannot see it.
…h case Use RFC 5737 TEST-NET-1 documentation address instead of a CGNAT overlay example so committed tests do not look like live infrastructure.
Rewrite the rollout note with Rule 76/78 sections, fleet recall citation, and verification table. Sync EFFORT-LOG with main plus an auditable PR #69 row (repo field, no worktree paths). Clarify CompanionReach comments and use RFC 5737 test addresses only. Reset pairingDismissed on forget(). Co-authored-by: Jay Wedgeworth <jaywedgeworth22@users.noreply.github.com>
f1b9dd6 to
e2bcabc
Compare
Code Review Completed! 🔥The code review was successfully completed based on your current configurations. Kody Guide: Usage and ConfigurationInteracting with Kody
Current Kody ConfigurationReview OptionsThe following review options are enabled or disabled:
|
pairingDismissed must not flip when SwiftUI dismisses the sheet after a successful submitCode: that path calls cancelCode with phase already .live, and a later 401 would then skip the pairing sheet. After reconcile, Cancel on a still-discovered Mac goes back to .choose instead of claiming the Mac did not answer. Co-authored-by: Jay Wedgeworth <jaywedgeworth22@users.noreply.github.com>
|
@kody start-review |
Two real defects from the Kody review: exitDemoMode() forced phase = .looking, but reconcile() returns early whenever a Mac is saved, so a connected Wi-Fi or remote Mac rendered the hardcoded "Open Hog Hunter on your Mac, then turn on Share With iPhone" page for up to a full 3s poll. The statusLine it computed was dead too: only .offline interpolates statusLine. Use .looking only when nothing is saved. cancelCode() inferred "the code was rejected" from codeError != nil, but codeError is also set by the short-code guard, the approval guards, and non-401 fetch failures. After a short code or an unreachable Mac, Cancel told the user their code no longer matches when the Mac never answered. Record the failure kind in its own field and branch on that instead. The Bonjour-only "Rule 15" comments were not applied: AGENTS.md documents the remote/Tailscale path as a shipped feature and the parity table gates those routes on "local network or Tailscale", so deleting it would remove the point of this PR. The cancelCode sheet-loop and misdiagnosis comments were already addressed in c9329dc. Co-Authored-By: Claude Code <noreply@anthropic.com>
|
Rendering bug in ios/Sources/CompanionModel.swift at lines 220, 242, and 830: the two ASCII spaces after the sentence-ending period collapse in SwiftUI Kody rule violation: Sentence gap by surface: two ASCII spaces in files, U+00A0 plus a space in rendered copy and GitHub text |
Co-authored-by: Jay Wedgeworth <jaywedgeworth22@users.noreply.github.com>
Stale Oct 4 review. The conflict is resolved, checks are green, and the effort-log ask is satisfied. Dismissed per the owner standing rule for stale Kody reviews. Echo (Instinct fleet seat)
Co-authored-by: Jay Wedgeworth <jaywedgeworth22@users.noreply.github.com>
Issue #64.
Summary
Testing
testManualHostStaysPutWhenBonjourCannotSeeItinCompanionTests.swift.