Skip to content

Commit 1bac934

Browse files
committed
Merge branch 'master' into chore/change-dashboard-links
2 parents 26be8af + f1415b7 commit 1bac934

File tree

324 files changed

+7434
-3670
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

324 files changed

+7434
-3670
lines changed

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
- [x] Hosted Postgres Database. [Docs](https://supabase.com/docs/guides/database)
1313
- [x] Authentication and Authorization. [Docs](https://supabase.com/docs/guides/auth)
1414
- [x] Auto-generated APIs.
15-
- [x] REST. [Docs](https://supabase.com/docs/guides/database/api#rest-api)
16-
- [x] GraphQL. [Docs](https://supabase.com/docs/guides/database/api#graphql-api)
17-
- [x] Realtime subscriptions. [Docs](https://supabase.com/docs/guides/database/api#realtime-api)
15+
- [x] REST. [Docs](https://supabase.com/docs/guides/api#rest-api-overview)
16+
- [x] GraphQL. [Docs](https://supabase.com/docs/guides/api#graphql-api-overview)
17+
- [x] Realtime subscriptions. [Docs](https://supabase.com/docs/guides/api#realtime-api-overview)
1818
- [x] Functions.
1919
- [x] Database Functions. [Docs](https://supabase.com/docs/guides/database/functions)
2020
- [x] Edge Functions [Docs](https://supabase.com/docs/guides/functions)

apps/docs/components/Navigation/Footer.tsx

+13-15
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import Link from 'next/link'
22
import { Button } from 'ui'
33
import { primaryLinks, secondaryLinks } from '~/data/footer'
4-
import { LayoutMainContent } from '../../layouts/DefaultLayout'
4+
import { LayoutMainContent } from '~/layouts/DefaultLayout'
55

66
const Footer = () => (
77
<LayoutMainContent className="pt-0">
@@ -75,20 +75,18 @@ const Footer = () => (
7575
</Button>
7676
<Button type="text" asChild>
7777
<a href="https://youtube.com/c/supabase" target="_blank" rel="noreferrer noopener">
78-
<a>
79-
<svg
80-
width="16"
81-
height="17"
82-
viewBox="0 0 16 17"
83-
fill="none"
84-
xmlns="http://www.w3.org/2000/svg"
85-
>
86-
<path
87-
d="M15.665 4.35595C15.481 3.66308 14.9388 3.11739 14.2505 2.93221C13.0028 2.5957 7.99964 2.5957 7.99964 2.5957C7.99964 2.5957 2.99655 2.5957 1.74883 2.93221C1.06047 3.11742 0.518326 3.66308 0.334321 4.35595C0 5.61181 0 8.23207 0 8.23207C0 8.23207 0 10.8523 0.334321 12.1082C0.518326 12.8011 1.06047 13.324 1.74883 13.5092C2.99655 13.8457 7.99964 13.8457 7.99964 13.8457C7.99964 13.8457 13.0027 13.8457 14.2505 13.5092C14.9388 13.324 15.481 12.8011 15.665 12.1082C15.9993 10.8523 15.9993 8.23207 15.9993 8.23207C15.9993 8.23207 15.9993 5.61181 15.665 4.35595ZM6.36334 10.6111V5.85307L10.545 8.23212L6.36334 10.6111Z"
88-
fill="var(--colors-scale9)"
89-
/>
90-
</svg>
91-
</a>
78+
<svg
79+
width="16"
80+
height="17"
81+
viewBox="0 0 16 17"
82+
fill="none"
83+
xmlns="http://www.w3.org/2000/svg"
84+
>
85+
<path
86+
d="M15.665 4.35595C15.481 3.66308 14.9388 3.11739 14.2505 2.93221C13.0028 2.5957 7.99964 2.5957 7.99964 2.5957C7.99964 2.5957 2.99655 2.5957 1.74883 2.93221C1.06047 3.11742 0.518326 3.66308 0.334321 4.35595C0 5.61181 0 8.23207 0 8.23207C0 8.23207 0 10.8523 0.334321 12.1082C0.518326 12.8011 1.06047 13.324 1.74883 13.5092C2.99655 13.8457 7.99964 13.8457 7.99964 13.8457C7.99964 13.8457 13.0027 13.8457 14.2505 13.5092C14.9388 13.324 15.481 12.8011 15.665 12.1082C15.9993 10.8523 15.9993 8.23207 15.9993 8.23207C15.9993 8.23207 15.9993 5.61181 15.665 4.35595ZM6.36334 10.6111V5.85307L10.545 8.23212L6.36334 10.6111Z"
87+
fill="var(--colors-scale9)"
88+
/>
89+
</svg>
9290
</a>
9391
</Button>
9492
<Button type="text" asChild>

apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts

+5
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,11 @@ export const SocialLoginItems = [
349349
icon: '/docs/img/icons/discord-icon',
350350
url: '/guides/auth/social-login/auth-discord',
351351
},
352+
{
353+
name: 'Kakao',
354+
icon: '/docs/img/icons/kakao-icon',
355+
url: '/guides/auth/social-login/auth-kakao',
356+
},
352357
{
353358
name: 'Keycloak',
354359
icon: '/docs/img/icons/keycloak-icon',

apps/docs/components/reference/RefSectionHandler.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ const RefSectionHandler = (props: RefSectionHandlerProps) => {
6060
const pageTitle = getPageTitle()
6161
const section = props.sections.find((section) => section.slug === slug)
6262
const fullTitle = `${pageTitle}${section ? ` - ${section.title}` : ''}`
63+
const path = router.asPath.replace('/crawlers', '')
6364

6465
return (
6566
<>
@@ -72,7 +73,7 @@ const RefSectionHandler = (props: RefSectionHandlerProps) => {
7273
content={`https://supabase.com/docs/img/supabase-og-image.png`}
7374
/>
7475
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
75-
<link rel="canonical" href={`https://supabase.com${router.basePath}${router.asPath}`} />
76+
<link rel="canonical" href={`https://supabase.com${router.basePath}${path}`} />
7677
</Head>
7778
{props.isOldVersion && <OldVersionAlert sections={props.sections} />}
7879
<RefSubLayout>

apps/docs/data/authProviders.ts

+10
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,16 @@ const authProviders = [
7979
selfHosted: true,
8080
authType: 'social',
8181
},
82+
{
83+
name: 'Kakao',
84+
logo: '/docs/img/icons/kakao-icon',
85+
href: '/guides/auth/social-login/auth-kakao',
86+
official: true,
87+
supporter: 'Supabase',
88+
platform: true,
89+
selfHosted: true,
90+
authType: 'social',
91+
},
8292
{
8393
name: 'Keycloak',
8494
logo: '/docs/img/icons/keycloak-icon',

apps/docs/pages/_app.tsx

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import '../../../packages/ui/build/css/themes/light.css'
21
import '../../../packages/ui/build/css/themes/dark.css'
2+
import '../../../packages/ui/build/css/themes/light.css'
33

44
import 'config/code-hike.scss'
55
import '../styles/main.scss?v=1.0.0'
@@ -13,6 +13,7 @@ import { useRouter } from 'next/router'
1313
import { useCallback, useEffect, useState } from 'react'
1414
import { AppPropsWithLayout } from 'types'
1515
import { CommandMenuProvider } from 'ui'
16+
import { TabsProvider } from 'ui/src/components/Tabs'
1617
import Favicons from '~/components/Favicons'
1718
import SiteLayout from '~/layouts/SiteLayout'
1819
import { API_URL, IS_PLATFORM, LOCAL_SUPABASE } from '~/lib/constants'
@@ -150,9 +151,11 @@ function MyApp({ Component, pageProps }: AppPropsWithLayout) {
150151
<AuthContainer>
151152
<ThemeProvider>
152153
<CommandMenuProvider site="docs">
153-
<SiteLayout>
154-
<Component {...pageProps} />
155-
</SiteLayout>
154+
<TabsProvider>
155+
<SiteLayout>
156+
<Component {...pageProps} />
157+
</SiteLayout>
158+
</TabsProvider>
156159
</CommandMenuProvider>
157160
</ThemeProvider>
158161
</AuthContainer>

apps/docs/pages/guides/ai/engineering-for-scale.mdx

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Content sources for vectors can be extremely large. As you grow you should run y
1212

1313
## Simple workloads
1414

15-
For small workloads it's typical to store your data in a single database.
15+
For small workloads, it's typical to store your data in a single database.
1616

1717
If you've used [Vecs](/docs/guides/ai/vecs-python-client) to create 3 different collections, you can expose collections to your web or mobile application using [views](/docs/guides/database/tables#views):
1818

@@ -93,9 +93,9 @@ docs.query(
9393

9494
### Accessing external collections using Wrappers
9595

96-
Supabase supports [Foreign Data Wrappers](/blog/postgres-foreign-data-wrappers-rust). Wrappers allow you connect two databases together so that you can query them over the network.
96+
Supabase supports [Foreign Data Wrappers](/blog/postgres-foreign-data-wrappers-rust). Wrappers allow you to connect two databases together so that you can query them over the network.
9797

98-
This involves 2 steps: connecting to your remote database from the primary, and creating a Foreign Table.
98+
This involves 2 steps: connecting to your remote database from the primary and creating a Foreign Table.
9999

100100
#### Connecting your remote database
101101

@@ -140,7 +140,7 @@ const { data, error } = await supabase
140140

141141
### Enterprise architecture
142142

143-
This diagram provides an example architecture, allowing you to access the collections either with our client libraries or using Vecs. You can add as many secondary databases as you need, in this example we show one only:
143+
This diagram provides an example architecture that allows you to access the collections either with our client libraries or using Vecs. You can add as many secondary databases as you need (in this example we only show one):
144144

145145
<div>
146146
<img

apps/docs/pages/guides/ai/managing-collections.mdx

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export const meta = {
77
sidebar_label: 'Managing collections',
88
}
99

10-
A collection is an group of vector records managed by the `vecs` Python library. Records can be added to or updated in a collection. Collections can be queried at any time, but should be indexed for scalable query performance.
10+
A collection is a group of vector records managed by the `vecs` Python library. Records can be added to or updated in a collection. Collections can be queried at any time, but should be indexed for scalable query performance.
1111

1212
Supabase provides a [Python client](/docs/guides/ai/vecs-python-client) called `vecs` for managing unstructured vector stores in Postgres. If you come from a data science background, this unstructured data approach will feel familiar. If you are more interested in a structured data approach, see [Vector columns](/docs/guides/ai/vector-columns) or read our guide on [Structured & Unstructured Embeddings](/docs/guides/ai/structured-unstructured-embeddings).
1313

@@ -32,7 +32,7 @@ vx = vecs.create_client(DB_CONNECTION)
3232

3333
### Create collection
3434

35-
You can create a collection to store vectors specifying the collections name and the number of dimensions in the vectors you intend to store.
35+
You can create a collection to store vectors specifying the collection's name and the number of dimensions in the vectors you intend to store.
3636

3737
```python
3838
docs = vx.create_collection(name="docs", dimension=3)
@@ -75,7 +75,7 @@ docs.upsert(
7575
Collections can be queried immediately after being created.
7676
However, for good performance, the collection should be indexed after records have been upserted.
7777

78-
Indexes should be created **after** the collection has been populated with records. Building an index on an empty collection will result in significantly reduced recall. Once the index has been created you can still upsert new documents into the collection but you should rebuild the index if the size of the collection more than doubles.
78+
Indexes should be created **after** the collection has been populated with records. Building an index on an empty collection will significantly reduce recall. Once the index has been created you can still upsert new documents into the collection but you should rebuild the index if the size of the collection more than doubles.
7979

8080
Only one index may exist per-collection. By default, creating an index will replace any existing index.
8181

apps/docs/pages/guides/auth.mdx

+10-10
Original file line numberDiff line numberDiff line change
@@ -91,20 +91,20 @@ const getURL = () => {
9191
let url =
9292
process?.env?.NEXT_PUBLIC_SITE_URL ?? // Set this to your site URL in production env.
9393
process?.env?.NEXT_PUBLIC_VERCEL_URL ?? // Automatically set by Vercel.
94-
'http://localhost:3000/';
94+
'http://localhost:3000/'
9595
// Make sure to include `https://` when not localhost.
96-
url = url.includes('http') ? url : `https://${url}`;
97-
// Make sure to including trailing `/`.
98-
url = url.charAt(url.length - 1) === '/' ? url : `${url}/`;
99-
return url;
100-
};
96+
url = url.includes('http') ? url : `https://${url}`
97+
// Make sure to include a trailing `/`.
98+
url = url.charAt(url.length - 1) === '/' ? url : `${url}/`
99+
return url
100+
}
101101

102102
const { data, error } = await supabase.auth.signInWithOAuth({
103-
provider: 'github'
103+
provider: 'github',
104104
options: {
105-
redirectTo: getURL()
106-
}
107-
}
105+
redirectTo: getURL(),
106+
},
107+
})
108108
```
109109
110110
#### Mobile deep linking URIs

apps/docs/pages/guides/auth/auth-helpers/nextjs-pages.mdx

+3-32
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,8 @@ This submodule provides convenience helpers for implementing user authentication
1414
1515
## Install the Next.js helper library
1616

17-
<Tabs
18-
scrollable
19-
size="small"
20-
type="underlined"
21-
defaultActiveId="npm"
22-
>
23-
<TabPanel id="npm" label="npm">
24-
25-
```sh
26-
npm install @supabase/auth-helpers-nextjs
17+
```sh Terminal
18+
npm install @supabase/auth-helpers-nextjs @supabase/supabase-js
2719
```
2820

2921
This library supports the following tooling versions:
@@ -33,31 +25,10 @@ This library supports the following tooling versions:
3325

3426
Additionally, install the **React Auth Helpers** for components and hooks that can be used across all React-based frameworks.
3527

36-
```sh
28+
```sh Terminal
3729
npm install @supabase/auth-helpers-react
3830
```
3931

40-
</TabPanel>
41-
<TabPanel id="yarn" label="Yarn">
42-
43-
```sh
44-
yarn add @supabase/auth-helpers-nextjs
45-
```
46-
47-
This library supports the following tooling versions:
48-
49-
- Node.js: `^10.13.0 || >=12.0.0`
50-
- Next.js: `>=10`
51-
52-
Additionally, install the **React Auth Helpers** for components and hooks that can be used across all React-based frameworks.
53-
54-
```sh
55-
yarn add @supabase/auth-helpers-react
56-
```
57-
58-
</TabPanel>
59-
</Tabs>
60-
6132
## Set up environment variables
6233

6334
Retrieve your project URL and anon key in your project's [API settings](https://supabase.com/dashboard/project/_/settings/api) in the Dashboard to set up the following environment variables. For local development you can set them in a `.env.local` file. See an [example](https://github.com/supabase/auth-helpers/blob/main/examples/nextjs/.env.local.example).

apps/docs/pages/guides/auth/auth-helpers/nextjs.mdx

+5-24
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ If you are using the `pages` directory, check out [Auth Helpers in Next.js Pages
2929

3030
Use the `create-next-app` command and the `with-supabase` template to automate the configuration of cookie-based auth with the Next.js Auth Helpers.
3131

32-
```sh
32+
```sh Terminal
3333
npx create-next-app -e with-supabase
3434
```
3535

@@ -54,37 +54,18 @@ NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key
5454

5555
Run the development server and navigate to http://localhost:3000.
5656

57-
```bash
57+
```sh Terminal
5858
npm run dev
5959
```
6060

6161
## Manual Configuration
6262

6363
### Install Next.js Auth Helpers library
6464

65-
<Tabs
66-
scrollable
67-
size="small"
68-
type="underlined"
69-
defaultActiveId="npm"
70-
>
71-
72-
<TabPanel id="npm" label="npm">
73-
74-
```sh
75-
npm install @supabase/auth-helpers-nextjs
65+
```sh Terminal
66+
npm install @supabase/auth-helpers-nextjs @supabase/supabase-js
7667
```
7768

78-
</TabPanel>
79-
<TabPanel id="yarn" label="Yarn">
80-
81-
```sh
82-
yarn add @supabase/auth-helpers-nextjs
83-
```
84-
85-
</TabPanel>
86-
</Tabs>
87-
8869
### Declare Environment Variables
8970

9071
Retrieve your project's URL and anon key from your [API settings](https://supabase.com/dashboard/project/_/settings/api), and create a `.env.local` file with the following environment variables:
@@ -645,7 +626,7 @@ const supabase = createClientComponentClient({ isSingleton: false })
645626

646627
<div className="video-container">
647628
<iframe
648-
src="https://www.youtube-nocookie.com/embed/SUS1t6Kq7-8"
629+
src="https://www.youtube-nocookie.com/embed/ywvXGW6P4Gs"
649630
frameBorder="1"
650631
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
651632
allowFullScreen

apps/docs/pages/guides/auth/auth-helpers/remix.mdx

+2-24
Original file line numberDiff line numberDiff line change
@@ -22,36 +22,14 @@ This submodule provides convenience helpers for implementing user authentication
2222
2323
## Install the Remix helper library
2424

25-
<Tabs
26-
scrollable
27-
size="small"
28-
type="underlined"
29-
defaultActiveId="npm"
30-
>
31-
<TabPanel id="npm" label="npm">
32-
33-
```sh
34-
npm install @supabase/auth-helpers-remix
25+
```sh Terminal
26+
npm install @supabase/auth-helpers-remix @supabase/supabase-js
3527
```
3628

3729
This library supports the following tooling versions:
3830

3931
- Remix: `>=1.7.2`
4032

41-
</TabPanel>
42-
<TabPanel id="yarn" label="Yarn">
43-
44-
```sh
45-
yarn add @supabase/auth-helpers-remix
46-
```
47-
48-
This library supports the following tooling versions:
49-
50-
- Remix: `>=1.7.2`
51-
52-
</TabPanel>
53-
</Tabs>
54-
5533
## Set up environment variables
5634

5735
Retrieve your project URL and anon key in your project's [API settings](https://supabase.com/dashboard/project/_/settings/api) in the Dashboard to set up the following environment variables. For local development you can set them in a `.env` file. See an [example](https://github.com/supabase/auth-helpers/blob/main/examples/remix/.env.example).

apps/docs/pages/guides/auth/auth-helpers/sveltekit.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ This submodule provides convenience helpers for implementing user authentication
1616
This library supports Node.js `^16.15.0`.
1717

1818
```sh Terminal
19-
npm install @supabase/auth-helpers-sveltekit
19+
npm install @supabase/auth-helpers-sveltekit @supabase/supabase-js
2020
```
2121

2222
### Declare Environment Variables

0 commit comments

Comments
 (0)