From 188b7d5e28d94cefd77e10979df2fefe03fbc608 Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Thu, 18 Jun 2026 12:54:08 +0200 Subject: [PATCH] docs: Fix some troubleshooting links (#47076) ## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## Summary by CodeRabbit * **Documentation** * Updated documentation links in Realtime guides and troubleshooting sections to reflect new URL structure. * Reorganized internal navigation paths for channel management, error handling, and performance monitoring resources. * Improved link consistency across multiple Realtime documentation sections. --- apps/docs/content/guides/realtime/reports.mdx | 152 +++++++++--------- ...project-suspended-for-exceeding-quotas.mdx | 16 +- 2 files changed, 84 insertions(+), 84 deletions(-) diff --git a/apps/docs/content/guides/realtime/reports.mdx b/apps/docs/content/guides/realtime/reports.mdx index 0cf8e04208f..b17d012ecf2 100644 --- a/apps/docs/content/guides/realtime/reports.mdx +++ b/apps/docs/content/guides/realtime/reports.mdx @@ -57,15 +57,15 @@ height={625} ### Actions you can take -| Action | Description | More information | -| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -| Configure connection limit | Adjust the "Max concurrent connections" setting to increase or decrease the connection limit for your project | [Realtime Settings Guide](/docs/guides/realtime/settings) | -| Upgrade plan | Increase available client connections. Connection limits vary by plan: Free (200), Pro (500), Pro no spend cap (10,000), Team (10,000), Enterprise (10,000+) | [Pricing and Plans](/pricing) | -| Review quotas | Understand connection limits and other Realtime quotas for your plan | [Realtime Quotas Reference](/docs/guides/realtime/quotas) | -| Understand connection quota | Learn how the concurrent connections quota works and how to configure it for your plan | [Concurrent Peak Connections Quota Troubleshooting](/docs/troubleshooting/realtime-concurrent-peak-connections-quota-jdDqcp) | -| Fix silent disconnections | Fix connection issues in background applications using heartbeat callbacks and Web Workers | [Handling Silent Disconnections in Background Apps](/docs/troubleshooting/realtime-handling-silent-disconnections-in-backgrounded-applications-592794) | -| Check logs | Investigate connection errors and quota errors in your project dashboard | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | -| Contact support | Request custom quota increases for Enterprise plans or discuss connection requirements | [Support Portal](/dashboard/support/new) | +| Action | Description | More information | +| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Configure connection limit | Adjust the "Max concurrent connections" setting to increase or decrease the connection limit for your project | [Realtime Settings Guide](/docs/guides/realtime/settings) | +| Upgrade plan | Increase available client connections. Connection limits vary by plan: Free (200), Pro (500), Pro no spend cap (10,000), Team (10,000), Enterprise (10,000+) | [Pricing and Plans](/pricing) | +| Review quotas | Understand connection limits and other Realtime quotas for your plan | [Realtime Quotas Reference](/docs/guides/realtime/quotas) | +| Understand connection quota | Learn how the concurrent connections quota works and how to configure it for your plan | [Concurrent Peak Connections Quota Troubleshooting](/docs/guides/troubleshooting/realtime-concurrent-peak-connections-quota-jdDqcp) | +| Fix silent disconnections | Fix connection issues in background applications using heartbeat callbacks and Web Workers | [Handling Silent Disconnections in Background Apps](/docs/guides/troubleshooting/realtime-handling-silent-disconnections-in-backgrounded-applications-592794) | +| Check logs | Investigate connection errors and quota errors in your project dashboard | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | +| Contact support | Request custom quota increases for Enterprise plans or discuss connection requirements | [Support Portal](/dashboard/support/new) | ## Broadcast Events @@ -87,14 +87,14 @@ height={625} ### Actions you can take -| Action | Description | More information | -| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -| Configure event limits | Adjust "Max events per second" and "Max payload size in KB" settings to optimize broadcast throughput and message size limits | [Realtime Settings Guide](/docs/guides/realtime/settings) | -| Review quotas | Understand message per second limits (Free: 100, Pro: 500, Pro no spend cap/Team/Enterprise: 2,500) and broadcast payload size limits (Free: 256 KB, Pro+: 3,000 KB) | [Realtime Quotas Reference](/docs/guides/realtime/quotas) | -| Check logs | Investigate broadcast errors or quota limit issues in your project dashboard | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | -| Debug with logger | Enable logging to track messages sent and received, and diagnose broadcast delivery issues | [Debugging Realtime with Logger](/docs/troubleshooting/realtime-debugging-with-logger) | -| Learn broadcast basics | Understand how to implement and optimize broadcast messaging in your application | [Broadcast Guide](/docs/guides/realtime/broadcast) | -| Contact support | Request custom quota increases for Enterprise plans or discuss messaging requirements | [Support Portal](/dashboard/support/new) | +| Action | Description | More information | +| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| Configure event limits | Adjust "Max events per second" and "Max payload size in KB" settings to optimize broadcast throughput and message size limits | [Realtime Settings Guide](/docs/guides/realtime/settings) | +| Review quotas | Understand message per second limits (Free: 100, Pro: 500, Pro no spend cap/Team/Enterprise: 2,500) and broadcast payload size limits (Free: 256 KB, Pro+: 3,000 KB) | [Realtime Quotas Reference](/docs/guides/realtime/quotas) | +| Check logs | Investigate broadcast errors or quota limit issues in your project dashboard | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | +| Debug with logger | Enable logging to track messages sent and received, and diagnose broadcast delivery issues | [Debugging Realtime with Logger](/docs/guides/troubleshooting/realtime-debugging-with-logger) | +| Learn broadcast basics | Understand how to implement and optimize broadcast messaging in your application | [Broadcast Guide](/docs/guides/realtime/broadcast) | +| Contact support | Request custom quota increases for Enterprise plans or discuss messaging requirements | [Support Portal](/dashboard/support/new) | ## Presence Events @@ -116,14 +116,14 @@ height={625} ### Actions you can take -| Action | Description | More information | -| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -| Configure presence limits | Adjust the "Max presence events per second" setting to optimize presence state update throughput | [Realtime Settings Guide](/docs/guides/realtime/settings) | -| Review quotas | Understand presence messages per second limits (Free: 20, Pro: 50, Pro no spend cap/Team/Enterprise: 1,000) and presence keys per object limits (10 for most plans) | [Realtime Quotas Reference](/docs/guides/realtime/quotas) | -| Check logs | Investigate presence errors or quota limit issues in your project dashboard | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | -| Debug with logger | Enable logging to track presence events and diagnose state synchronization issues | [Debugging Realtime with Logger](/docs/troubleshooting/realtime-debugging-with-logger) | -| Learn presence basics | Understand how to implement and optimize presence state tracking in your application | [Presence Guide](/docs/guides/realtime/presence) | -| Contact support | Request custom quota increases for Enterprise plans or discuss presence requirements | [Support Portal](/dashboard/support/new) | +| Action | Description | More information | +| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| Configure presence limits | Adjust the "Max presence events per second" setting to optimize presence state update throughput | [Realtime Settings Guide](/docs/guides/realtime/settings) | +| Review quotas | Understand presence messages per second limits (Free: 20, Pro: 50, Pro no spend cap/Team/Enterprise: 1,000) and presence keys per object limits (10 for most plans) | [Realtime Quotas Reference](/docs/guides/realtime/quotas) | +| Check logs | Investigate presence errors or quota limit issues in your project dashboard | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | +| Debug with logger | Enable logging to track presence events and diagnose state synchronization issues | [Debugging Realtime with Logger](/docs/guides/troubleshooting/realtime-debugging-with-logger) | +| Learn presence basics | Understand how to implement and optimize presence state tracking in your application | [Presence Guide](/docs/guides/realtime/presence) | +| Contact support | Request custom quota increases for Enterprise plans or discuss presence requirements | [Support Portal](/dashboard/support/new) | ## Postgres Changes Events @@ -175,13 +175,13 @@ height={625} ### Actions you can take -| Action | Description | More information | -| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| Review quotas | Understand channel joins per second limits (Free: 100, Pro: 500, Pro no spend cap/Team/Enterprise: 2,500) and channels per connection limits (100 for most plans) | [Realtime Quotas Reference](/docs/guides/realtime/quotas) | -| Check logs | Investigate `too_many_joins` errors or channel join failures in your project dashboard | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | -| Fix channel errors | Learn how to properly manage channel lifecycle and prevent channel leaks in your application | [TooManyChannels Error Troubleshooting](/docs/troubleshooting/realtime-too-many-channels-error) | -| Learn channel basics | Understand how Realtime channels work and best practices for channel management | [Realtime Channels Concepts](/docs/guides/realtime/concepts#channels) | -| Contact support | Request custom quota increases for Enterprise plans or discuss high-volume channel join requirements | [Support Portal](/dashboard/support/new) | +| Action | Description | More information | +| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | +| Review quotas | Understand channel joins per second limits (Free: 100, Pro: 500, Pro no spend cap/Team/Enterprise: 2,500) and channels per connection limits (100 for most plans) | [Realtime Quotas Reference](/docs/guides/realtime/quotas) | +| Check logs | Investigate `too_many_joins` errors or channel join failures in your project dashboard | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | +| Fix channel errors | Learn how to properly manage channel lifecycle and prevent channel leaks in your application | [TooManyChannels Error Troubleshooting](/docs/guides/troubleshooting/realtime-too-many-channels-error) | +| Learn channel basics | Understand how Realtime channels work and best practices for channel management | [Realtime Channels Concepts](/docs/guides/realtime/concepts#channels) | +| Contact support | Request custom quota increases for Enterprise plans or discuss high-volume channel join requirements | [Support Portal](/dashboard/support/new) | ## Message Payload Size @@ -266,17 +266,17 @@ height={625} ### Actions you can take -| Action | Description | More information | -| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -| Configure connection pool | Adjust the "Database connection pool size" setting to increase the number of connections available for RLS authorization checks, which can improve performance for high-volume channel subscriptions | [Realtime Settings Guide](/docs/guides/realtime/settings) | -| Optimize RLS policies | Learn how to optimize RLS policies with indexes, function wrapping, and query optimization techniques | [RLS Performance Best Practices](/docs/troubleshooting/rls-performance-and-best-practices-Z5Jjwv) | -| Check logs | Investigate RLS authorization errors or timeout issues in your project dashboard | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | -| Learn authorization basics | Understand how RLS policies work with private channels and best practices for implementation | [Realtime Authorization Guide](/docs/guides/realtime/authorization) | -| Create indexes | Add indexes on columns frequently used in RLS policy conditions to speed up authorization checks | [Database Indexes Guide](/docs/guides/database/postgres/indexes) | -| Use index advisor | Automatically detect missing indexes that could improve RLS policy performance | [Index Advisor Extension Guide](/docs/guides/database/extensions/index_advisor) | -| Optimize queries | Learn techniques for optimizing queries including partial indexes and composite indexes for RLS conditions | [Query Optimization Guide](/docs/guides/database/query-optimization) | -| Monitor database | Review database query performance and identify slow queries that may be affecting RLS execution | [Database Observability Dashboard](/dashboard/project/_/observability/database) | -| Contact support | Discuss RLS optimization strategies or get assistance with complex authorization requirements | [Support Portal](/dashboard/support/new) | +| Action | Description | More information | +| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| Configure connection pool | Adjust the "Database connection pool size" setting to increase the number of connections available for RLS authorization checks, which can improve performance for high-volume channel subscriptions | [Realtime Settings Guide](/docs/guides/realtime/settings) | +| Optimize RLS policies | Learn how to optimize RLS policies with indexes, function wrapping, and query optimization techniques | [RLS Performance Best Practices](/docs/guides/troubleshooting/rls-performance-and-best-practices-Z5Jjwv) | +| Check logs | Investigate RLS authorization errors or timeout issues in your project dashboard | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | +| Learn authorization basics | Understand how RLS policies work with private channels and best practices for implementation | [Realtime Authorization Guide](/docs/guides/realtime/authorization) | +| Create indexes | Add indexes on columns frequently used in RLS policy conditions to speed up authorization checks | [Database Indexes Guide](/docs/guides/database/postgres/indexes) | +| Use index advisor | Automatically detect missing indexes that could improve RLS policy performance | [Index Advisor Extension Guide](/docs/guides/database/extensions/index_advisor) | +| Optimize queries | Learn techniques for optimizing queries including partial indexes and composite indexes for RLS conditions | [Query Optimization Guide](/docs/guides/database/query-optimization) | +| Monitor database | Review database query performance and identify slow queries that may be affecting RLS execution | [Database Observability Dashboard](/dashboard/project/_/observability/database) | +| Contact support | Discuss RLS optimization strategies or get assistance with complex authorization requirements | [Support Portal](/dashboard/support/new) | ## (Write) Private Channel Subscription RLS Execution Time @@ -299,17 +299,17 @@ height={625} ### Actions you can take -| Action | Description | More information | -| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -| Configure connection pool | Adjust the "Database connection pool size" setting to increase the number of connections available for RLS authorization checks, which can improve performance for high-frequency message publishing | [Realtime Settings Guide](/docs/guides/realtime/settings) | -| Optimize RLS policies | Learn how to optimize RLS policies with indexes, function wrapping, and query optimization techniques | [RLS Performance Best Practices](/docs/troubleshooting/rls-performance-and-best-practices-Z5Jjwv) | -| Check logs | Investigate RLS authorization errors or timeout issues when publishing messages in your project dashboard | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | -| Learn authorization basics | Understand how RLS policies work with private channels for write operations and best practices for implementation | [Realtime Authorization Guide](/docs/guides/realtime/authorization) | -| Create indexes | Add indexes on columns used in INSERT policies to speed up write authorization checks | [Database Indexes Guide](/docs/guides/database/postgres/indexes) | -| Use index advisor | Automatically detect missing indexes that could improve write RLS policy performance | [Index Advisor Extension Guide](/docs/guides/database/extensions/index_advisor) | -| Optimize queries | Learn techniques for optimizing INSERT policy queries including partial indexes for specific conditions | [Query Optimization Guide](/docs/guides/database/query-optimization) | -| Monitor database | Review database query performance and identify slow queries that may be affecting write RLS execution | [Database Observability Dashboard](/dashboard/project/_/observability/database) | -| Contact support | Discuss RLS optimization strategies or get assistance with complex authorization requirements for high-frequency messaging | [Support Portal](/dashboard/support/new) | +| Action | Description | More information | +| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| Configure connection pool | Adjust the "Database connection pool size" setting to increase the number of connections available for RLS authorization checks, which can improve performance for high-frequency message publishing | [Realtime Settings Guide](/docs/guides/realtime/settings) | +| Optimize RLS policies | Learn how to optimize RLS policies with indexes, function wrapping, and query optimization techniques | [RLS Performance Best Practices](/docs/guides/troubleshooting/rls-performance-and-best-practices-Z5Jjwv) | +| Check logs | Investigate RLS authorization errors or timeout issues when publishing messages in your project dashboard | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | +| Learn authorization basics | Understand how RLS policies work with private channels for write operations and best practices for implementation | [Realtime Authorization Guide](/docs/guides/realtime/authorization) | +| Create indexes | Add indexes on columns used in INSERT policies to speed up write authorization checks | [Database Indexes Guide](/docs/guides/database/postgres/indexes) | +| Use index advisor | Automatically detect missing indexes that could improve write RLS policy performance | [Index Advisor Extension Guide](/docs/guides/database/extensions/index_advisor) | +| Optimize queries | Learn techniques for optimizing INSERT policy queries including partial indexes for specific conditions | [Query Optimization Guide](/docs/guides/database/query-optimization) | +| Monitor database | Review database query performance and identify slow queries that may be affecting write RLS execution | [Database Observability Dashboard](/dashboard/project/_/observability/database) | +| Contact support | Discuss RLS optimization strategies or get assistance with complex authorization requirements for high-frequency messaging | [Support Portal](/dashboard/support/new) | ## Total Requests @@ -360,18 +360,18 @@ height={645} ### Actions you can take -| Action | Description | More information | -| ----------------------- | --------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -| Configure limits | Adjust "Max concurrent connections" or "Max events per second" settings if errors are related to quota limits being reached | [Realtime Settings Guide](/docs/guides/realtime/settings) | -| Check logs | Investigate specific error messages, error codes, and request details in your project dashboard | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | -| Review request volume | Compare error rates with total request volume to calculate error percentages and identify trends | [Total Requests Report](#total-requests) | -| Understand error codes | Understand specific error codes and their resolutions | [Realtime Error Codes Reference](/docs/guides/realtime/error_codes) | -| Learn HTTP status codes | Learn about HTTP status codes including 4XX client errors and 5XX server errors | [HTTP Status Codes Troubleshooting](/docs/troubleshooting/http-status-codes) | -| Fix timeout errors | Resolve WebSocket timeout errors caused by Node.js version incompatibility | [TIMED_OUT Connection Errors Troubleshooting](/docs/troubleshooting/realtime-connections-timed_out-status) | -| Understand heartbeats | Monitor heartbeat status to detect connection issues and handle timeouts | [Realtime Heartbeats Guide](/docs/troubleshooting/realtime-heartbeat-messages) | -| Review quotas | Check if errors are related to quota limits (e.g., `too_many_connections`, `too_many_joins`) | [Realtime Quotas Reference](/docs/guides/realtime/quotas) | -| Learn authorization | Troubleshoot authorization-related errors for private channels | [Realtime Authorization Guide](/docs/guides/realtime/authorization) | -| Contact support | Get assistance with persistent errors or investigate service-level issues | [Support Portal](/dashboard/support/new) | +| Action | Description | More information | +| ----------------------- | --------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| Configure limits | Adjust "Max concurrent connections" or "Max events per second" settings if errors are related to quota limits being reached | [Realtime Settings Guide](/docs/guides/realtime/settings) | +| Check logs | Investigate specific error messages, error codes, and request details in your project dashboard | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | +| Review request volume | Compare error rates with total request volume to calculate error percentages and identify trends | [Total Requests Report](#total-requests) | +| Understand error codes | Understand specific error codes and their resolutions | [Realtime Error Codes Reference](/docs/guides/realtime/error_codes) | +| Learn HTTP status codes | Learn about HTTP status codes including 4XX client errors and 5XX server errors | [HTTP Status Codes Troubleshooting](/docs/guides/troubleshooting/http-status-codes) | +| Fix timeout errors | Resolve WebSocket timeout errors caused by Node.js version incompatibility | [TIMED_OUT Connection Errors Troubleshooting](/docs/guides/troubleshooting/realtime-connections-timed_out-status) | +| Understand heartbeats | Monitor heartbeat status to detect connection issues and handle timeouts | [Realtime Heartbeats Guide](/docs/guides/troubleshooting/realtime-heartbeat-messages) | +| Review quotas | Check if errors are related to quota limits (e.g., `too_many_connections`, `too_many_joins`) | [Realtime Quotas Reference](/docs/guides/realtime/quotas) | +| Learn authorization | Troubleshoot authorization-related errors for private channels | [Realtime Authorization Guide](/docs/guides/realtime/authorization) | +| Contact support | Get assistance with persistent errors or investigate service-level issues | [Support Portal](/dashboard/support/new) | ## Response Speed @@ -393,13 +393,13 @@ height={834} ### Actions you can take -| Action | Description | More information | -| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -| Configure connection pool | Adjust the "Database connection pool size" setting to optimize database connection usage, which can improve response times for authorization checks | [Realtime Settings Guide](/docs/guides/realtime/settings) | -| Check logs | Investigate slow requests and identify specific endpoints or operations causing delays | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | -| Review request volume | Correlate response times with request volume to identify performance degradation under load | [Total Requests Report](#total-requests) | -| Monitor database | Review database resource utilization, connection counts, and query performance that may affect response times | [Database Observability Dashboard](/dashboard/project/_/observability/database) | -| Review benchmarks | Understand expected latency and throughput for different Realtime operations | [Realtime Performance Benchmarks](/docs/guides/realtime/benchmarks) | -| Understand heartbeats | Monitor heartbeat status and customize intervals to balance detection speed with network overhead | [Realtime Heartbeats Guide](/docs/troubleshooting/realtime-heartbeat-messages) | -| Optimize RLS policies | If using private channels, optimize RLS policies that may be slowing down authorization checks | [RLS Performance Best Practices](/docs/troubleshooting/rls-performance-and-best-practices-Z5Jjwv) | -| Contact support | Discuss performance optimization strategies or investigate persistent latency issues | [Support Portal](/dashboard/support/new) | +| Action | Description | More information | +| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| Configure connection pool | Adjust the "Database connection pool size" setting to optimize database connection usage, which can improve response times for authorization checks | [Realtime Settings Guide](/docs/guides/realtime/settings) | +| Check logs | Investigate slow requests and identify specific endpoints or operations causing delays | [Realtime Logs Dashboard](/dashboard/project/_/database/realtime-logs) | +| Review request volume | Correlate response times with request volume to identify performance degradation under load | [Total Requests Report](#total-requests) | +| Monitor database | Review database resource utilization, connection counts, and query performance that may affect response times | [Database Observability Dashboard](/dashboard/project/_/observability/database) | +| Review benchmarks | Understand expected latency and throughput for different Realtime operations | [Realtime Performance Benchmarks](/docs/guides/realtime/benchmarks) | +| Understand heartbeats | Monitor heartbeat status and customize intervals to balance detection speed with network overhead | [Realtime Heartbeats Guide](/docs/guides/troubleshooting/realtime-heartbeat-messages) | +| Optimize RLS policies | If using private channels, optimize RLS policies that may be slowing down authorization checks | [RLS Performance Best Practices](/docs/guides/troubleshooting/rls-performance-and-best-practices-Z5Jjwv) | +| Contact support | Discuss performance optimization strategies or investigate persistent latency issues | [Support Portal](/dashboard/support/new) | diff --git a/apps/docs/content/troubleshooting/realtime-project-suspended-for-exceeding-quotas.mdx b/apps/docs/content/troubleshooting/realtime-project-suspended-for-exceeding-quotas.mdx index dc2eddd2bb7..d34aa41b420 100644 --- a/apps/docs/content/troubleshooting/realtime-project-suspended-for-exceeding-quotas.mdx +++ b/apps/docs/content/troubleshooting/realtime-project-suspended-for-exceeding-quotas.mdx @@ -29,7 +29,7 @@ Suspension is not automatic and is applied after review. The goal is to protect In most cases, quota overages are accidental rather than intentional: - **Reconnection loops**: A client that fails to authenticate or subscribe may retry rapidly, creating thousands of short-lived connections -- **Uncontrolled channels**: Creating channels without cleaning them up leads to resource exhaustion (see [Fixing the TooManyChannels Error](/docs/troubleshooting/realtime-too-many-channels-error)) +- **Uncontrolled channels**: Creating channels without cleaning them up leads to resource exhaustion (see [Fixing the TooManyChannels Error](/docs/guides/troubleshooting/realtime-too-many-channels-error)) - **Missing cleanup on component tear down**: Single-page applications that don't unsubscribe when components are removed can accumulate connections over time - **Unexpected traffic spikes**: A viral event or bot traffic can push usage well beyond normal levels - **Development or testing misconfiguration**: Load tests or staging environments accidentally pointed at a production project @@ -56,15 +56,15 @@ The Supabase team will review your case to understand whether the usage was acci - Monitor your usage regularly through the [Realtime reports](/dashboard/project/_/database/realtime-logs) page - Set up alerts if your connections or messages approach your plan limits -- Follow the [channel management best practices](/docs/troubleshooting/realtime-too-many-channels-error#best-practices-for-channel-management) to avoid resource leaks +- Follow the [channel management best practices](/docs/guides/troubleshooting/realtime-too-many-channels-error#best-practices-for-channel-management) to avoid resource leaks - Review the [Realtime limits](/docs/guides/realtime/limits) for your plan and upgrade before you outgrow them - Use the [Realtime Inspector](https://realtime.supabase.com/inspector/new) to test and debug connections before deploying ## Related troubleshooting guides -- [Fixing the TooManyChannels Error](/docs/troubleshooting/realtime-too-many-channels-error) — channel lifecycle management and cleanup best practices -- [Concurrent Peak Connections quota](/docs/troubleshooting/realtime-concurrent-peak-connections-quota-jdDqcp) — understanding the concurrent connections quota and how to adjust it -- [Handling Silent Disconnections in Background Applications](/docs/troubleshooting/realtime-handling-silent-disconnections-in-backgrounded-applications-592794) — fixing WebSocket drops caused by browser or OS background mode -- [TIMED_OUT connection errors](/docs/troubleshooting/realtime-connections-timed_out-status) — resolving Node.js version incompatibilities -- [Debug Realtime with Logger and Log Levels](/docs/troubleshooting/realtime-debugging-with-logger) — enabling client-side logging to diagnose connection and message issues -- [Realtime Heartbeat Messages](/docs/troubleshooting/realtime-heartbeat-messages) — monitoring connection health with heartbeat callbacks +- [Fixing the TooManyChannels Error](/docs/guides/troubleshooting/realtime-too-many-channels-error) — channel lifecycle management and cleanup best practices +- [Concurrent Peak Connections quota](/docs/guides/troubleshooting/realtime-concurrent-peak-connections-quota-jdDqcp) — understanding the concurrent connections quota and how to adjust it +- [Handling Silent Disconnections in Background Applications](/docs/guides/troubleshooting/realtime-handling-silent-disconnections-in-backgrounded-applications-592794) — fixing WebSocket drops caused by browser or OS background mode +- [TIMED_OUT connection errors](/docs/guides/troubleshooting/realtime-connections-timed_out-status) — resolving Node.js version incompatibilities +- [Debug Realtime with Logger and Log Levels](/docs/guides/troubleshooting/realtime-debugging-with-logger) — enabling client-side logging to diagnose connection and message issues +- [Realtime Heartbeat Messages](/docs/guides/troubleshooting/realtime-heartbeat-messages) — monitoring connection health with heartbeat callbacks