Skip to content

docs(actors): sync from rivet-dev/rivet - #100

Merged
NathanFlurry merged 1 commit into
mainfrom
docs-sync/actors
Sep 24, 2026
Merged

NathanFlurry merged 1 commit into
mainfrom
docs-sync/actors

Conversation

@NathanFlurry

Copy link
Copy Markdown
Member

Automated docs sync from rivet-dev/rivet@d34ced2.

Do not edit vendor/actors/ here. Edit the docs in rivet-dev/rivet and this PR updates itself.

@railway-app
railway-app Bot temporarily deployed to rivet-website / website-pr-100 September 24, 2026 11:30 Destroyed
@railway-app

railway-app Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

🚅 Deployed to the website-pr-100 environment in rivet-website

Service Status Web Updated
website 😴 Sleeping (View Logs) Web Sep 24, 2026 at 12:59 pm UTC

@the-company-company the-company-company Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟠 2 medium-severity findings

Reviewed commit 3b987e7.


For one actor, use its handle. The default is only `actor_gateway: ["read"]`, scoped to that actor ID:

```ts

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟠 Medium · Move the token examples into checked snippet files

These three new fences bypass this repository's required examples/docs/ + <CodeSnippet> path, and they are not standalone TypeScript: client and session are undefined, while the second fence also depends on user from the previous fence. That leaves the newly documented API outside the snippet type-check that is meant to catch SDK drift. Add complete examples under examples/docs/actors-authentication/ (including imports and setup) and embed them with <CodeSnippet>; make a workspace CodeGroup if the setup spans files. Because this directory is vendored, make the correction in the upstream bundle and resync it.

</Tab>
</Tabs>

## Issue Engine Access Tokens

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟠 Medium · Use the website's canonical control-plane terminology

The added heading and surrounding copy repeatedly expose the internal name “Engine” (and “server”) to users, while this repository's terminology contract requires “control plane” for the service that routes, schedules, and persists Actors. The same new section also uses lowercase “actor” in prose even though website copy requires “Actor.” Rewrite the added user-facing text with “control plane” and capitalized “Actor”; since this is vendored content, apply that upstream and resync.

@railway-app
railway-app Bot temporarily deployed to rivet-website / website-pr-100 September 24, 2026 12:39 Destroyed

@the-company-company the-company-company Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟠 3 medium-severity findings

Reviewed commit 99fa53d.


Permissions are enforced inside your actor, on a caller that has already reached it. This is the only layer that can see `c.state`, `c.key`, and action arguments, so every domain rule lives here.

The layer above it decides which actor a client may reach at all. See [Authentication](/docs/authentication) for that, and [JWTs](/docs/jwt) to scope a client to a single actor before it ever gets here.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟠 Medium · Ship the shared authentication routes before linking to them

Neither /docs/authentication nor /docs/jwt has a backing MDX file or sidebar entry in this repository's general docs bundle (vendor/docs/docs/content), yet this change points multiple pages at those routes and deletes /actors/docs/authentication. The existing redirect for the deleted route also lands on the missing /docs/authentication, so both new navigation and old inbound links end in 404s. Sync the general authentication/JWT pages and sidebar in this change, or keep the existing Actor page and links until those routes are available.

The token decides which actor Alice reaches. It cannot decide what she may do there, because the control plane does not know what your actions mean. Check that in the actor.

<CodeSnippet file="examples/docs/actors-permissions/quickstart/index.ts" title="document.ts" />

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟠 Medium · Make the end-to-end guide use one runnable Actor example

The server and browser snippets above use general-jwt/quickstart/registry.ts, whose userProfile Actor only exposes recordVisit and setDisplayName; this step then swaps in the unrelated permissions quickstart's document Actor, which expects an authToken connection param that the browser never sends. The advertised flow therefore never demonstrates the admin authorization described by the guide. There is a second integration break in general-jwt/quickstart/client.ts: the guide configures the issuing server for http://localhost:6420, but the browser hard-codes https://api.rivet.dev, so the locally issued token is presented to a different control plane. Build this guide from one workspace example whose server, client, endpoint, registry, and authorization action all match, then embed those same files in each step.

description: "Identify callers when they connect to a Rivet Actor, then authorize every action, queue publish, and event subscription with deny-by-default rules."
skill: true
---

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟠 Medium · Capitalize Actor throughout the new user-facing copy

The new pages repeatedly use lowercase “actor” in prose (for example “inside your actor,” “which actor,” and “actor state”), while this website's terminology contract requires the product noun “Actor” to be capitalized everywhere in user-facing copy. The new authentication guide has the same issue. Update the upstream bundle to use “Actor” consistently and resync the vendored content.

@NathanFlurry
NathanFlurry merged commit dddc11d into main Sep 24, 2026
3 of 4 checks passed
@NathanFlurry
NathanFlurry deleted the docs-sync/actors branch September 24, 2026 13:04

This branch was successfully deployed

No deployments
rivet-website / website-pr-100 — 99fa53da Deployed Sep 24, 2026 by railway-app[bot]
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.

1 participant