diff --git a/DEVELOPERS.md b/DEVELOPERS.md index ef6e298c9ae..d97159286e1 100644 --- a/DEVELOPERS.md +++ b/DEVELOPERS.md @@ -192,7 +192,7 @@ We support "federating" docs, meaning doc content can come directly from externa Federated docs work using Next.js's build pipeline. We use `getStaticProps()` to fetch remote documentation (ie. markdown) at build time which is processed and passed to the respective page within the docs. -See the [Vecs Python source code](https://github.com/supabase/supabase/blob/master/apps/docs/pages/guides/ai/python/%5Bslug%5D.tsx) to see how we do this for [`supabase/vecs`](https://github.com/supabase/vecs). Use this as a starting point for federating other docs. +See the [Vecs Python source code](https://github.com/supabase/supabase/tree/master/apps/docs/app/guides/ai/python/%5Bslug%5D to see how we do this for [`supabase/vecs`](https://github.com/supabase/vecs). Use this as a starting point for federating other docs. Some things to consider: diff --git a/README.md b/README.md index ee13ffbc323..1e438a1917a 100644 --- a/README.md +++ b/README.md @@ -189,11 +189,11 @@ Our approach for client libraries is modular. Each sub-library is a standalone i Godot Engine (GDScript) supabase-gdscript - postgrest-gdscript - gotrue-gdscript - realtime-gdscript - storage-gdscript - functions-gdscript + - + - + - + - + - diff --git a/apps/docs/CONTRIBUTING.md b/apps/docs/CONTRIBUTING.md index cfb0c34b6db..2c95fb79a3b 100644 --- a/apps/docs/CONTRIBUTING.md +++ b/apps/docs/CONTRIBUTING.md @@ -149,7 +149,7 @@ If you're a library maintainer, follow these steps when updating function parame If you copy the same content multiple times across different files, create a **partial** for content reuse instead. Partials are MDX files contained in [`apps/docs/content/_partials`](https://github.com/supabase/supabase/tree/master/apps/docs/content/_partials). They contain reusable snippets that can be inserted in multiple pages. For example, you can create a partial to define a common setup step for a group of tutorials. -To use a partial, import it into your MDX file. You can also set up a partial to automatically import by including it in the `components` within [`apps/docs/components/index.tsx`](https://github.com/supabase/supabase/blob/master/apps/docs/components/index.tsx). +To use a partial, import it into your MDX file. You can also set up a partial to automatically import by including it in the `components` within [`apps/docs/features/docs/MdxBase.shared.tsx`](https://github.com/supabase/supabase/blob/master/apps/docs/features/docs/MdxBase.shared.tsx). ## Components and elements @@ -331,4 +331,4 @@ Here are some exceptions and Supabase-specific guidelines. Search is handled using a Supabase instance. During CI, [a script](https://github.com/supabase/supabase/blob/master/apps/docs/scripts/search/generate-embeddings.ts) aggregates all content sources (eg. guides, reference docs, etc), indexes them using OpenAI embeddings, and stores them in a Supabase database. -Search uses a hybrid of native Postgres FTS and embedding similarity search based on [`pgvector`](https://github.com/pgvector/pgvector). At runtime, a PostgREST call triggers the RPC that runs the weighted FTS search, and an [Edge Function](https://github.com/supabase/blob/master/supabase/functions) is executed to perform the embedding search. +Search uses a hybrid of native Postgres FTS and embedding similarity search based on [`pgvector`](https://github.com/pgvector/pgvector). At runtime, a PostgREST call triggers the RPC that runs the weighted FTS search, and an [Edge Function](https://github.com/supabase/supabase/tree/master/supabase/functions) is executed to perform the embedding search. diff --git a/apps/docs/components/AuthSmsProviderConfig/TwilioConfig.mdx b/apps/docs/components/AuthSmsProviderConfig/TwilioConfig.mdx index 876927cb612..6442246ef7c 100644 --- a/apps/docs/components/AuthSmsProviderConfig/TwilioConfig.mdx +++ b/apps/docs/components/AuthSmsProviderConfig/TwilioConfig.mdx @@ -17,7 +17,7 @@ SMS Authentication can be done with either Twilio Verify or Twilio Programmable To set up Twilio Verify, you will need to: -1. Create a new [verification service](https://support.twilio.com/hc/en-us/articles/360033309133-Getting-Started-with-Twilio-Verify-V2) in the Twilio dashboard. +1. Create a new [verification service](https://help.twilio.com/articles/360033309133-Getting-Started-with-Twilio-Verify-V2) in the Twilio dashboard. 2. [Switch Phone Provider to Twilio Verify](https://supabase.com/dashboard/project/_/auth/providers) 3. Configure the Twilio Verify Service ID field using the Verification Service ID obtained in 1. diff --git a/apps/docs/content/guides/ai/examples/mixpeek-video-search.mdx b/apps/docs/content/guides/ai/examples/mixpeek-video-search.mdx index f2f1efc62cb..cf80f38b64a 100644 --- a/apps/docs/content/guides/ai/examples/mixpeek-video-search.mdx +++ b/apps/docs/content/guides/ai/examples/mixpeek-video-search.mdx @@ -12,8 +12,6 @@ The [Mixpeek Embed API](https://docs.mixpeek.com/api-documentation/inference/emb This guide demonstrates how to implement video search using Mixpeek Embed for video processing and embedding, and Supabase Vector for storing and querying embeddings. -You can find the full application code as a Python Poetry project on [GitHub](https://github.com/yourusername/your-repo-name). - ## Create a new Python project with Poetry [Poetry](https://python-poetry.org/) provides packaging and dependency management for Python. If you haven't already, install poetry via pip: @@ -49,7 +47,7 @@ This will start up the Supabase stack locally and print out a bunch of environme Add the following dependencies to your project: - [`supabase`](https://github.com/supabase-community/supabase-py): Supabase Python Client -- [`mixpeek`](https://github.com/mixpeek/python-client): Mixpeek Python Client for embedding generation +- [`mixpeek`](https://github.com/mixpeek/python-sdk): Mixpeek Python Client for embedding generation ```shell poetry add supabase mixpeek diff --git a/apps/docs/content/guides/ai/hybrid-search.mdx b/apps/docs/content/guides/ai/hybrid-search.mdx index de1dafe897c..8664ee9e32e 100644 --- a/apps/docs/content/guides/ai/hybrid-search.mdx +++ b/apps/docs/content/guides/ai/hybrid-search.mdx @@ -74,7 +74,7 @@ create index on documents using gin(fts); create index on documents using hnsw (embedding vector_ip_ops); ``` -For full text search we use a [generalized inverted (GIN) index](https://www.postgresql.org/docs/current/gin-intro.html) which is designed for handling composite values like those stored in a `tsvector`. +For full text search we use a [generalized inverted (GIN) index](https://www.postgresql.org/docs/current/gin.html) which is designed for handling composite values like those stored in a `tsvector`. For semantic vector search we use an [HNSW index](/docs/guides/ai/vector-indexes/hnsw-indexes), which is a high performing approximate nearest neighbor (ANN) search algorithm. Note that we are using the `vector_ip_ops` (inner product) operator with this index because we plan on using the inner product (`<#>`) operator later in our query. If you plan to use a different operator like cosine distance (`<=>`), be sure to update the index accordingly. For more information, see [distance operators](/docs/guides/ai/vector-indexes#distance-operators). diff --git a/apps/docs/content/guides/ai/integrations/llamaindex.mdx b/apps/docs/content/guides/ai/integrations/llamaindex.mdx index 93d621a432f..0c19ad3d0ea 100644 --- a/apps/docs/content/guides/ai/integrations/llamaindex.mdx +++ b/apps/docs/content/guides/ai/integrations/llamaindex.mdx @@ -66,5 +66,5 @@ You can view the inserted items in the [Table Editor](/dashboard/project/_/edito ## Resources -- Visit the LlamaIndex + `SupabaseVectorStore` [docs](https://gpt-index.readthedocs.io/en/latest/examples/vector_stores/SupabaseVectorIndexDemo.html) +- Visit the LlamaIndex + `SupabaseVectorStore` [docs](https://developers.llamaindex.ai/python/examples/vector_stores/supabasevectorindexdemo/) - Visit the official LlamaIndex [repo](https://github.com/jerryjliu/llama_index/) diff --git a/apps/docs/content/guides/auth/auth-captcha.mdx b/apps/docs/content/guides/auth/auth-captcha.mdx index bc832cf0cb8..e735db59644 100644 --- a/apps/docs/content/guides/auth/auth-captcha.mdx +++ b/apps/docs/content/guides/auth/auth-captcha.mdx @@ -5,7 +5,7 @@ description: 'Add CAPTCHA Protection to your Supabase project' tocVideo: 'em1cpOAXknM' --- -Supabase provides you with the option of adding CAPTCHA to your sign-in, sign-up, and password reset forms. This keeps your website safe from bots and malicious scripts. Supabase authentication has support for [hCaptcha](https://www.hcaptcha.com/) and [Cloudflare Turnstile](https://www.cloudflare.com/products/turnstile/). +Supabase provides you with the option of adding CAPTCHA to your sign-in, sign-up, and password reset forms. This keeps your website safe from bots and malicious scripts. Supabase authentication has support for [hCaptcha](https://www.hcaptcha.com/) and [Cloudflare Turnstile](https://www.cloudflare.com/application-services/products/turnstile/). ## Sign up for CAPTCHA diff --git a/apps/docs/content/guides/auth/auth-helpers/auth-ui.mdx b/apps/docs/content/guides/auth/auth-helpers/auth-ui.mdx index 951cdc75d94..2debcbdc92c 100644 --- a/apps/docs/content/guides/auth/auth-helpers/auth-ui.mdx +++ b/apps/docs/content/guides/auth/auth-helpers/auth-ui.mdx @@ -456,7 +456,7 @@ A full list of the available variables is below: -Currently, translating error messages (e.g. "Invalid credentials") is not supported. Check [related issue.](https://github.com/supabase/auth-ui/issues/86) +Currently, translating error messages (e.g. "Invalid credentials") is not supported. Check [related issue.](https://github.com/supabase-community/auth-ui/issues/86) diff --git a/apps/docs/content/guides/auth/auth-helpers/nextjs-pages.mdx b/apps/docs/content/guides/auth/auth-helpers/nextjs-pages.mdx index bac6b7abc58..71e00402d78 100644 --- a/apps/docs/content/guides/auth/auth-helpers/nextjs-pages.mdx +++ b/apps/docs/content/guides/auth/auth-helpers/nextjs-pages.mdx @@ -613,9 +613,9 @@ export default ProtectedRoute -## Auth with Next.js middleware +## Auth with Next.js proxy -As an alternative to protecting individual pages you can use a [Next.js Middleware](https://nextjs.org/docs/middleware) to protect the entire directory or those that match the config object. In the following example, all requests to `/middleware-protected/*` will check whether a user is signed in, if successful the request will be forwarded to the destination route, otherwise the user will be redirected: +As an alternative to protecting individual pages you can use a [Next.js Proxy](https://nextjs.org/docs/app/getting-started/proxy) to protect the entire directory or those that match the config object. In the following example, all requests to `/middleware-protected/*` will check whether a user is signed in, if successful the request will be forwarded to the destination route, otherwise the user will be redirected: ```ts middleware.ts import { createMiddlewareClient } from '@supabase/auth-helpers-nextjs' diff --git a/apps/docs/content/guides/functions/examples/cloudflare-turnstile.mdx b/apps/docs/content/guides/functions/examples/cloudflare-turnstile.mdx index 58072cb3306..5bb06cb71e8 100644 --- a/apps/docs/content/guides/functions/examples/cloudflare-turnstile.mdx +++ b/apps/docs/content/guides/functions/examples/cloudflare-turnstile.mdx @@ -5,7 +5,7 @@ description: 'Protecting Forms with Cloudflare Turnstile.' tocVideo: 'OwW0znboh60' --- -[Cloudflare Turnstile](https://www.cloudflare.com/products/turnstile/) is a friendly, free CAPTCHA replacement, and it works seamlessly with Supabase Edge Functions to protect your forms. [View on GitHub](https://github.com/supabase/supabase/tree/master/examples/edge-functions/supabase/functions/cloudflare-turnstile). +[Cloudflare Turnstile](https://www.cloudflare.com/application-services/products/turnstile/) is a friendly, free CAPTCHA replacement, and it works seamlessly with Supabase Edge Functions to protect your forms. [View on GitHub](https://github.com/supabase/supabase/tree/master/examples/edge-functions/supabase/functions/cloudflare-turnstile). ## Setup