Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1586,6 +1586,7 @@ export const realtime: NavMenuConstant = {
name: 'Postgres Changes',
url: '/guides/realtime/postgres-changes',
},
{ name: 'Settings', url: '/guides/realtime/settings' },
],
},
{
Expand Down Expand Up @@ -1622,7 +1623,7 @@ export const realtime: NavMenuConstant = {
{ name: 'Quotas', url: '/guides/realtime/quotas' },
{ name: 'Pricing', url: '/guides/realtime/pricing' },
{ name: 'Architecture', url: '/guides/realtime/architecture' },
{ name: 'Message Protocol', url: '/guides/realtime/protocol', items: [] },
{ name: 'Protocol', url: '/guides/realtime/protocol', items: [] },
{ name: 'Benchmarks', url: '/guides/realtime/benchmarks' },
],
},
Expand Down
4 changes: 4 additions & 0 deletions apps/docs/content/guides/api/api-keys.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,10 @@ If you know or suspect that the JWT secret itself is leaked, refer to the sectio

If the JWT secret is secure, prefer substituting the `service_role` JWT-based key with a new secret key which you can create in the [API Keys](/dashboard/project/_/settings/api-keys/new) dashboard. This will prevent downtime for your application.

### Can I still use my old `anon` and `service-role` API keys after enabling the publishable and secret keys?

Yes. This allows you to transition between the API keys with zero downtime by gradually swapping your clients while both sets of keys are active. See the next question for how to deactivate your keys once all your clients are switched over.

### How do I deactivate the `anon` and `service_role` JWT-based API keys after moving to publishable and secret keys?

You can do this in the [API Keys](/dashboard/project/_/settings/api-keys/new) dashboard. To prevent downtime in your application's components, use the last used indicators on the page to confirm that these are no longer used before deactivating.
Expand Down
8 changes: 7 additions & 1 deletion apps/docs/content/guides/realtime/architecture.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,13 @@ Realtime is a globally distributed Elixir cluster. Clients can connect to any no

Realtime is written in [Elixir](https://elixir-lang.org/), which compiles to [Erlang](https://www.erlang.org/), and utilizes many tools the [Phoenix Framework](https://www.phoenixframework.org/) provides out of the box.

![Global Architecture](/docs/img/guides/realtime/realtime-arch.png)
<Image
alt="Architecture"
src={{
light: '/docs/img/guides/platform/realtime/architecture--light.png',
dark: '/docs/img/guides/platform/realtime/architecture--dark.png',
}}
/>

## Elixir & Phoenix

Expand Down
26 changes: 0 additions & 26 deletions apps/docs/content/guides/realtime/concepts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -107,32 +107,6 @@ Anyone with access to a valid JWT signed with the project's JWT secret is able t

Clients can choose to receive `INSERT`, `UPDATE`, `DELETE`, or `*` (all) changes for all changes in a schema, a table in a schema, or a column's value in a table. Your clients should only listen to tables in the `public` schema and you must first enable the tables you want your clients to listen to.

## Settings

<Admonition type="note">

Realtime settings are currently under Feature Preview section in the dashboard.

</Admonition>

<Image
alt="Usage page navigation bar"
src={{
light: '/docs/img/guides/platform/realtime-settings--light.png',
dark: '/docs/img/guides/platform/realtime-settings--dark.png',
}}
zoomable
/>

You can set the following settings using the Realtime Settings screen in your Dashboard:

- Channel Restrictions: You can toggle this settings to set Realtime to allow public channels or set it to use only private channels with [Realtime Authorization](/docs/content/guides/realtime/authorization).
- Database connection pool size: Determines the number of connections used for Realtime Authorization RLS checking
{/* supa-mdx-lint-disable-next-line Rule004ExcludeWords */}
- Max concurrent clients: Determines the maximum number of clients that can be connected

All changes made in this screen will disconnect all your connected clients to ensure Realtime starts with the appropriate settings and all changes are stored in Supabase middleware.

## Choosing between Broadcast and Postgres Changes for database changes

We recommend using Broadcast by default and using Broadcast from Database specifically as it will allow you to scale your application compared to Postgres Changes.
Expand Down
Loading
Loading