Skip to content

DOCS-5024: Document machine favorites - #5455

Merged
Jeremy Rose (jeremyrose-viam) merged 12 commits into
viamrobotics:mainfrom
jeremyrose-viam:worktree-machine-favorites-docs
Oct 28, 2026
Merged

Jeremy Rose (jeremyrose-viam) merged 12 commits into
viamrobotics:mainfrom
jeremyrose-viam:worktree-machine-favorites-docs

Conversation

@jeremyrose-viam

Copy link
Copy Markdown
Member

Documents machine favorites, which are live in the Viam app and the Viam MCP server.

Documents: DOCS-5024

Changes

  • docs/monitor/monitor.md: new "Favorite machines" subsection under "Check fleet status". It covers the star in the machines table, favorited machines appearing at the top, the Machine Favorites tab in user settings, favorites being per user, machines you can no longer access dropping out, and a pointer to the MCP tools.
  • docs/reference/mcp/_index.md: a paragraph saying the favorite tools read and change only your own favorites, and why remove_favorite_machine is marked destructive.
  • static/include/app/mcpserver/generated/mcp-tools-table.md: three rows for the new tools: list_favorite_machines (Read-only), add_favorite_machine (Write), and remove_favorite_machine (Write (destructive)). The categories match the tool definitions, and the tools were checked against production (listed favorites, then removed one and listed again).
  • .github/workflows/update_sdk_methods.py: adds add_favorite_machine, remove_favorite_machine, and list_favorite_machines to the Python "unused method" ignore list, with a comment, so the weekly coverage job doesn't warn about them.

Not included

The favorites methods are not added to sdk_protos_map.csv or the generated fleet API reference. Favorites belong to a signed-in user, but the Python app client only accepts API-key credentials, so these methods can't succeed for typical callers. No other SDK has favorites methods in the app API reference today (the Flutter app client isn't part of that reference, and the TypeScript and Go SDKs have no wrappers). If an SDK gains user authentication or wrappers, the CSV rows and proto descriptions can be added then.

Merge order

PR 5441 (use_skill) and PR 5427 (simulation tools, draft) also edit mcp-tools-table.md. Whichever merges later needs a small row reconciliation. Alphabetically, remove_favorite_machine goes before stop_simulation in the destructive group.

Checks

Repo-local prettier 3.2.5, markdownlint, vale, scripts/frontmatter_rules.py, and make build-prod pass. The built Monitor page has the #favorite-machines anchor that the MCP page links to.

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@viambot viambot added the safe to build This pull request is marked safe to build from a trusted zone label Oct 22, 2026
@netlify

netlify Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for viam-docs ready!

Name Link
🔨 Latest commit 315234c
🔍 Latest deploy log https://app.netlify.com/projects/viam-docs/deploys/6adbbe9b763852cc6d0e93e7
😎 Deploy Preview https://deploy-preview-5455--viam-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 35 (🟢 up 1 from production)
Accessibility: 100 (no change from production)
Best Practices: 100 (no change from production)
SEO: 92 (no change from production)
PWA: 60 (no change from production)
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

@elizafarley

Eliza Farley (elizafarley) commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Docs review: Ready to merge

Re-review of 315234c. The should-fix and the "drops out" nit from the last review are fixed, and the feature-flag question is settled in code: ENABLE_MACHINE_FAVORITES_UI has FallbackValue: true, so the star and the Machine Favorites tab are on unless an organization is overridden. Leaving out the context-menu entry point is a reasonable call. I found no new issues.

CI: All required checks passing

Docs health: No regressions. docs/reference/mcp/_index.md is no longer weakly linked, because it now links to the Monitor page.

Merge order (no action needed here): PR 5441 (use_skill) and draft PR 5427 are still open and also edit mcp-tools-table.md. Whichever merges second needs to reconcile the rows, as the PR description says.

Verified against source (12 claims)

New since the last review:

  • The favorites UI is on by default: viamrobotics/app data/feature_models.go:353-356 (FallbackValue: true)
  • By default, favorites appear at the top, and the header star toggles this: ui/.../fleet/machines/part-rows-sort-state.ts:56-64 (machineFavoritesFirst persisted, default true), machines-table-section.svelte (onToggleFavoritesFirst)
  • Deleted or inaccessible machines are hidden, not removed, and a machine reappears when you regain access: data/user.go:62-63 (favorites "outlive the machine and the user's access to it", and unreadable machines are skipped when the list is read)

Carried over from the last review, still accurate at head:

  • list_favorite_machines is Read-only: mcpserver/tools_favorites.go:40
  • add_favorite_machine is Write and not destructive: mcpserver/tools_favorites.go:43-44
  • remove_favorite_machine is Write (destructive) and doesn't change the machine: mcpserver/tools_favorites.go:46-47
  • Table rows are in the right groups and alphabetical within each group: mcpserver/roundtrip_test.go
  • Favorites are per user: mcpserver/tools_favorites.go:52,89
  • Star toggle per machine row: ui/.../fleet/machines/favorite-machine-toggle.svelte
  • The Machine Favorites tab lists favorites from every organization: ui/.../user/(settings)/settings-tabs.ts:10, favorites/+page.svelte:52-54
  • The Python SDK has all three methods, so the ignore-list entries match real methods: viamrobotics/viam-python-sdk src/viam/app/app_client.py:1937,1947,1957
  • The MCP page's #favorite-machines anchor matches the new ### Favorite machines heading

Automated review by Claude. Rerunning the review updates this comment.

@jeremyrose-viam

Jeremy Rose (jeremyrose-viam) commented Oct 23, 2026 •

Copy link
Copy Markdown
Member Author

Thanks for the review. Pushed 315234c to address it:

  • Favorites-first ordering (should fix): adopted your wording. The subsection now says that by default favorite machines appear at the top of the table and that the star in the table header turns this on or off.
  • "Drops out" wording (nit): changed to "A machine that is deleted, or that you can no longer access, is hidden from your favorites. If you regain access, it reappears." The second sentence only applies to machines you lost access to, since a deleted machine can't come back.
  • Context menu mention (nit): left out on purpose. The docs avoid listing every UI entry point because the app UI changes often, and the star already covers how to favorite a machine.
  • Feature flag sign-off: the flag defaults to on, and Jeremy confirmed the star and the Machine Favorites tab are visible in the production app. Per-organization overrides aren't visible from here, so if you want a confirmation that it is on for every user, that needs someone on Fleet.

Prettier, markdownlint, vale, the frontmatter check, and make build-prod pass on the updated branch.

@viam-overwatch

Copy link
Copy Markdown

Hey Jeremy Rose (@jeremyrose-viam) — this PR has been approved and CI has been green for 3+ business days. Ready to merge?

Auto-comment from overwatch. Will not re-nudge for 7 days.

@jeremyrose-viam
Jeremy Rose (jeremyrose-viam) merged commit b7420ef into viamrobotics:main Oct 28, 2026
12 checks passed
@github-actions

Copy link
Copy Markdown

🔎💬 Inkeep AI search and chat service is syncing content for source 'Viam Docs'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to build This pull request is marked safe to build from a trusted zone

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants