diff --git a/apps/kb/public/img/guides/platform/exhaust-cpu-report.png b/apps/kb/public/img/guides/platform/exhaust-cpu-report.png new file mode 100644 index 00000000000..8d62afb6de1 Binary files /dev/null and b/apps/kb/public/img/guides/platform/exhaust-cpu-report.png differ diff --git a/apps/kb/public/img/restore-after-90-day-dark.png b/apps/kb/public/img/restore-after-90-day-dark.png new file mode 100644 index 00000000000..6a50f0a1c10 Binary files /dev/null and b/apps/kb/public/img/restore-after-90-day-dark.png differ diff --git a/apps/kb/public/img/troubleshooting/0e7f6842-78fd-44f9-b463-425507815fb6.png b/apps/kb/public/img/troubleshooting/0e7f6842-78fd-44f9-b463-425507815fb6.png new file mode 100644 index 00000000000..b75cf3c3b3a Binary files /dev/null and b/apps/kb/public/img/troubleshooting/0e7f6842-78fd-44f9-b463-425507815fb6.png differ diff --git a/apps/kb/public/img/troubleshooting/10950be3-264b-4a41-bc71-3d431c2756b2.png b/apps/kb/public/img/troubleshooting/10950be3-264b-4a41-bc71-3d431c2756b2.png new file mode 100644 index 00000000000..6b62f61329f Binary files /dev/null and b/apps/kb/public/img/troubleshooting/10950be3-264b-4a41-bc71-3d431c2756b2.png differ diff --git a/apps/kb/public/img/troubleshooting/152d65ad-f0ed-47cf-8dcb-1e31c6221e71.png b/apps/kb/public/img/troubleshooting/152d65ad-f0ed-47cf-8dcb-1e31c6221e71.png new file mode 100644 index 00000000000..348f6b063a1 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/152d65ad-f0ed-47cf-8dcb-1e31c6221e71.png differ diff --git a/apps/kb/public/img/troubleshooting/18ed2c88-332e-4e66-b9b4-c37e99a39104.png b/apps/kb/public/img/troubleshooting/18ed2c88-332e-4e66-b9b4-c37e99a39104.png new file mode 100644 index 00000000000..274d1fd2604 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/18ed2c88-332e-4e66-b9b4-c37e99a39104.png differ diff --git a/apps/kb/public/img/troubleshooting/224379580-fa77bd31-bb58-47e6-90ce-64e140f32579.png b/apps/kb/public/img/troubleshooting/224379580-fa77bd31-bb58-47e6-90ce-64e140f32579.png new file mode 100644 index 00000000000..f236805dbbc Binary files /dev/null and b/apps/kb/public/img/troubleshooting/224379580-fa77bd31-bb58-47e6-90ce-64e140f32579.png differ diff --git a/apps/kb/public/img/troubleshooting/401_edge_functions_toggle_off_JWT_check.png b/apps/kb/public/img/troubleshooting/401_edge_functions_toggle_off_JWT_check.png new file mode 100644 index 00000000000..34be98771e2 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/401_edge_functions_toggle_off_JWT_check.png differ diff --git a/apps/kb/public/img/troubleshooting/46f59019-6ff1-4bfb-9acd-d5b7bd282f89.png b/apps/kb/public/img/troubleshooting/46f59019-6ff1-4bfb-9acd-d5b7bd282f89.png new file mode 100644 index 00000000000..66c1a0b5a53 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/46f59019-6ff1-4bfb-9acd-d5b7bd282f89.png differ diff --git a/apps/kb/public/img/troubleshooting/47685206-7914-440e-a010-da62f5c38186.png b/apps/kb/public/img/troubleshooting/47685206-7914-440e-a010-da62f5c38186.png new file mode 100644 index 00000000000..ffa3f78d0bf Binary files /dev/null and b/apps/kb/public/img/troubleshooting/47685206-7914-440e-a010-da62f5c38186.png differ diff --git a/apps/kb/public/img/troubleshooting/47998bed-0b77-433a-bfed-63222beb2aee.png b/apps/kb/public/img/troubleshooting/47998bed-0b77-433a-bfed-63222beb2aee.png new file mode 100644 index 00000000000..2eb18732d1d Binary files /dev/null and b/apps/kb/public/img/troubleshooting/47998bed-0b77-433a-bfed-63222beb2aee.png differ diff --git a/apps/kb/public/img/troubleshooting/49e11154-296b-42b9-8036-8a7288e49b8a.png b/apps/kb/public/img/troubleshooting/49e11154-296b-42b9-8036-8a7288e49b8a.png new file mode 100644 index 00000000000..d56aedf13e5 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/49e11154-296b-42b9-8036-8a7288e49b8a.png differ diff --git a/apps/kb/public/img/troubleshooting/49e175d9-6338-4b17-97be-4bf7853e319f.png b/apps/kb/public/img/troubleshooting/49e175d9-6338-4b17-97be-4bf7853e319f.png new file mode 100644 index 00000000000..cf96e93ce90 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/49e175d9-6338-4b17-97be-4bf7853e319f.png differ diff --git a/apps/kb/public/img/troubleshooting/54428354-a1f4-4c44-bd03-d87f4b925d94.png b/apps/kb/public/img/troubleshooting/54428354-a1f4-4c44-bd03-d87f4b925d94.png new file mode 100644 index 00000000000..ea112beea61 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/54428354-a1f4-4c44-bd03-d87f4b925d94.png differ diff --git a/apps/kb/public/img/troubleshooting/546_errors_by_hour.png b/apps/kb/public/img/troubleshooting/546_errors_by_hour.png new file mode 100644 index 00000000000..dcb97dfa03d Binary files /dev/null and b/apps/kb/public/img/troubleshooting/546_errors_by_hour.png differ diff --git a/apps/kb/public/img/troubleshooting/565c96e0-cbb9-4e7a-b0aa-5b423afc0ada.png b/apps/kb/public/img/troubleshooting/565c96e0-cbb9-4e7a-b0aa-5b423afc0ada.png new file mode 100644 index 00000000000..2b0270cbfef Binary files /dev/null and b/apps/kb/public/img/troubleshooting/565c96e0-cbb9-4e7a-b0aa-5b423afc0ada.png differ diff --git a/apps/kb/public/img/troubleshooting/5b55ddbc-abfc-4c66-a012-b8e4d23cd438.png b/apps/kb/public/img/troubleshooting/5b55ddbc-abfc-4c66-a012-b8e4d23cd438.png new file mode 100644 index 00000000000..f8742c40f46 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/5b55ddbc-abfc-4c66-a012-b8e4d23cd438.png differ diff --git a/apps/kb/public/img/troubleshooting/627c1a3e-153e-40b5-9a91-a4f7bd7673a4.png b/apps/kb/public/img/troubleshooting/627c1a3e-153e-40b5-9a91-a4f7bd7673a4.png new file mode 100644 index 00000000000..81c666ad573 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/627c1a3e-153e-40b5-9a91-a4f7bd7673a4.png differ diff --git a/apps/kb/public/img/troubleshooting/6c284180-0ffd-432d-b86b-e9fbcfe23868.png b/apps/kb/public/img/troubleshooting/6c284180-0ffd-432d-b86b-e9fbcfe23868.png new file mode 100644 index 00000000000..ddba69bc5b2 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/6c284180-0ffd-432d-b86b-e9fbcfe23868.png differ diff --git a/apps/kb/public/img/troubleshooting/7fe991ac-40ea-4628-a5e3-181d706225ea.png b/apps/kb/public/img/troubleshooting/7fe991ac-40ea-4628-a5e3-181d706225ea.png new file mode 100644 index 00000000000..8b04c2bf89a Binary files /dev/null and b/apps/kb/public/img/troubleshooting/7fe991ac-40ea-4628-a5e3-181d706225ea.png differ diff --git a/apps/kb/public/img/troubleshooting/800448a1-0245-4a26-855f-3be8f44adf03.png b/apps/kb/public/img/troubleshooting/800448a1-0245-4a26-855f-3be8f44adf03.png new file mode 100644 index 00000000000..2296a7fa06a Binary files /dev/null and b/apps/kb/public/img/troubleshooting/800448a1-0245-4a26-855f-3be8f44adf03.png differ diff --git a/apps/kb/public/img/troubleshooting/830b81aa-ae52-44a4-aa49-32c2a6296af7.png b/apps/kb/public/img/troubleshooting/830b81aa-ae52-44a4-aa49-32c2a6296af7.png new file mode 100644 index 00000000000..626d84d8fce Binary files /dev/null and b/apps/kb/public/img/troubleshooting/830b81aa-ae52-44a4-aa49-32c2a6296af7.png differ diff --git a/apps/kb/public/img/troubleshooting/8ba54441-2057-4dc0-8add-a8eaab9f2d93.png b/apps/kb/public/img/troubleshooting/8ba54441-2057-4dc0-8add-a8eaab9f2d93.png new file mode 100644 index 00000000000..bcede723b46 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/8ba54441-2057-4dc0-8add-a8eaab9f2d93.png differ diff --git a/apps/kb/public/img/troubleshooting/90cb6a70-fc67-4666-9217-6fa37cfacf82.png b/apps/kb/public/img/troubleshooting/90cb6a70-fc67-4666-9217-6fa37cfacf82.png new file mode 100644 index 00000000000..b7f8c7c5950 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/90cb6a70-fc67-4666-9217-6fa37cfacf82.png differ diff --git a/apps/kb/public/img/troubleshooting/9b88a738-65d6-4be4-8fa0-bc3f13a9a408.png b/apps/kb/public/img/troubleshooting/9b88a738-65d6-4be4-8fa0-bc3f13a9a408.png new file mode 100644 index 00000000000..e8600fb6064 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/9b88a738-65d6-4be4-8fa0-bc3f13a9a408.png differ diff --git a/apps/kb/public/img/troubleshooting/9c6e0f9c-f842-463b-b214-1a9e31de3b2c.png b/apps/kb/public/img/troubleshooting/9c6e0f9c-f842-463b-b214-1a9e31de3b2c.png new file mode 100644 index 00000000000..033951c6a4f Binary files /dev/null and b/apps/kb/public/img/troubleshooting/9c6e0f9c-f842-463b-b214-1a9e31de3b2c.png differ diff --git a/apps/kb/public/img/troubleshooting/a360b417-e0cc-4706-8df4-89af63dcdc70.png b/apps/kb/public/img/troubleshooting/a360b417-e0cc-4706-8df4-89af63dcdc70.png new file mode 100644 index 00000000000..c8a0bebbf7a Binary files /dev/null and b/apps/kb/public/img/troubleshooting/a360b417-e0cc-4706-8df4-89af63dcdc70.png differ diff --git a/apps/kb/public/img/troubleshooting/ade24c85-50b5-47ca-a2ce-c3f77a0e128a.png b/apps/kb/public/img/troubleshooting/ade24c85-50b5-47ca-a2ce-c3f77a0e128a.png new file mode 100644 index 00000000000..7c7accbc092 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/ade24c85-50b5-47ca-a2ce-c3f77a0e128a.png differ diff --git a/apps/kb/public/img/troubleshooting/c4e7b193-4567-8901-abcd-ef1234567890.png b/apps/kb/public/img/troubleshooting/c4e7b193-4567-8901-abcd-ef1234567890.png new file mode 100644 index 00000000000..10649da3517 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/c4e7b193-4567-8901-abcd-ef1234567890.png differ diff --git a/apps/kb/public/img/troubleshooting/c6e228b8-fa64-47a9-bdf6-f1f6405b9cf9.png b/apps/kb/public/img/troubleshooting/c6e228b8-fa64-47a9-bdf6-f1f6405b9cf9.png new file mode 100644 index 00000000000..cd27655527a Binary files /dev/null and b/apps/kb/public/img/troubleshooting/c6e228b8-fa64-47a9-bdf6-f1f6405b9cf9.png differ diff --git a/apps/kb/public/img/troubleshooting/c7ac0f69-6fb9-4ff2-8aab-5cda6bada3f6.png b/apps/kb/public/img/troubleshooting/c7ac0f69-6fb9-4ff2-8aab-5cda6bada3f6.png new file mode 100644 index 00000000000..11ea0ee5608 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/c7ac0f69-6fb9-4ff2-8aab-5cda6bada3f6.png differ diff --git a/apps/kb/public/img/troubleshooting/cf450bca-aad3-4783-ae3b-5cc83e0afa54.png b/apps/kb/public/img/troubleshooting/cf450bca-aad3-4783-ae3b-5cc83e0afa54.png new file mode 100644 index 00000000000..19c5a6b1aec Binary files /dev/null and b/apps/kb/public/img/troubleshooting/cf450bca-aad3-4783-ae3b-5cc83e0afa54.png differ diff --git a/apps/kb/public/img/troubleshooting/d756aeb0-515f-425d-b737-75a935935b73.png b/apps/kb/public/img/troubleshooting/d756aeb0-515f-425d-b737-75a935935b73.png new file mode 100644 index 00000000000..10fb585b240 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/d756aeb0-515f-425d-b737-75a935935b73.png differ diff --git a/apps/kb/public/img/troubleshooting/da70bc33-f123-4567-8901-abcdef123456.png b/apps/kb/public/img/troubleshooting/da70bc33-f123-4567-8901-abcdef123456.png new file mode 100644 index 00000000000..2cea7ebe885 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/da70bc33-f123-4567-8901-abcdef123456.png differ diff --git a/apps/kb/public/img/troubleshooting/download-edge-function-via-dashboard.gif b/apps/kb/public/img/troubleshooting/download-edge-function-via-dashboard.gif new file mode 100644 index 00000000000..58f19698fa0 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/download-edge-function-via-dashboard.gif differ diff --git a/apps/kb/public/img/troubleshooting/e7d78109-b09d-48ca-8cc6-e4913693e163.png b/apps/kb/public/img/troubleshooting/e7d78109-b09d-48ca-8cc6-e4913693e163.png new file mode 100644 index 00000000000..b75cf3c3b3a Binary files /dev/null and b/apps/kb/public/img/troubleshooting/e7d78109-b09d-48ca-8cc6-e4913693e163.png differ diff --git a/apps/kb/public/img/troubleshooting/ec5ed538-985b-411d-a0d7-be718b28d367.png b/apps/kb/public/img/troubleshooting/ec5ed538-985b-411d-a0d7-be718b28d367.png new file mode 100644 index 00000000000..4273e62922a Binary files /dev/null and b/apps/kb/public/img/troubleshooting/ec5ed538-985b-411d-a0d7-be718b28d367.png differ diff --git a/apps/kb/public/img/troubleshooting/edge-function-504-timestamp-1.png b/apps/kb/public/img/troubleshooting/edge-function-504-timestamp-1.png new file mode 100644 index 00000000000..5b246a57c36 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/edge-function-504-timestamp-1.png differ diff --git a/apps/kb/public/img/troubleshooting/edge_function_404_redeploy.png b/apps/kb/public/img/troubleshooting/edge_function_404_redeploy.png new file mode 100644 index 00000000000..04f971711b4 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/edge_function_404_redeploy.png differ diff --git a/apps/kb/public/img/troubleshooting/edge_function_404_set_timeframe.png b/apps/kb/public/img/troubleshooting/edge_function_404_set_timeframe.png new file mode 100644 index 00000000000..57465225be1 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/edge_function_404_set_timeframe.png differ diff --git a/apps/kb/public/img/troubleshooting/edge_function_404_test_call.png b/apps/kb/public/img/troubleshooting/edge_function_404_test_call.png new file mode 100644 index 00000000000..85fd737effc Binary files /dev/null and b/apps/kb/public/img/troubleshooting/edge_function_404_test_call.png differ diff --git a/apps/kb/public/img/troubleshooting/f294a4d6-ef12-3456-7890-abcdef123456.png b/apps/kb/public/img/troubleshooting/f294a4d6-ef12-3456-7890-abcdef123456.png new file mode 100644 index 00000000000..7761da27ba5 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/f294a4d6-ef12-3456-7890-abcdef123456.png differ diff --git a/apps/kb/public/img/troubleshooting/failed-to-run-sql-query-connection-terminated-due-to-connection-timeout.jpg b/apps/kb/public/img/troubleshooting/failed-to-run-sql-query-connection-terminated-due-to-connection-timeout.jpg new file mode 100644 index 00000000000..05ac0011045 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/failed-to-run-sql-query-connection-terminated-due-to-connection-timeout.jpg differ diff --git a/apps/kb/public/img/troubleshooting/ff01bba8-abcd-ef12-3456-7890abcdef12.png b/apps/kb/public/img/troubleshooting/ff01bba8-abcd-ef12-3456-7890abcdef12.png new file mode 100644 index 00000000000..c781daef2bf Binary files /dev/null and b/apps/kb/public/img/troubleshooting/ff01bba8-abcd-ef12-3456-7890abcdef12.png differ diff --git a/apps/kb/public/img/troubleshooting/filter_503.png b/apps/kb/public/img/troubleshooting/filter_503.png new file mode 100644 index 00000000000..efa0f647959 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/filter_503.png differ diff --git a/apps/kb/public/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-0.png b/apps/kb/public/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-0.png new file mode 100644 index 00000000000..5fbc641c570 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-0.png differ diff --git a/apps/kb/public/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-1.png b/apps/kb/public/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-1.png new file mode 100644 index 00000000000..c2eea9a364d Binary files /dev/null and b/apps/kb/public/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-1.png differ diff --git a/apps/kb/public/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-2.png b/apps/kb/public/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-2.png new file mode 100644 index 00000000000..68fcfa2c9b5 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-2.png differ diff --git a/apps/kb/public/img/troubleshooting/limit_logs.png b/apps/kb/public/img/troubleshooting/limit_logs.png new file mode 100644 index 00000000000..afde11ed385 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/limit_logs.png differ diff --git a/apps/kb/public/img/troubleshooting/migrations-failed-status.png b/apps/kb/public/img/troubleshooting/migrations-failed-status.png new file mode 100644 index 00000000000..0b4a86184b4 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/migrations-failed-status.png differ diff --git a/apps/kb/public/img/troubleshooting/postgres-logs-migration-failed.png b/apps/kb/public/img/troubleshooting/postgres-logs-migration-failed.png new file mode 100644 index 00000000000..d2e8c7b44ab Binary files /dev/null and b/apps/kb/public/img/troubleshooting/postgres-logs-migration-failed.png differ diff --git a/apps/kb/public/img/troubleshooting/project-status-unhealthy-services.png b/apps/kb/public/img/troubleshooting/project-status-unhealthy-services.png new file mode 100644 index 00000000000..0cfa6ca94cd Binary files /dev/null and b/apps/kb/public/img/troubleshooting/project-status-unhealthy-services.png differ diff --git a/apps/kb/public/img/troubleshooting/rebase-image.png b/apps/kb/public/img/troubleshooting/rebase-image.png new file mode 100644 index 00000000000..f164eb83486 Binary files /dev/null and b/apps/kb/public/img/troubleshooting/rebase-image.png differ diff --git a/apps/kb/public/img/troubleshooting/reports-page-egress.png b/apps/kb/public/img/troubleshooting/reports-page-egress.png new file mode 100644 index 00000000000..8801fc6fd8e Binary files /dev/null and b/apps/kb/public/img/troubleshooting/reports-page-egress.png differ diff --git a/apps/kb/public/img/troubleshooting/upload-edge-function-via-dashboard.gif b/apps/kb/public/img/troubleshooting/upload-edge-function-via-dashboard.gif new file mode 100644 index 00000000000..b8835bb201b Binary files /dev/null and b/apps/kb/public/img/troubleshooting/upload-edge-function-via-dashboard.gif differ diff --git a/apps/kb/src/content/guides/all-about-supabase-egress-a_Sg_e.mdx b/apps/kb/src/content/guides/all-about-supabase-egress-a_Sg_e.mdx index aeb407da4f7..9a7e4d386c0 100644 --- a/apps/kb/src/content/guides/all-about-supabase-egress-a_Sg_e.mdx +++ b/apps/kb/src/content/guides/all-about-supabase-egress-a_Sg_e.mdx @@ -16,7 +16,7 @@ You can review the [Billing Dashboard](/dashboard/org/_/usage#egress) for egress - Example: [Custom Reports](/dashboard/project/_/observability/api-overview?newReport=true) -> Add/Remove charts -> Database API -> API Egress. -![image](/docs/img/troubleshooting/reports-page-egress.png) +![image](/kb/img/troubleshooting/reports-page-egress.png) ## What is contributing to Egress? diff --git a/apps/kb/src/content/guides/branch-in-migrations-failed-status.mdx b/apps/kb/src/content/guides/branch-in-migrations-failed-status.mdx index 05a4c0ec200..9ba254b75bc 100644 --- a/apps/kb/src/content/guides/branch-in-migrations-failed-status.mdx +++ b/apps/kb/src/content/guides/branch-in-migrations-failed-status.mdx @@ -15,7 +15,7 @@ Work through the following steps to diagnose and repair your migration history s 1. Go to [Branches](/dashboard/project/_/branches) and find the affected branch. 2. Click **View logs**. A dialog shows the branch's creation workflow, including the failed step. -![Branch creation workflow logs showing the failed migration step for a branch in MIGRATIONS_FAILED status](/docs/img/troubleshooting/migrations-failed-status.png) +![Branch creation workflow logs showing the failed migration step for a branch in MIGRATIONS_FAILED status](/kb/img/troubleshooting/migrations-failed-status.png) --- @@ -25,7 +25,7 @@ Work through the following steps to diagnose and repair your migration history s 2. Look for entries beginning with `execute :`. These are the individual migration statements being replayed. 3. Find the entry marked as an **error**, which the Dashboard also highlights in red. This is the statement that failed, and its message explains why. Common messages include relation already exists, column not found, permission denied, and relation does not exist. -![Postgres Logs with the failed migration statement marked as an error and its message expanded](/docs/img/troubleshooting/postgres-logs-migration-failed.png) +![Postgres Logs with the failed migration statement marked as an error and its message expanded](/kb/img/troubleshooting/postgres-logs-migration-failed.png) --- @@ -66,7 +66,7 @@ This retrieves the migration files currently recorded against your `main` branch After repairing the migration history, either create a new branch or **rebase** the existing affected branch. -![The rebase branch button in the Dashboard branch details view](/docs/img/troubleshooting/rebase-image.png) +![The rebase branch button in the Dashboard branch details view](/kb/img/troubleshooting/rebase-image.png) Check the branch's workflow logs again, as described in step 1, to confirm migrations now complete successfully. diff --git a/apps/kb/src/content/guides/do-i-need-to-expose-security-definer-functions-in-row-level-security-policies-iI0uOw.mdx b/apps/kb/src/content/guides/do-i-need-to-expose-security-definer-functions-in-row-level-security-policies-iI0uOw.mdx index 6d865ddfaa7..eece0366961 100644 --- a/apps/kb/src/content/guides/do-i-need-to-expose-security-definer-functions-in-row-level-security-policies-iI0uOw.mdx +++ b/apps/kb/src/content/guides/do-i-need-to-expose-security-definer-functions-in-row-level-security-policies-iI0uOw.mdx @@ -10,7 +10,7 @@ PostgREST supports 2 config parameters: - Exposed Schemas - Extra Search Path -![image](/docs/img/troubleshooting/d756aeb0-515f-425d-b737-75a935935b73.png) +![image](/kb/img/troubleshooting/d756aeb0-515f-425d-b737-75a935935b73.png) You do not need to add your "security definer" Functions to either of these if you are using them in your Policies. diff --git a/apps/kb/src/content/guides/edge-function-401-error-response.mdx b/apps/kb/src/content/guides/edge-function-401-error-response.mdx index 024cca4db16..029a514ef4d 100644 --- a/apps/kb/src/content/guides/edge-function-401-error-response.mdx +++ b/apps/kb/src/content/guides/edge-function-401-error-response.mdx @@ -126,7 +126,7 @@ Your project uses the [new asymmetric keys](/blog/jwt-signing-keys) for authenti In the [Functions Dashboard](/dashboard/project/_/functions/), open the affected function's `detail tab` and toggle off JWT verification. -![image](/docs/img/troubleshooting/401_edge_functions_toggle_off_JWT_check.png) +![image](/kb/img/troubleshooting/401_edge_functions_toggle_off_JWT_check.png) #### Method B: Supabase CLI diff --git a/apps/kb/src/content/guides/edge-function-404-error-response.mdx b/apps/kb/src/content/guides/edge-function-404-error-response.mdx index fb24471849d..6a6bb6e3b8c 100644 --- a/apps/kb/src/content/guides/edge-function-404-error-response.mdx +++ b/apps/kb/src/content/guides/edge-function-404-error-response.mdx @@ -58,7 +58,7 @@ The difference between the two errors is: > [!NOTE] > Always configure an appropriate time frame when querying the logs > -> ![image](/docs/img/troubleshooting/edge_function_404_set_timeframe.png) +> ![image](/kb/img/troubleshooting/edge_function_404_set_timeframe.png) You cannot inspect the function dashboard to find platform 404 errors, instead, run the below query in the [SQL Editor](/dashboard/project/_/sql/new?skip=true&source=logs&content=select%20distinct%0A%20%20log_attributes%5B%27request.pathname%27%5D%20as%20function_name%2C%0A%20%20log_attributes%5B%27response.status_code%27%5D%20as%20status_code%2C%0A%20%20case%0A%20%20%20%20when%20log_attributes%5B%27execution_id%27%5D%20%3D%20%27%27%20then%20%27FUNCTION_NOT_FOUND%27%0A%20%20%20%20else%20%27FUNCTION%20RECOGNIZED%3A%20custom%20404%20message%20in%20app%20logic%27%0A%20%20end%20as%20type_of_404%0Afrom%20logs%0Awhere%0A%20%20source%20%3D%20%27function_edge_logs%27%0A%20%20and%20toInt32OrZero%28log_attributes%5B%27response.status_code%27%5D%29%20%3D%20404%0Alimit%2010%3B). The results show all requests that reached Supabase but were rejected as unrecognizable. @@ -90,7 +90,7 @@ In your code, make sure your function name doesn't have any typos, such as: When selecting your function in the [Function Dashboard](/dashboard/project/_/functions), you should have the option to make a test call: -![image](/docs/img/troubleshooting/edge_function_404_test_call.png) +![image](/kb/img/troubleshooting/edge_function_404_test_call.png) If the call works, consider double checking your code for typos or to see if it is overwriting the function name dynamically. Otherwise, go on to step 4. @@ -100,7 +100,7 @@ If step 3 fails, it may be a sign of an internal bug and it may be necessary to This can be done within the [Function Dashboard](/dashboard/project/_/functions) under the respective function's code tab: -![image](/docs/img/troubleshooting/edge_function_404_redeploy.png) +![image](/kb/img/troubleshooting/edge_function_404_redeploy.png) Alternatively, if you develop locally, you can redeploy the function with the [Supabase CLI](/docs/guides/local-development/cli/getting-started?queryGroups=platform&platform=macos): diff --git a/apps/kb/src/content/guides/edge-function-503-response.mdx b/apps/kb/src/content/guides/edge-function-503-response.mdx index 84087217328..89681d9bf13 100644 --- a/apps/kb/src/content/guides/edge-function-503-response.mdx +++ b/apps/kb/src/content/guides/edge-function-503-response.mdx @@ -85,7 +85,7 @@ A [`SyntaxError`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refere In the [Function Dashboard](/dashboard/project/_/functions), under the affected function's `Log` tab, you can filter for the key phrase `worker boot error:`. the log will tell you syntax error occurred: -![image](/docs/img/troubleshooting/filter_503.png) +![image](/kb/img/troubleshooting/filter_503.png) Alternatively, instead of using the Function Dashboard, you can programmatically find boot failure error messages in the [SQL Editor](/dashboard/project/_/sql/new?skip=true&source=logs&content=select%0A%20%20fl.event_message%2C%0A%20%20fl.timestamp%2C%0A%20%20fel.function_name%2C%0A%20%20fel.status_code%0Afrom%0A%20%20%28%0A%20%20%20%20select%0A%20%20%20%20%20%20timestamp%2C%0A%20%20%20%20%20%20event_message%2C%0A%20%20%20%20%20%20log_attributes%5B%27function_id%27%5D%20as%20function_id%2C%0A%20%20%20%20%20%20log_attributes%5B%27version%27%5D%20as%20version%0A%20%20%20%20from%20logs%0A%20%20%20%20where%20source%20%3D%20%27function_logs%27%0A%20%20%20%20%20%20and%20log_attributes%5B%27event_type%27%5D%20%3D%20%27BootFailure%27%0A%20%20%29%20as%20fl%0A%20%20left%20join%20%28%0A%20%20%20%20select%0A%20%20%20%20%20%20log_attributes%5B%27function_id%27%5D%20as%20function_id%2C%0A%20%20%20%20%20%20log_attributes%5B%27version%27%5D%20as%20version%2C%0A%20%20%20%20%20%20log_attributes%5B%27request.pathname%27%5D%20as%20function_name%2C%0A%20%20%20%20%20%20log_attributes%5B%27response.status_code%27%5D%20as%20status_code%0A%20%20%20%20from%20logs%0A%20%20%20%20where%20source%20%3D%20%27function_edge_logs%27%0A%20%20%29%20as%20fel%20on%20fl.function_id%20%3D%20fel.function_id%20and%20fl.version%20%3D%20fel.version%0Aorder%20by%20fl.timestamp%2C%20fel.function_name%0Alimit%2020%3B) with the below query: diff --git a/apps/kb/src/content/guides/edge-function-504-error-response.mdx b/apps/kb/src/content/guides/edge-function-504-error-response.mdx index fc11a877c72..1051e145a19 100644 --- a/apps/kb/src/content/guides/edge-function-504-error-response.mdx +++ b/apps/kb/src/content/guides/edge-function-504-error-response.mdx @@ -57,7 +57,7 @@ console.timeEnd('fetch-user-data') The time response will show up in the [function's dashboard](/dashboard/project/_/functions) under the `Log` tab with the label you assigned it. You can use the label as a keyword to search for the timestamp. -![image](/docs/img/troubleshooting/edge-function-504-timestamp-1.png) +![image](/kb/img/troubleshooting/edge-function-504-timestamp-1.png) For local development, you can also step through execution with [Chrome Dev Tools](/docs/guides/functions/debugging-tools). diff --git a/apps/kb/src/content/guides/edge-function-546-error-response.mdx b/apps/kb/src/content/guides/edge-function-546-error-response.mdx index d653d2d9648..68d48b0f6ad 100644 --- a/apps/kb/src/content/guides/edge-function-546-error-response.mdx +++ b/apps/kb/src/content/guides/edge-function-546-error-response.mdx @@ -42,7 +42,7 @@ In the [function dashboard's](/dashboard/project/_/functions/) `Logs` tab, you c - `Memory limit exceeded` - `CPU Time exceeded` -![image](/docs/img/troubleshooting/limit_logs.png) +![image](/kb/img/troubleshooting/limit_logs.png) Alternatively, you can filter for the specific errors from the function using the [SQL Editor](/dashboard/project/_/sql/new?skip=true&source=logs&content=select%0A%20%20fl.event_message%2C%0A%20%20fl.timestamp%2C%0A%20%20fel.function_name%2C%0A%20%20fel.status_code%0Afrom%0A%20%20%28%0A%20%20%20%20select%0A%20%20%20%20%20%20timestamp%2C%0A%20%20%20%20%20%20event_message%2C%0A%20%20%20%20%20%20log_attributes%5B%27execution_id%27%5D%20as%20execution_id%0A%20%20%20%20from%20logs%0A%20%20%20%20where%20source%20%3D%20%27function_logs%27%0A%20%20%20%20%20%20and%20log_attributes%5B%27level%27%5D%20%3D%20%27error%27%0A%20%20%29%20as%20fl%0A%20%20inner%20join%20%28%0A%20%20%20%20select%0A%20%20%20%20%20%20log_attributes%5B%27execution_id%27%5D%20as%20execution_id%2C%0A%20%20%20%20%20%20log_attributes%5B%27request.pathname%27%5D%20as%20function_name%2C%0A%20%20%20%20%20%20log_attributes%5B%27response.status_code%27%5D%20as%20status_code%0A%20%20%20%20from%20logs%0A%20%20%20%20where%20source%20%3D%20%27function_edge_logs%27%0A%20%20%20%20%20%20and%20toInt32OrZero%28log_attributes%5B%27response.status_code%27%5D%29%20%3D%20546%0A%20%20%29%20as%20fel%20on%20fl.execution_id%20%3D%20fel.execution_id%0Aorder%20by%20fl.timestamp%2C%20fel.function_name%0Alimit%2020%3B) @@ -171,7 +171,7 @@ limit 24; ``` The output may look like: -![image](/docs/img/troubleshooting/546_errors_by_hour.png) +![image](/kb/img/troubleshooting/546_errors_by_hour.png) If the failures are concentrated to a specific time, you can check if you made any updates around that period or if users were engaging in atypical behavior, such as sending larger payloads. diff --git a/apps/kb/src/content/guides/failed-to-fetch-in-dashboard-and-other-areas----browser-extension-dyDTRU.mdx b/apps/kb/src/content/guides/failed-to-fetch-in-dashboard-and-other-areas----browser-extension-dyDTRU.mdx index e847609694d..5c2f2a96a79 100644 --- a/apps/kb/src/content/guides/failed-to-fetch-in-dashboard-and-other-areas----browser-extension-dyDTRU.mdx +++ b/apps/kb/src/content/guides/failed-to-fetch-in-dashboard-and-other-areas----browser-extension-dyDTRU.mdx @@ -7,14 +7,10 @@ github_url: 'https://github.com/orgs/supabase/discussions/17296' Although Failed to Fetch can occur for a variety of reasons a common one in the dashboard or when using update code is related to a browser extension. -![image](/docs/img/troubleshooting/7fe991ac-40ea-4628-a5e3-181d706225ea.png) +![image](/kb/img/troubleshooting/7fe991ac-40ea-4628-a5e3-181d706225ea.png) https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf This extension sets PATCH to be blocked by default for some reason... -168501713-5f020510-4555-4cc3-84de-582efc1c62de +![168501713-5f020510-4555-4cc3-84de-582efc1c62de](https://github.com/supabase/supabase/assets/54564956/c61b9292-2954-4c68-8129-995941f36210) diff --git a/apps/kb/src/content/guides/failed-to-run-sql-query-connection-terminated-due-to-connection-timeout.mdx b/apps/kb/src/content/guides/failed-to-run-sql-query-connection-terminated-due-to-connection-timeout.mdx index 443e38e7f3c..2f5b900842e 100644 --- a/apps/kb/src/content/guides/failed-to-run-sql-query-connection-terminated-due-to-connection-timeout.mdx +++ b/apps/kb/src/content/guides/failed-to-run-sql-query-connection-terminated-due-to-connection-timeout.mdx @@ -4,7 +4,7 @@ description: 'Explains that this error typically means the database is overloade topics: ['Troubleshooting', 'Database', 'Dashboard'] --- -![Failed to run sql query: Connection terminated due to connection timeout](/docs/img/troubleshooting/failed-to-run-sql-query-connection-terminated-due-to-connection-timeout.jpg) +![Failed to run sql query: Connection terminated due to connection timeout](/kb/img/troubleshooting/failed-to-run-sql-query-connection-terminated-due-to-connection-timeout.jpg) This error typically happens when the database is overloaded and causing an outage. As the database does not respond in a timely manner there can be a variety of symptoms such as tables not loading, error messages related to retrieving data and the dashboard seems to be unresponsive. diff --git a/apps/kb/src/content/guides/grafana-not-displaying-data-sXJrMj.mdx b/apps/kb/src/content/guides/grafana-not-displaying-data-sXJrMj.mdx index 5332c91d02b..e89fd427d5c 100644 --- a/apps/kb/src/content/guides/grafana-not-displaying-data-sXJrMj.mdx +++ b/apps/kb/src/content/guides/grafana-not-displaying-data-sXJrMj.mdx @@ -17,7 +17,7 @@ curl https://.supabase.co/customer/v1/privileged/metrics --use ## Step 2: Set your Grafana Dashboard to auto-refresh in the top right corner -![388343266-ed4b8f38-e0cd-474e-bc1c-1ac6ae68e1aa](/docs/img/troubleshooting/47998bed-0b77-433a-bfed-63222beb2aee.png) +![388343266-ed4b8f38-e0cd-474e-bc1c-1ac6ae68e1aa](/kb/img/troubleshooting/47998bed-0b77-433a-bfed-63222beb2aee.png) ## Step 3: Make sure your docker container has the default configurations @@ -29,7 +29,7 @@ docker ps -f name=supabase-grafana The output should look something like this: -![image](/docs/img/troubleshooting/6c284180-0ffd-432d-b86b-e9fbcfe23868.png) +![image](/kb/img/troubleshooting/6c284180-0ffd-432d-b86b-e9fbcfe23868.png) Here it is in an easier to read format diff --git a/apps/kb/src/content/guides/high-cpu-usage.mdx b/apps/kb/src/content/guides/high-cpu-usage.mdx index 7fd676baaea..adfa92f59b2 100644 --- a/apps/kb/src/content/guides/high-cpu-usage.mdx +++ b/apps/kb/src/content/guides/high-cpu-usage.mdx @@ -22,7 +22,7 @@ Moreover, your instance might not be able to handle future traffic spikes if it You can check your CPU usage directly on the Supabase Platform. For this go to database health in the [Observability section](/dashboard/project/_/observability/database) and select your project. -![CPU usage reported on Supabase dashboard](/docs/img/guides/platform/exhaust-cpu-report.png) +![CPU usage reported on Supabase dashboard](/kb/img/guides/platform/exhaust-cpu-report.png) It is also possible to monitor your resources and set up alerts using Prometheus/Grafana. You can find a guide for this [here](/docs/guides/observability/metrics). diff --git a/apps/kb/src/content/guides/how-to-change-max-database-connections-_BQ8P5.mdx b/apps/kb/src/content/guides/how-to-change-max-database-connections-_BQ8P5.mdx index 4ae24f7abde..1317af399e2 100644 --- a/apps/kb/src/content/guides/how-to-change-max-database-connections-_BQ8P5.mdx +++ b/apps/kb/src/content/guides/how-to-change-max-database-connections-_BQ8P5.mdx @@ -63,7 +63,7 @@ The default connection values are set based on a solid understanding of Postgres This is a Grafana Chart of unhealthy memory usage: -![image](/docs/img/troubleshooting/47685206-7914-440e-a010-da62f5c38186.png) +![image](/kb/img/troubleshooting/47685206-7914-440e-a010-da62f5c38186.png) - Yellow: represents active memory - Red: represents SWAP, which is disk storage that the system treats as if it were memory @@ -91,12 +91,8 @@ select The below chart is an example of what can occur to the CPU if 100s of connections are inappropriately opened/closed every second or many CPU intensive queries are run in parallel -![image](/docs/img/troubleshooting/0e7f6842-78fd-44f9-b463-425507815fb6.png) +![image](/kb/img/troubleshooting/0e7f6842-78fd-44f9-b463-425507815fb6.png) If you plan on increasing your direct connection numbers, your database should have relatively predictable or low CPU usage, such as what the example displays below: -Screenshot 2024-06-11 at 3 09 03 PM +![Screenshot 2024-06-11 at 3 09 03 PM](https://github.com/supabase/supabase/assets/91111415/ee3e4f4c-87a1-4ef8-9ca5-af9094fc1b93) diff --git a/apps/kb/src/content/guides/how-to-delete-vercel-linked-projects-9d08aa.mdx b/apps/kb/src/content/guides/how-to-delete-vercel-linked-projects-9d08aa.mdx index 9fb7398656f..155b24a385a 100644 --- a/apps/kb/src/content/guides/how-to-delete-vercel-linked-projects-9d08aa.mdx +++ b/apps/kb/src/content/guides/how-to-delete-vercel-linked-projects-9d08aa.mdx @@ -16,7 +16,7 @@ This method requires two steps - first delete in Supabase, then clean up in Verc Go to your [project settings](/dashboard/project/_/settings/general) and click **"Delete project"**. This permanently removes your database and marks it as "uninstalled" in Vercel. - ![Delete project button in Supabase project settings](/docs/img/troubleshooting/54428354-a1f4-4c44-bd03-d87f4b925d94.png) + ![Delete project button in Supabase project settings](/kb/img/troubleshooting/54428354-a1f4-4c44-bd03-d87f4b925d94.png) 2. **Clean up in Vercel** @@ -25,13 +25,13 @@ This method requires two steps - first delete in Supabase, then clean up in Verc - Go to the **Storage** tab - Click on the Supabase project (it will show as "uninstalled") - ![Uninstalled Supabase project in Vercel Storage](/docs/img/troubleshooting/cf450bca-aad3-4783-ae3b-5cc83e0afa54.png) + ![Uninstalled Supabase project in Vercel Storage](/kb/img/troubleshooting/cf450bca-aad3-4783-ae3b-5cc83e0afa54.png) - Scroll down and find the **Settings** tab in the sidebar - ![Vercel project settings navigation](/docs/img/troubleshooting/da70bc33-f123-4567-8901-abcdef123456.png) + ![Vercel project settings navigation](/kb/img/troubleshooting/da70bc33-f123-4567-8901-abcdef123456.png) - Click **Delete Database** to completely remove it - ![Delete Database button in Vercel settings](/docs/img/troubleshooting/c4e7b193-4567-8901-abcd-ef1234567890.png) + ![Delete Database button in Vercel settings](/kb/img/troubleshooting/c4e7b193-4567-8901-abcd-ef1234567890.png) ### Method 2: Delete directly from Vercel (removes from both platforms) @@ -49,13 +49,13 @@ This method deletes the project from both Vercel and Supabase in one action. Find and click the **Settings** tab in the sidebar. - ![Vercel project settings navigation](/docs/img/troubleshooting/da70bc33-f123-4567-8901-abcdef123456.png) + ![Vercel project settings navigation](/kb/img/troubleshooting/da70bc33-f123-4567-8901-abcdef123456.png) 4. **Delete the project** Scroll down and click **Delete Database**. This removes the project from both Vercel and Supabase simultaneously. - ![Delete Database button in Vercel settings](/docs/img/troubleshooting/c4e7b193-4567-8901-abcd-ef1234567890.png) + ![Delete Database button in Vercel settings](/kb/img/troubleshooting/c4e7b193-4567-8901-abcd-ef1234567890.png) ## Transferring projects from Vercel organizations @@ -68,7 +68,7 @@ If you want to move a Vercel-linked project to a different organization: Go to your [project settings](/dashboard/project/_/settings/general) and look for **"Transfer Project"**. Transfer your project to a different organization. - ![Transfer project option in Supabase project settings](/docs/img/troubleshooting/627c1a3e-153e-40b5-9a91-a4f7bd7673a4.png) + ![Transfer project option in Supabase project settings](/kb/img/troubleshooting/627c1a3e-153e-40b5-9a91-a4f7bd7673a4.png) Note: The owner must be a member of both the source and target organizations. Transferring a Vercel-managed project will remove its linked Vercel storage from your team. @@ -93,13 +93,13 @@ If you want to move a Vercel-linked project to a different organization: Go to your [organization settings](/dashboard/org/_/general) and click **"Delete organization in Vercel Marketplace"**. This opens the Vercel settings page. - ![Delete organization in Vercel Marketplace button](/docs/img/troubleshooting/ff01bba8-abcd-ef12-3456-7890abcdef12.png) + ![Delete organization in Vercel Marketplace button](/kb/img/troubleshooting/ff01bba8-abcd-ef12-3456-7890abcdef12.png) 2. **Uninstall integration** Scroll down and click **Uninstall Integration** to fully remove the organization and disconnect it from Vercel. - ![Uninstall Integration button in Vercel settings](/docs/img/troubleshooting/f294a4d6-ef12-3456-7890-abcdef123456.png) + ![Uninstall Integration button in Vercel settings](/kb/img/troubleshooting/f294a4d6-ef12-3456-7890-abcdef123456.png) ## Important notes diff --git a/apps/kb/src/content/guides/identify-lovable-cloud-or-supabase-backend.mdx b/apps/kb/src/content/guides/identify-lovable-cloud-or-supabase-backend.mdx index e6122d6806e..af3f20f4b52 100644 --- a/apps/kb/src/content/guides/identify-lovable-cloud-or-supabase-backend.mdx +++ b/apps/kb/src/content/guides/identify-lovable-cloud-or-supabase-backend.mdx @@ -17,7 +17,7 @@ Knowing which backend your project uses helps you understand where your database In the Lovable interface, click the **Cloud icon** on the top bar of your project editor. This section shows which backend your project is currently connected to. -![Lovable Cloud icon inside Lovable](/docs/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-0.png) +![Lovable Cloud icon inside Lovable](/kb/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-0.png) > [!NOTE] > The Cloud icon appears for all projects, regardless of which backend type you're using. Click it to see your actual backend configuration. @@ -28,7 +28,7 @@ Once you open the Cloud settings, you see one of two interfaces depending on you If the page shows a menu and screens to manage your Database tables, and Users from within Lovable (similar to the screenshot below), then your backend is managed by **Lovable Cloud**. -![Lovable Cloud backend settings inside Lovable](/docs/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-1.png) +![Lovable Cloud backend settings inside Lovable](/kb/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-1.png) Your Supabase instance in this case is **owned and managed by Lovable**, not by your personal Supabase account. You won’t see this project in your Supabase Dashboard, and you won’t have access to service role keys or direct database URLs. @@ -37,7 +37,7 @@ You won’t see this project in your Supabase Dashboard, and you won’t have ac If the page displays the Supabase icon, your Supabase project name, and some links that direct you to the Supabase Dashboard (similar to the screenshot below), then your Lovable project is connected to a **Supabase project you manage directly**. -![Supabase backend settings inside Lovable](/docs/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-2.png) +![Supabase backend settings inside Lovable](/kb/img/troubleshooting/identify-lovable-cloud-or-supabase-backend-2.png) ## Summary diff --git a/apps/kb/src/content/guides/increase-vector-lookup-speeds-by-applying-an-hsnw-index-ohLHUM.mdx b/apps/kb/src/content/guides/increase-vector-lookup-speeds-by-applying-an-hsnw-index-ohLHUM.mdx index 929c4edabb4..38474b370dc 100644 --- a/apps/kb/src/content/guides/increase-vector-lookup-speeds-by-applying-an-hsnw-index-ohLHUM.mdx +++ b/apps/kb/src/content/guides/increase-vector-lookup-speeds-by-applying-an-hsnw-index-ohLHUM.mdx @@ -105,8 +105,4 @@ If your task is particularly long, you can speed it up by boosting your computin HSNW indexes can produce temporary files during their construction that may consume a few GBs worth of disk. Consider increasing the disk size in the [Infrastructure settings](/dashboard/project/_/settings/infrastructure) to accommodate for short-term disk stress. -Screenshot 2024-06-10 at 8 00 28 PM +![Screenshot 2024-06-10 at 8 00 28 PM](https://github.com/supabase/supabase/assets/91111415/9820e214-8796-4b56-91a3-2e73e4836b2f) diff --git a/apps/kb/src/content/guides/inspecting-edge-function-environment-variables-wg5qOQ.mdx b/apps/kb/src/content/guides/inspecting-edge-function-environment-variables-wg5qOQ.mdx index 2dbd50778a8..2351d200ce1 100644 --- a/apps/kb/src/content/guides/inspecting-edge-function-environment-variables-wg5qOQ.mdx +++ b/apps/kb/src/content/guides/inspecting-edge-function-environment-variables-wg5qOQ.mdx @@ -61,6 +61,6 @@ After calling your function, you can check your [edge function logs](/dashboard/ > Note: search filters are case sensitive and must be present in the event message. -![image](/docs/img/troubleshooting/a360b417-e0cc-4706-8df4-89af63dcdc70.png) +![image](/kb/img/troubleshooting/a360b417-e0cc-4706-8df4-89af63dcdc70.png) > Note: excessively long JSON logs may be truncated. If this occurs, use the [JSON.stringify()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) function to convert the JSON object into text. You can then copy and paste the log into a [JSON beautifier.](https://jsonformatter.org/) diff --git a/apps/kb/src/content/guides/interpreting-supabase-grafana-cpu-charts-9JSlkC.mdx b/apps/kb/src/content/guides/interpreting-supabase-grafana-cpu-charts-9JSlkC.mdx index 3c99a4e26b7..b0dc1b1146b 100644 --- a/apps/kb/src/content/guides/interpreting-supabase-grafana-cpu-charts-9JSlkC.mdx +++ b/apps/kb/src/content/guides/interpreting-supabase-grafana-cpu-charts-9JSlkC.mdx @@ -11,8 +11,8 @@ github_url: 'https://github.com/orgs/supabase/discussions/27022' Here are examples of unhealthy CPU utilization: -![image](/docs/img/troubleshooting/e7d78109-b09d-48ca-8cc6-e4913693e163.png) -![image](/docs/img/troubleshooting/49e175d9-6338-4b17-97be-4bf7853e319f.png) +![image](/kb/img/troubleshooting/e7d78109-b09d-48ca-8cc6-e4913693e163.png) +![image](/kb/img/troubleshooting/49e175d9-6338-4b17-97be-4bf7853e319f.png) The CPU chart shows 4 distinct metrics of interest: diff --git a/apps/kb/src/content/guides/interpreting-supabase-grafana-io-charts-MUynDR.mdx b/apps/kb/src/content/guides/interpreting-supabase-grafana-io-charts-MUynDR.mdx index 80e6e8b3dfd..ff97f70c08e 100644 --- a/apps/kb/src/content/guides/interpreting-supabase-grafana-io-charts-MUynDR.mdx +++ b/apps/kb/src/content/guides/interpreting-supabase-grafana-io-charts-MUynDR.mdx @@ -44,19 +44,19 @@ There are other metrics that indicate IO strain. This example shows a 16XL database exhibiting severe IO strain: -![image](/docs/img/troubleshooting/9c6e0f9c-f842-463b-b214-1a9e31de3b2c.png) +![image](/kb/img/troubleshooting/9c6e0f9c-f842-463b-b214-1a9e31de3b2c.png) Its Disk IOPS is constantly near peak capacity: -![image](/docs/img/troubleshooting/ec5ed538-985b-411d-a0d7-be718b28d367.png) +![image](/kb/img/troubleshooting/ec5ed538-985b-411d-a0d7-be718b28d367.png) Its throughput is also high: -![image](/docs/img/troubleshooting/90cb6a70-fc67-4666-9217-6fa37cfacf82.png) +![image](/kb/img/troubleshooting/90cb6a70-fc67-4666-9217-6fa37cfacf82.png) As a side-effect, its CPU is encumbered by heavy Busy IOWait activity: -![image](/docs/img/troubleshooting/9b88a738-65d6-4be4-8fa0-bc3f13a9a408.png) +![image](/kb/img/troubleshooting/9b88a738-65d6-4be4-8fa0-bc3f13a9a408.png) Excessive IO usage is highly problematic as it clarifies that your database is expending more IO than it normally is intended to manage. This can be caused by diff --git a/apps/kb/src/content/guides/new-variable-is-null-in-a-trigger-function--l9AOZ.mdx b/apps/kb/src/content/guides/new-variable-is-null-in-a-trigger-function--l9AOZ.mdx index 5cfa49fea12..f505b52f6f6 100644 --- a/apps/kb/src/content/guides/new-variable-is-null-in-a-trigger-function--l9AOZ.mdx +++ b/apps/kb/src/content/guides/new-variable-is-null-in-a-trigger-function--l9AOZ.mdx @@ -9,8 +9,8 @@ When you create a function and call it from a trigger the NEW variable is only p The UI currently defaults to STATEMENT which will not provide NEW or OLD variables to the function. -![image](/docs/img/troubleshooting/49e11154-296b-42b9-8036-8a7288e49b8a.png) +![image](/kb/img/troubleshooting/49e11154-296b-42b9-8036-8a7288e49b8a.png) Also in SQL (reference: https://www.postgresql.org/docs/current/sql-createtrigger.html) -![image](/docs/img/troubleshooting/c7ac0f69-6fb9-4ff2-8aab-5cda6bada3f6.png) +![image](/kb/img/troubleshooting/c7ac0f69-6fb9-4ff2-8aab-5cda6bada3f6.png) diff --git a/apps/kb/src/content/guides/no-toast-messages-on-the-dashboard-BrvP8h.mdx b/apps/kb/src/content/guides/no-toast-messages-on-the-dashboard-BrvP8h.mdx index 0f3dd97e719..68973b559f8 100644 --- a/apps/kb/src/content/guides/no-toast-messages-on-the-dashboard-BrvP8h.mdx +++ b/apps/kb/src/content/guides/no-toast-messages-on-the-dashboard-BrvP8h.mdx @@ -13,11 +13,11 @@ When executing operations in the Supabase dashboard, there are situations where Here is an example of a toast error message: -![Screenshot 2024-07-01 at 2 05 36 PM](/docs/img/troubleshooting/8ba54441-2057-4dc0-8add-a8eaab9f2d93.png) +![Screenshot 2024-07-01 at 2 05 36 PM](/kb/img/troubleshooting/8ba54441-2057-4dc0-8add-a8eaab9f2d93.png) Here is an example of a toast success message: -![Screenshot 2024-07-01 at 2 06 35 PM](/docs/img/troubleshooting/c6e228b8-fa64-47a9-bdf6-f1f6405b9cf9.png) +![Screenshot 2024-07-01 at 2 06 35 PM](/kb/img/troubleshooting/c6e228b8-fa64-47a9-bdf6-f1f6405b9cf9.png) ## What causes it? diff --git a/apps/kb/src/content/guides/pgcron-debugging-guide-n1KTaz.mdx b/apps/kb/src/content/guides/pgcron-debugging-guide-n1KTaz.mdx index c04aca52d13..308b7002a7a 100644 --- a/apps/kb/src/content/guides/pgcron-debugging-guide-n1KTaz.mdx +++ b/apps/kb/src/content/guides/pgcron-debugging-guide-n1KTaz.mdx @@ -44,11 +44,7 @@ FROM pg_stat_activity where application_name ilike 'pg_cron scheduler'; If the query does not return a row, the worker has died. To revive it, you must go to the [General Settings](/dashboard/project/_/settings/general) and initiate a fast reboot: -Screenshot 2024-10-29 at 12 27 24 AM +![Screenshot 2024-10-29 at 12 27 24 AM](https://github.com/user-attachments/assets/d7a2956c-08e0-4ebc-be08-d14a2383f36b) #### Check the `cron.job_run_details` table for more information diff --git a/apps/kb/src/content/guides/prisma-error-management-Cm5P_o.mdx b/apps/kb/src/content/guides/prisma-error-management-Cm5P_o.mdx index 38d01ae3a9e..e1f6445ed89 100644 --- a/apps/kb/src/content/guides/prisma-error-management-Cm5P_o.mdx +++ b/apps/kb/src/content/guides/prisma-error-management-Cm5P_o.mdx @@ -115,11 +115,7 @@ The below example gives Prisma full authority over all database objects in the p In the [Query Performance Advisor](/dashboard/project/_/database/query-performance), you can view long-running or frequently accessed queries by role: -Screenshot 2024-06-19 at 1 25 16 PM +![Screenshot 2024-06-19 at 1 25 16 PM](https://github.com/supabase/supabase/assets/91111415/46e2feae-9fca-4436-a957-2c995eb5ca92) Selecting a query can reveal suggestions to improve its performance diff --git a/apps/kb/src/content/guides/project-status-reports-unhealthy-services.mdx b/apps/kb/src/content/guides/project-status-reports-unhealthy-services.mdx index 5c772be5d6b..920a785353b 100644 --- a/apps/kb/src/content/guides/project-status-reports-unhealthy-services.mdx +++ b/apps/kb/src/content/guides/project-status-reports-unhealthy-services.mdx @@ -4,7 +4,7 @@ description: 'Explains what causes unhealthy service indicators in Project Statu topics: ['Troubleshooting', 'Supabase Platform', 'Dashboard'] --- -![Unhealthy services in Project Status](/docs/img/troubleshooting/project-status-unhealthy-services.png) +![Unhealthy services in Project Status](/kb/img/troubleshooting/project-status-unhealthy-services.png) If the project was recently restored, it can take up a couple minutes to become fully operational. diff --git a/apps/kb/src/content/guides/resolving-500-status-authentication-errors-7bU5U8.mdx b/apps/kb/src/content/guides/resolving-500-status-authentication-errors-7bU5U8.mdx index c25d80e428d..a7fc731dae3 100644 --- a/apps/kb/src/content/guides/resolving-500-status-authentication-errors-7bU5U8.mdx +++ b/apps/kb/src/content/guides/resolving-500-status-authentication-errors-7bU5U8.mdx @@ -15,17 +15,13 @@ A 500 error in Auth typically indicates an issue with an external dependency, su Ensure you have access to the [SQL Editor](/dashboard/project/_/sql/new?skip=true&source=logs), set the query source to **Logs**, and set the time range appropriately: -![image](/docs/img/troubleshooting/152d65ad-f0ed-47cf-8dcb-1e31c6221e71.png) +![image](/kb/img/troubleshooting/152d65ad-f0ed-47cf-8dcb-1e31c6221e71.png) #### Improving log readability Logs are displayed in a table format, which can be challenging to read. Double-clicking on a row will expand it for easier viewing: -Screenshot 2024-08-14 at 1 15 26 PM +![Screenshot 2024-08-14 at 1 15 26 PM](https://github.com/user-attachments/assets/6f4c833c-ae15-41e1-9aa8-48ebd58741a1) ### Section 1: Checking for database-level errors diff --git a/apps/kb/src/content/guides/resolving-database-hostname-and-managing-your-ip-address-pVlwE0.mdx b/apps/kb/src/content/guides/resolving-database-hostname-and-managing-your-ip-address-pVlwE0.mdx index a4e96d50725..8131ea67b96 100644 --- a/apps/kb/src/content/guides/resolving-database-hostname-and-managing-your-ip-address-pVlwE0.mdx +++ b/apps/kb/src/content/guides/resolving-database-hostname-and-managing-your-ip-address-pVlwE0.mdx @@ -13,7 +13,7 @@ To find your hostname, navigate to the dashboard and click [Connect](/dashboard/ Example Hostname: `db.zcjtzmeifsoteyjytnbc.supabase.co` -![Screenshot 2024-04-02 at 11 38 28 AM](/docs/img/troubleshooting/565c96e0-cbb9-4e7a-b0aa-5b423afc0ada.png) +![Screenshot 2024-04-02 at 11 38 28 AM](/kb/img/troubleshooting/565c96e0-cbb9-4e7a-b0aa-5b423afc0ada.png) ## Managing your IP address diff --git a/apps/kb/src/content/guides/restore-project-after-90-days-pause.mdx b/apps/kb/src/content/guides/restore-project-after-90-days-pause.mdx index ab0d35c9257..a6d3aade07a 100644 --- a/apps/kb/src/content/guides/restore-project-after-90-days-pause.mdx +++ b/apps/kb/src/content/guides/restore-project-after-90-days-pause.mdx @@ -8,15 +8,7 @@ Projects paused for more than 1 year can no longer be restored through Supabase Both the database backup and Storage objects can be downloaded from the [Project Overview](/dashboard/project/_) section in Supabase Studio before the project is deleted. -Restore project after pause +![Restore project after pause](/kb/img/restore-after-90-day-dark.png) Check this [short video walk-through](https://youtu.be/ktsgm8HxWqo?si=5_8IVzL1rp8MWv7m) of the full migration process. diff --git a/apps/kb/src/content/guides/steps-to-improve-query-performance-with-indexes-q8PoC9.mdx b/apps/kb/src/content/guides/steps-to-improve-query-performance-with-indexes-q8PoC9.mdx index 7d66103cf5e..b9616eedd3e 100644 --- a/apps/kb/src/content/guides/steps-to-improve-query-performance-with-indexes-q8PoC9.mdx +++ b/apps/kb/src/content/guides/steps-to-improve-query-performance-with-indexes-q8PoC9.mdx @@ -16,7 +16,7 @@ This is an intermediate and actionable guide for Postgres optimization within th Supabase has an [open-source Grafana Repo](https://github.com/supabase/supabase-grafana) that displays real-time metrics of your database. Although the [Observability Dashboard](/dashboard/project/_/observability) provides similar metrics, it averages the data by the hour or day. Having visibility over how your database responds to changes helps to ensure that the database is not stressed by the index-building process. _Visual of Grafana Dashboard_ -![image](/docs/img/troubleshooting/18ed2c88-332e-4e66-b9b4-c37e99a39104.png) +![image](/kb/img/troubleshooting/18ed2c88-332e-4e66-b9b4-c37e99a39104.png) It can be run locally within Docker or can be deployed for free to fly.io. Installation instructions can be found in [Supabase's metrics docs](/docs/guides/observability/metrics/grafana-self-hosted) diff --git a/apps/kb/src/content/guides/supavisor-faq-YyP5tI.mdx b/apps/kb/src/content/guides/supavisor-faq-YyP5tI.mdx index 62e62ff9a4a..6bdd136ca28 100644 --- a/apps/kb/src/content/guides/supavisor-faq-YyP5tI.mdx +++ b/apps/kb/src/content/guides/supavisor-faq-YyP5tI.mdx @@ -33,11 +33,7 @@ They sit between the database and your client servers. They are solely optimized Supabase provides 3 database connection strings that can be used simultaneously if necessary. You can find them on the dashboard by clicking [Connect](/dashboard/project/_?showConnect=true). -Screenshot 2024-07-04 at 10 40 38 AM +![Screenshot 2024-07-04 at 10 40 38 AM](https://github.com/supabase/supabase/assets/91111415/1d653203-84d9-406a-a7c9-1f7d097f5a29) ### Direct connections: @@ -129,11 +125,7 @@ No, it doesn't. See why: In the [Dashboard's Database Settings](/dashboard/project/_/database/settings), you can configure Supavisor's "Pool Size": -Screenshot 2024-02-25 at 10 06 25 PM +![Screenshot 2024-02-25 at 10 06 25 PM](https://github.com/supabase/supabase/assets/91111415/ce9e9d28-67c2-4dd2-ac0a-0a0150e63b4f) You can also change the pool size for PostgREST's (DB API) internal pooler at the bottom of the [application settings](/dashboard/project/_/settings/api). diff --git a/apps/kb/src/content/guides/transfer-edge-function-from-one-project-to-another.mdx b/apps/kb/src/content/guides/transfer-edge-function-from-one-project-to-another.mdx index 101c18e1b7e..d93b17cfea2 100644 --- a/apps/kb/src/content/guides/transfer-edge-function-from-one-project-to-another.mdx +++ b/apps/kb/src/content/guides/transfer-edge-function-from-one-project-to-another.mdx @@ -63,7 +63,7 @@ This deploys all functions within the `supabase/functions` to the target project 1. In the source project, navigate to **Edge Functions** from the side menu 2. Using the `Download` button, download your desired function as zip: - ![Download Edge Function](/docs/img/troubleshooting/download-edge-function-via-dashboard.gif) + ![Download Edge Function](/kb/img/troubleshooting/download-edge-function-via-dashboard.gif) 3. In the target project, navigate to **Edge Functions** from the side menu @@ -73,6 +73,6 @@ This deploys all functions within the `supabase/functions` to the target project 6. Add your function name and click on the `Deploy function` button to deploy the function: -![Upload Edge Function](/docs/img/troubleshooting/upload-edge-function-via-dashboard.gif) +![Upload Edge Function](/kb/img/troubleshooting/upload-edge-function-via-dashboard.gif) With this, you can transfer your edge functions between your Supabase projects. diff --git a/apps/kb/src/content/guides/understanding-postgresql-explain-output-Un9dqX.mdx b/apps/kb/src/content/guides/understanding-postgresql-explain-output-Un9dqX.mdx index 40c973dcd0b..0f44c2b446c 100644 --- a/apps/kb/src/content/guides/understanding-postgresql-explain-output-Un9dqX.mdx +++ b/apps/kb/src/content/guides/understanding-postgresql-explain-output-Un9dqX.mdx @@ -67,7 +67,7 @@ const { data, error } = await supabase **Execution Time: 0.069 ms:** measures how long it took to execute the query, including retrieving the data, performing any sorts, joins, or other operations defined in the execution plan, and returning the final results. This time is measured in milliseconds. -![image](/docs/img/troubleshooting/10950be3-264b-4a41-bc71-3d431c2756b2.png) +![image](/kb/img/troubleshooting/10950be3-264b-4a41-bc71-3d431c2756b2.png) ## Detailed components in explain analyze @@ -188,7 +188,7 @@ So, the acceptable performance threshold can vary by application. For real-time ## Tools to interpret explain analyze output Since reading a longer execution plan is quite cumbersome, you can use the website https://explain.depesz.com/ to better visualize the query. If you paste the execution plan in the text area and hit “Submit”, you will get output like this: -![image](/docs/img/troubleshooting/830b81aa-ae52-44a4-aa49-32c2a6296af7.png) +![image](/kb/img/troubleshooting/830b81aa-ae52-44a4-aa49-32c2a6296af7.png) ## Tips for optimizing queries diff --git a/apps/kb/src/content/guides/understanding-the-usage-summary-on-the-dashboard-D7Gnle.mdx b/apps/kb/src/content/guides/understanding-the-usage-summary-on-the-dashboard-D7Gnle.mdx index aebcbadec09..dafac1a08b7 100644 --- a/apps/kb/src/content/guides/understanding-the-usage-summary-on-the-dashboard-D7Gnle.mdx +++ b/apps/kb/src/content/guides/understanding-the-usage-summary-on-the-dashboard-D7Gnle.mdx @@ -9,7 +9,7 @@ github_url: 'https://github.com/orgs/supabase/discussions/27479' This discussion explains your organization's usage metrics, which can be found here: [https://supabase.com/dashboard/org/\_/usage](/dashboard/org/_/usage). -![](/docs/img/troubleshooting/46f59019-6ff1-4bfb-9acd-d5b7bd282f89.png) +![](/kb/img/troubleshooting/46f59019-6ff1-4bfb-9acd-d5b7bd282f89.png) These metrics are calculated based on all the projects under the organization that meet these criteria: diff --git a/apps/kb/src/content/guides/using-google-smtp-with-supabase-custom-smtp-ZZzU4Y.mdx b/apps/kb/src/content/guides/using-google-smtp-with-supabase-custom-smtp-ZZzU4Y.mdx index 24e6cf59ddf..fa5575ed1e1 100644 --- a/apps/kb/src/content/guides/using-google-smtp-with-supabase-custom-smtp-ZZzU4Y.mdx +++ b/apps/kb/src/content/guides/using-google-smtp-with-supabase-custom-smtp-ZZzU4Y.mdx @@ -14,13 +14,13 @@ Hey everyone, i've been hearing feedback about how challenging it can be to get ## For `smtp-relay.gmail.com` -![image](/docs/img/troubleshooting/800448a1-0245-4a26-855f-3be8f44adf03.png) +![image](/kb/img/troubleshooting/800448a1-0245-4a26-855f-3be8f44adf03.png) -(The "Require TLS encryption" option didn't seem to affect anything when tested)![image](/docs/img/troubleshooting/5b55ddbc-abfc-4c66-a012-b8e4d23cd438.png) +(The "Require TLS encryption" option didn't seem to affect anything when tested)![image](/kb/img/troubleshooting/5b55ddbc-abfc-4c66-a012-b8e4d23cd438.png) ## For `smtp.gmail.com` -![image](/docs/img/troubleshooting/ade24c85-50b5-47ca-a2ce-c3f77a0e128a.png) +![image](/kb/img/troubleshooting/ade24c85-50b5-47ca-a2ce-c3f77a0e128a.png) A lot of this was figured out through trial and error. This is unlikely to be a Supabase Auth bug because Supabase Auth uses the [native Golang SMTP library ](https://pkg.go.dev/net/smtp). If you still have issues setting up Google SMTP, you can try switching to one of these SMTP providers: diff --git a/apps/kb/src/content/guides/why-am-i-being-redirected-to-the-wrong-url-when-using-auth-redirectto-option-_vqIeO.mdx b/apps/kb/src/content/guides/why-am-i-being-redirected-to-the-wrong-url-when-using-auth-redirectto-option-_vqIeO.mdx index b58feac9262..2658bbb639a 100644 --- a/apps/kb/src/content/guides/why-am-i-being-redirected-to-the-wrong-url-when-using-auth-redirectto-option-_vqIeO.mdx +++ b/apps/kb/src/content/guides/why-am-i-being-redirected-to-the-wrong-url-when-using-auth-redirectto-option-_vqIeO.mdx @@ -8,6 +8,6 @@ github_url: 'https://github.com/orgs/supabase/discussions/12946' Why are redirects going to localhost instead of the production site URL? In order for the provided `redirectTo` option to work you must set the exact URL in the shown Redirect URL's setting. -![image](/docs/img/troubleshooting/224379580-fa77bd31-bb58-47e6-90ce-64e140f32579.png) +![image](/kb/img/troubleshooting/224379580-fa77bd31-bb58-47e6-90ce-64e140f32579.png) For more information on formats for redirect URL settings see the documentation here: https://supabase.com/docs/guides/auth/redirect-urls#use-wildcards-in-redirect-urls diff --git a/apps/kb/src/content/guides/why-do-i-see-auth--api-requests-in-the-dashboard-my-app-has-no-users-CyadiO.mdx b/apps/kb/src/content/guides/why-do-i-see-auth--api-requests-in-the-dashboard-my-app-has-no-users-CyadiO.mdx index a756f2e3eaa..56aea90e36a 100644 --- a/apps/kb/src/content/guides/why-do-i-see-auth--api-requests-in-the-dashboard-my-app-has-no-users-CyadiO.mdx +++ b/apps/kb/src/content/guides/why-do-i-see-auth--api-requests-in-the-dashboard-my-app-has-no-users-CyadiO.mdx @@ -7,11 +7,7 @@ github_url: 'https://github.com/orgs/supabase/discussions/21579' The dashboard makes requests to the health endpoints of the Supabase services (Database, Auth, Data API, Realtime, Edge Functions to ensure everything is working). These requests appear in the charts about your project: -image +![image](https://github.com/supabase/supabase/assets/5036432/08b1c142-289c-46f3-ac21-38faad50ef8a) You can see these requests to the health endpoints from the log explorer here: