Repository navigation
feat(mobile): manage agent guest access from Settings - #197
Merged
Merged
Conversation
Adds the owner-side guest-access management desktop has in each agent's Access dialog to the mobile app, across all of the owner's agents: each agent's hosted-answer switch, active grants with Revoke, recent requests (access log) with an agent filter, paging and Block, blocked people with Unblock, items shared via my agent, learned-grant suggestions, the read-only daily digest, and the org-admin guest safety review (admins only). The existing NIP-98 owner client gains the owner and admin routes desktop uses as an extension; no server route is added or changed. Settings shows the entry only when the build's guest route serves the active community. Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Ross Hartmann <[email protected]>
Keeps both fork inventory deltas (#196 guest push taps and app icon, and this branch's guest-access settings) and accounts for this branch's one newly modified upstream file on top of main's budget (262 -> 263). Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Ross Hartmann <[email protected]>
Keeps both sides of the Settings hook (#198's Agents card, then this branch's Guest access card) and both fork inventory deltas. Settings is already classified by the hosted-agents delta, so this branch no longer adds a modified upstream file and drops its budget amendment. Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Ross Hartmann <[email protected]>
RossHartmann
added a commit
that referenced
this pull request
Oct 16, 2026
Brings in mobile agent guest-access management (#197) and the TestFlight hosted-agent build flag (#200). - The Settings guest-access section hook is re-ported onto upstream's restructured settings page, next to the hosted-agents row. - lucide_icons_flutter is gone upstream (block#8109), so the new guest-access settings pages use BuzzIcons (Tabler). Four glyphs that BuzzIcons does not name (ban, calendar, calendar-month, history) are added to the fork-owned GuestAccessIcons. keyRound maps to BuzzIcons.key. - The inventory takes main's new guest-access settings delta. Budgets are unchanged (277 / 156 / 9577 / 1163). Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Ross Hartmann <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why. Owners could review guest-access approvals on the phone (#192), but everything else about who reaches their agents was desktop-only: grants, blocks, the access log and the digest. This adds that management to mobile, using the same server contracts desktop uses.
What. Settings → Guest access → Agent guest access opens one page for all of the owner's agents. It sits right after #198's Agents card.
PATCH /owner/agents/{id}). This is desktop's Policy tab. The row also shows who can ask and when the agent was last seen.cursor). Block asks first, then blocks the person from all agents, as desktop does.GET /owner/digestis read-only, and the daily digest alert goes out on its own. So this view is read-only and says so.admin_requireddoesn't see the row.The entry is hidden when the build has no
BUZZ_GUEST_ROUTE_URL, when the active community isn't the one the route serves, or when there's no signing key. This uses the sameguestAccessClientProvidergate as #192. Pull to refresh reloads every owner read. Every change refreshes all of them and reports the route's error text in a snack bar.Endpoints. These are the existing owner and admin routes, called through the #192 NIP-98 client. Nothing is added or changed server-side:
GET /owner/agents,PATCH /owner/agents/{id},GET /owner/grants,DELETE /owner/grants/{id},GET /owner/blocks,POST /owner/blocks,DELETE /owner/blocks/{id},GET /owner/access-log,GET /owner/digest,GET|POST /owner/shareables,DELETE /owner/shareables/{id},GET /owner/suggestions,POST /owner/suggestions/{id}/accept|dismiss,GET /admin/alerts,POST /admin/alerts/{id}/ack,POST /admin/requesters/{pubkey}/review.Not included.
respond_tosetting on desktop, so the page points there.Footprint.
mobile/lib/shared/guest_access/: records and wording, aGuestAccessOwnerApiextension in a part of the existing client, andsettings/pages with one public widget per file and private rows inpartfiles.settings_page.dartgets an import plus one section line, with no Kiingo strings.Validation.
flutter pub get,dart format --output=none --set-exit-if-changed .,flutter analyze(no issues),node scripts/check-kiingo-fork-boundary.mjs(passes) andCHECK_FILE_SIZES_BASE=origin/main node desktop/scripts/check-file-sizes.mjs(passes).mobile/test/shared/guest_access/guest_owner_settings_test.dart. Per fork policy they run only on Azure Spot; nothing was run on the Mac.🤖 Generated with Claude Code