This commit is contained in:
Kevin Grüneberg committed 2024-06-03 16:25:17 +08:00
1 parent 5cf2a5ef35
commit 86e02cfa40
23 files changed
+48 -106

No files matched your search

-2
View File
@@ -16,8 +16,6 @@ jobs:
steps:
- name: Check out repo
uses: actions/checkout@v4
with:
sparse-checkout: apps
- name: Setup node
uses: actions/setup-node@v4
with:
@@ -11,5 +11,4 @@
| Anonymous sign-ins | `/auth/v1/signup`[^2] | IP Address | <SharedData data="config">auth.rate_limits.anonymous_signin.requests_per_hour</SharedData> requests per hour (with bursts up to <SharedData data="config">auth.rate_limits.anonymous_signin.requests_burst</SharedData> requests) |
[^1]: The rate limit is only applied on `/auth/v1/user` if this endpoint is called to update the user's email address.
[^2]: The rate limit is only applied on `/auth/v1/signup` if this endpoint is called without passing in an email or phone number in the request body.
@@ -80,7 +80,6 @@ The table below shows the corresponding permissions for each available role you
enterprise systems.
[^2]: Available on the Teams and Enterprise Plans.
[^3]:
Only available on projects using PostgreSQL 14 and above. You can upgrade
your project through [infrastructure settings](https://supabase.com/dashboard/project/_/settings/infrastructure).
@@ -74,9 +74,7 @@ This class of physical backups only allows for recovery to a fixed time each day
Once a database is transitioned to using physical backups, it continues to use physical backups, even if the database size falls back below the threshold for the transition.
[^1]: The threshold for transitioning might be lowered in the future.
[^2]: Projects created or upgraded after the 14th of July 2022 are eligible.
[^3]: The transition to physical backups is handled transparently and does not require any user intervention. It involves a single restart of the database to pick up new configuration that can only be loaded at start; the expected downtime for the restart is a few seconds.
### Restoration process [#daily-backups-restoration-process]
@@ -4,8 +4,7 @@ import { flattenSections } from '~/lib/helpers'
import handleRefGetStaticPaths from '~/lib/mdx/handleRefStaticPaths'
import handleRefStaticProps from '~/lib/mdx/handleRefStaticProps'
import clientLibsCommonSections from '~/spec/common-client-libs-sections.json' assert { type:
'json' }
import clientLibsCommonSections from '~/spec/common-client-libs-sections.json' assert { type: 'json' }
import typeSpec from '~/spec/enrichments/tsdoc_v2/combined.json' assert { type: 'json' }
import spec from '~/spec/supabase_js_v2.yml' assert { type: 'yml' }
@@ -4,8 +4,7 @@ import { flattenSections } from '~/lib/helpers'
import handleRefGetStaticPaths from '~/lib/mdx/handleRefStaticPaths'
import handleRefStaticProps from '~/lib/mdx/handleRefStaticProps'
import clientLibsCommonSections from '~/spec/common-client-libs-sections.json' assert { type:
'json' }
import clientLibsCommonSections from '~/spec/common-client-libs-sections.json' assert { type: 'json' }
import typeSpec from '~/spec/enrichments/tsdoc_v1/combined.json' assert { type: 'json' }
import spec from '~/spec/supabase_js_v1.yml' assert { type: 'yml' }
@@ -5,10 +5,8 @@ import handleRefGetStaticPaths from '~/lib/mdx/handleRefStaticPaths'
import handleRefStaticProps from '~/lib/mdx/handleRefStaticProps'
import { gen_v3 } from '~/lib/refGenerator/helpers'
import selfHostingAnalyticsCommonSections from '~/spec/common-self-hosting-analytics-sections.json' assert { type:
'json' }
import analyticsSpec from '~/spec/transforms/analytics_v0_openapi_deparsed.json' assert { type:
'json' }
import selfHostingAnalyticsCommonSections from '~/spec/common-self-hosting-analytics-sections.json' assert { type: 'json' }
import analyticsSpec from '~/spec/transforms/analytics_v0_openapi_deparsed.json' assert { type: 'json' }
const sections = flattenSections(selfHostingAnalyticsCommonSections)
const libraryPath = '/self-hosting-analytics'
@@ -4,8 +4,7 @@ import { flattenSections } from '~/lib/helpers'
import handleRefGetStaticPaths from '~/lib/mdx/handleRefStaticPaths'
import handleRefStaticProps from '~/lib/mdx/handleRefStaticProps'
import selfHostingFunctionsCommonSections from '~/spec/common-self-hosting-functions-sections.json' assert { type:
'json' }
import selfHostingFunctionsCommonSections from '~/spec/common-self-hosting-functions-sections.json' assert { type: 'json' }
const sections = flattenSections(selfHostingFunctionsCommonSections)
const libraryPath = '/self-hosting-functions'
@@ -4,8 +4,7 @@ import { flattenSections } from '~/lib/helpers'
import handleRefGetStaticPaths from '~/lib/mdx/handleRefStaticPaths'
import handleRefStaticProps from '~/lib/mdx/handleRefStaticProps'
import selfHostingRealtimeCommonSections from '~/spec/common-self-hosting-realtime-sections.json' assert { type:
'json' }
import selfHostingRealtimeCommonSections from '~/spec/common-self-hosting-realtime-sections.json' assert { type: 'json' }
const sections = flattenSections(selfHostingRealtimeCommonSections)
const libraryPath = '/self-hosting-realtime'
@@ -6,8 +6,7 @@ import handleRefStaticProps from '~/lib/mdx/handleRefStaticProps'
import { gen_v3 } from '~/lib/refGenerator/helpers'
import storageSpec from '~/spec/storage_v0_openapi.json' assert { type: 'json' }
import selfHostingStorageCommonSections from '~/spec/common-self-hosting-storage-sections.json' assert { type:
'json' }
import selfHostingStorageCommonSections from '~/spec/common-self-hosting-storage-sections.json' assert { type: 'json' }
const sections = flattenSections(selfHostingStorageCommonSections)
const libraryPath = '/self-hosting-storage'
@@ -118,5 +118,4 @@ To summarise the steps:
- Become a [sponsor](https://github.com/sponsors/supabase)
[^1]: Removed link on June 14 2022 for search optimization: page currently does not exist
[^2]: Removed link on June 14 2022 for search optimization: page currently does not exist
@@ -418,5 +418,4 @@ By the way, if you like working on PostgreSQL tooling and extensions: we are hir
- [Realtime Postgres RLS on Supabase](https://supabase.com/blog/realtime-row-level-security-in-postgresql)
[^1]: You can see the `ProcessUtility_hook` declaration [here](https://github.com/postgres/postgres/blob/11e9caff82bc7326e2bc9782937cb03875050cc4/src/backend/tcop/utility.c#L75-L76) and its usage [here](https://github.com/postgres/postgres/blob/11e9caff82bc7326e2bc9782937cb03875050cc4/src/backend/tcop/utility.c#L515-L527).
[^2]: This is also done on [pg_stat_statements](https://github.com/postgres/postgres/blob/6991e774e0304f5ef488cf1ae4fa79578b6ae3d5/contrib/pg_stat_statements/pg_stat_statements.c#L1130-L1137) and [sepgsql](https://github.com/postgres/postgres/blob/6991e774e0304f5ef488cf1ae4fa79578b6ae3d5/contrib/sepgsql/hooks.c#L381-L388).
@@ -43,10 +43,7 @@ We were absolutely blown away by [all the amazing projects](/blog/hackathon-winn
Who else deserves the Gold Supabase Tee? 👀
<a href="https://t.co/XPWw02kZad">https://t.co/XPWw02kZad</a>
</p>
&mdash; Supabase (@supabase){' '}
<a href="https://twitter.com/supabase/status/1440737587895799809?ref_src=twsrc%5Etfw">
September 22, 2021
</a>
&mdash; Supabase (@supabase) <a href="https://twitter.com/supabase/status/1440737587895799809?ref_src=twsrc%5Etfw">September 22, 2021</a>
</blockquote> <script async src="https://platform.twitter.com/widgets.js" charSet="utf-8"></script>
### Prize categories
@@ -96,13 +93,9 @@ We'll be contacting and announcing winners [on Twitter](https://twitter.com/supa
<blockquote class="twitter-tweet" data-dnt="true" data-theme="dark">
<p lang="en" dir="ltr">
Absolutely buzzing to have won the
<a href="https://twitter.com/supabase?ref_src=twsrc%5Etfw">@supabase</a> hackathon! 🥳{' '}
<a href="https://t.co/rm5HBuju73">https://t.co/rm5HBuju73</a>
<a href="https://twitter.com/supabase?ref_src=twsrc%5Etfw">@supabase</a> hackathon! 🥳 <a href="https://t.co/rm5HBuju73">https://t.co/rm5HBuju73</a>
</p>
&mdash; Josh Cawthorne (@cawthornejosh){' '}
<a href="https://twitter.com/cawthornejosh/status/1424985377136390183?ref_src=twsrc%5Etfw">
August 10, 2021
</a>
&mdash; Josh Cawthorne (@cawthornejosh) <a href="https://twitter.com/cawthornejosh/status/1424985377136390183?ref_src=twsrc%5Etfw">August 10, 2021</a>
</blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
### Rules
@@ -56,9 +56,9 @@ Eventually we decided to open source all the frontend code, a shared codebase fo
<summary>
<a>Special shout out</a>
</summary>
Sentry do a fantastic job of{' '}
<a href="https://develop.sentry.dev/sentry-vs-getsentry/">documenting their strategy</a> for
managing a shared codebase and served as a great model for Supabase.
Sentry do a fantastic job of <a href="https://develop.sentry.dev/sentry-vs-getsentry/">
documenting their strategy
</a> for managing a shared codebase and served as a great model for Supabase.
</details>
## Build in public
@@ -22,20 +22,17 @@ Back in May 2020, we [tweeted about](https://twitter.com/supabase/status/1265922
<blockquote className="twitter-tweet" data-theme="dark">
<p lang="en" dir="ltr">
Really impressed with
<a href="https://twitter.com/logflare_logs?ref_src=twsrc%5Etfw">@logflare_logs</a>. We&#39;ve
been on the front page of
<a href="https://twitter.com/logflare_logs?ref_src=twsrc%5Etfw">@logflare_logs</a>. We&#39;ve been
on the front page of
<a href="https://twitter.com/hashtag/hackernews?src=hash&amp;ref_src=twsrc%5Etfw">
#hackernews
</a>
for 24 hours anticipating the HN hug of death. Looks like we made it through OK and Logflare
has been ingesting everything without breaking a sweat{' '}
<a href="https://t.co/RWKHIgmWh6">https://t.co/RWKHIgmWh6</a>{' '}
<a href="https://t.co/dQ2xqFTdco">pic.twitter.com/dQ2xqFTdco</a>
for 24 hours anticipating the HN hug of death. Looks like we made it through OK and Logflare has
been ingesting everything without breaking a sweat <a href="https://t.co/RWKHIgmWh6">
https://t.co/RWKHIgmWh6
</a> <a href="https://t.co/dQ2xqFTdco">pic.twitter.com/dQ2xqFTdco</a>
</p>
&mdash; Supabase (@supabase){' '}
<a href="https://twitter.com/supabase/status/1265922290237071361?ref_src=twsrc%5Etfw">
May 28, 2020
</a>
&mdash; Supabase (@supabase) <a href="https://twitter.com/supabase/status/1265922290237071361?ref_src=twsrc%5Etfw">May 28, 2020</a>
</blockquote>
</div>
@@ -39,10 +39,7 @@ The Supabase team will be participating as well, for example [Jon](https://twitt
<a href="https://t.co/wgRBu92Bq4">https://t.co/wgRBu92Bq4</a>
<a href="https://t.co/i1eD1pdA8I">pic.twitter.com/i1eD1pdA8I</a>
</p>
&mdash; Supabase (@supabase){' '}
<a href="https://twitter.com/supabase/status/1463355998928736262?ref_src=twsrc%5Etfw">
November 24, 2021
</a>
&mdash; Supabase (@supabase) <a href="https://twitter.com/supabase/status/1463355998928736262?ref_src=twsrc%5Etfw">November 24, 2021</a>
</blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
### Prize categories
@@ -92,10 +89,7 @@ We'll be contacting and announcing winners [on Twitter](https://twitter.com/supa
<a href="https://twitter.com/supabase?ref_src=twsrc%5Etfw">@supabase</a> hackathon! 🥳
<a href="https://t.co/rm5HBuju73">https://t.co/rm5HBuju73</a>
</p>
&mdash; Josh Cawthorne (@cawthornejosh){' '}
<a href="https://twitter.com/cawthornejosh/status/1424985377136390183?ref_src=twsrc%5Etfw">
August 10, 2021
</a>
&mdash; Josh Cawthorne (@cawthornejosh) <a href="https://twitter.com/cawthornejosh/status/1424985377136390183?ref_src=twsrc%5Etfw">August 10, 2021</a>
</blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
### Rules
@@ -19,17 +19,12 @@ Last week [Supabase UI](https://ui.supabase.com/), our open-source UI component
<blockquote class="twitter-tweet" data-lang="en" data-theme="dark">
<p lang="en" dir="ltr">
🏆 Supabase UI has been nominated for the
<a href="https://twitter.com/ProductHunt?ref_src=twsrc%5Etfw">@ProductHunt</a>{' '}
<a href="https://twitter.com/hashtag/GoldenKittyAwards2021?src=hash&amp;ref_src=twsrc%5Etfw">
<a href="https://twitter.com/ProductHunt?ref_src=twsrc%5Etfw">@ProductHunt</a> <a href="https://twitter.com/hashtag/GoldenKittyAwards2021?src=hash&amp;ref_src=twsrc%5Etfw">
#GoldenKittyAwards2021
</a>{' '}
<p>💚 Thank you to all the contributors and upvoters out there, we appreciate you!</p>
</a> <p>💚 Thank you to all the contributors and upvoters out there, we appreciate you!</p>
<a href="https://t.co/xOek6sM4LG">https://t.co/xOek6sM4LG</a>
</p>
&mdash; Supabase (@supabase){' '}
<a href="https://twitter.com/supabase/status/1481672574023221260?ref_src=twsrc%5Etfw">
January 13, 2022
</a>
&mdash; Supabase (@supabase) <a href="https://twitter.com/supabase/status/1481672574023221260?ref_src=twsrc%5Etfw">January 13, 2022</a>
</blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
Thanks to your contributions and upvotes, Supabase UI has made it to the finals, and to celebrate we'd like to invite you all to hang out with us on Discord (at least whoever manages to stay up) to watch the Awards Ceremony on Thursday Jan 27th at 9am PT (Thursday 5pm GMT, Friday 1am SG).
@@ -114,16 +114,14 @@ Divjoy announced their [Supabase Integration](https://divjoy.com/?database=supab
<blockquote class="twitter-tweet" data-theme="dark">
<p lang="en" dir="ltr">
We released n8n@0.158.0 with new nodes for
<a href="https://twitter.com/supabase?ref_src=twsrc%5Etfw">@supabase</a>,
<a href="https://twitter.com/syncromsp?ref_src=twsrc%5Etfw">@syncromsp</a>, and
<a href="https://twitter.com/supabase?ref_src=twsrc%5Etfw">@supabase</a>,<a href="https://twitter.com/syncromsp?ref_src=twsrc%5Etfw">
@syncromsp
</a>, and
<a href="https://twitter.com/Microsoft?ref_src=twsrc%5Etfw">@Microsoft</a> Graph Security. We
also made improvements to existing nodes ✨
<a href="https://t.co/IdeUe4eWBK">pic.twitter.com/IdeUe4eWBK</a>
</p>
&mdash; n8n.io (@n8n_io){' '}
<a href="https://twitter.com/n8n_io/status/1480502781320572931?ref_src=twsrc%5Etfw">
January 10, 2022
</a>
&mdash; n8n.io (@n8n_io) <a href="https://twitter.com/n8n_io/status/1480502781320572931?ref_src=twsrc%5Etfw">January 10, 2022</a>
</blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
### Python Upgrades
@@ -142,10 +140,7 @@ We're having a 24/7\*365 meme-fest on [Twitter](https://twitter.com/supabase)
<p lang="en" dir="ltr">
invest in good relationships <a href="https://t.co/bGiBE7FRFQ">pic.twitter.com/bGiBE7FRFQ</a>
</p>
&mdash; Supabase (@supabase){' '}
<a href="https://twitter.com/supabase/status/1475876907212316678?ref_src=twsrc%5Etfw">
December 28, 2021
</a>
&mdash; Supabase (@supabase) <a href="https://twitter.com/supabase/status/1475876907212316678?ref_src=twsrc%5Etfw">December 28, 2021</a>
</blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
### TikTok
+2 -2
View File
@@ -124,8 +124,8 @@ create table audit.record_version (
<summary>Postgres version compatibility</summary>
<p>
The table above uses PostgreSQL's built-in
<a href="https://www.postgresql.org/docs/14/functions-uuid.html">uuid functionality</a>, which
is available from version 14. For backwards compatibility you can use the uuid-ossp extension.
<a href="https://www.postgresql.org/docs/14/functions-uuid.html">uuid functionality</a>, which is
available from version 14. For backwards compatibility you can use the uuid-ossp extension.
</p>
<p>
<code>create extension if not exists "uuid-ossp";</code>
@@ -40,13 +40,9 @@ Finally, we're delighted to be partnering with [the Future Forest Company](https
<blockquote class="twitter-tweet" data-theme="dark">
<p lang="en" dir="ltr">
Hacktoberfest Hackathon Swag finally arrived! 🥇🥈🥨 see the winners here:
<a href="https://t.co/wgRBu92Bq4">https://t.co/wgRBu92Bq4</a>{' '}
<a href="https://t.co/i1eD1pdA8I">pic.twitter.com/i1eD1pdA8I</a>
<a href="https://t.co/wgRBu92Bq4">https://t.co/wgRBu92Bq4</a> <a href="https://t.co/i1eD1pdA8I">pic.twitter.com/i1eD1pdA8I</a>
</p>
&mdash; Supabase (@supabase){' '}
<a href="https://twitter.com/supabase/status/1463355998928736262?ref_src=twsrc%5Etfw">
November 24, 2021
</a>
&mdash; Supabase (@supabase) <a href="https://twitter.com/supabase/status/1463355998928736262?ref_src=twsrc%5Etfw">November 24, 2021</a>
</blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
### Prize categories
@@ -96,13 +92,9 @@ We'll be contacting and announcing winners [on Twitter](https://twitter.com/supa
<blockquote class="twitter-tweet" data-dnt="true" data-theme="dark">
<p lang="en" dir="ltr">
Absolutely buzzing to have won the
<a href="https://twitter.com/supabase?ref_src=twsrc%5Etfw">@supabase</a> hackathon! 🥳{' '}
<a href="https://t.co/rm5HBuju73">https://t.co/rm5HBuju73</a>
<a href="https://twitter.com/supabase?ref_src=twsrc%5Etfw">@supabase</a> hackathon! 🥳 <a href="https://t.co/rm5HBuju73">https://t.co/rm5HBuju73</a>
</p>
&mdash; Josh Cawthorne (@cawthornejosh){' '}
<a href="https://twitter.com/cawthornejosh/status/1424985377136390183?ref_src=twsrc%5Etfw">
August 10, 2021
</a>
&mdash; Josh Cawthorne (@cawthornejosh) <a href="https://twitter.com/cawthornejosh/status/1424985377136390183?ref_src=twsrc%5Etfw">August 10, 2021</a>
</blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
### Rules
@@ -40,10 +40,7 @@ This time, we're switching things around:
Now I've just got to pry it away from Peanut 🥜 😂
<a href="https://t.co/POBdVZrF5N">pic.twitter.com/POBdVZrF5N</a>
</p>
&mdash; Daniel Cranney 🇬🇧 (@danielcranney){' '}
<a href="https://twitter.com/danielcranney/status/1557249589182447616?ref_src=twsrc%5Etfw">
August 10, 2022
</a>
&mdash; Daniel Cranney 🇬🇧 (@danielcranney) <a href="https://twitter.com/danielcranney/status/1557249589182447616?ref_src=twsrc%5Etfw">August 10, 2022</a>
</blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
@@ -119,10 +119,7 @@ Thanks to everyone who participated. I hope you enjoyed it, and a massive thank
<a href="https://twitter.com/KyleRummens?ref_src=twsrc%5Etfw">@KyleRummens</a>.{' '}
<a href="https://t.co/Uzk4q3aJyy">pic.twitter.com/Uzk4q3aJyy</a>
</p>
&mdash; Tristan Rhodes (@tristanbob){' '}
<a href="https://twitter.com/tristanbob/status/1781340495899406511?ref_src=twsrc%5Etfw">
April 19, 2024
</a>
&mdash; Tristan Rhodes (@tristanbob) <a href="https://twitter.com/tristanbob/status/1781340495899406511?ref_src=twsrc%5Etfw">April 19, 2024</a>
</blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<blockquote class="twitter-tweet">
@@ -134,10 +131,7 @@ Thanks to everyone who participated. I hope you enjoyed it, and a massive thank
<a href="https://twitter.com/GeekyAdams?ref_src=twsrc%5Etfw">@GeekyAdams</a> .{' '}
<a href="https://t.co/OtXUaXvB5o">pic.twitter.com/OtXUaXvB5o</a>
</p>
&mdash; Dherrbie (@Debbyiecodes){' '}
<a href="https://twitter.com/Debbyiecodes/status/1781626949552525323?ref_src=twsrc%5Etfw">
April 20, 2024
</a>
&mdash; Dherrbie (@Debbyiecodes) <a href="https://twitter.com/Debbyiecodes/status/1781626949552525323?ref_src=twsrc%5Etfw">April 20, 2024</a>
</blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
## Contributing to open source
@@ -71,25 +71,25 @@ Apply to join the program using [this form](https://airtable.com/shr0FtLqLfhpuEy
<summary>
<i>Why are you only admitting 20 new members?</i>
</summary>
The entire Supabase team is only 20 people, so as you can imagine adding another 20 people sounds
like a lot to us! We wish we could admit everyone who wanted to join. But we also want to make
sure everyone who joins the Squad has an awesome experience. In the future we will probably expand
the intake to include a monthly quota.
The entire Supabase team is only 20 people, so as you can imagine adding another 20 people sounds like
a lot to us! We wish we could admit everyone who wanted to join. But we also want to make sure everyone
who joins the Squad has an awesome experience. In the future we will probably expand the intake to
include a monthly quota.
</details>
<details>
<summary>
<i>What is expected?</i>
</summary>
Mostly just enthusiasm. If you are interested in Open Source and want to get involved, the
SupaSquad program is a great channel. You'll be given opportunities to contribute to the community
in whatever ways match your skillset.
Mostly just enthusiasm. If you are interested in Open Source and want to get involved, the SupaSquad
program is a great channel. You'll be given opportunities to contribute to the community in whatever
ways match your skillset.
</details>
<details>
<summary>
<i>What if I become too busy to contribute?</i>
</summary>
No worries! The program isn't a job. It's just an opportunity to build your skillset and audience
within the Supabase ecosystem.
No worries! The program isn't a job. It's just an opportunity to build your skillset and audience within
the Supabase ecosystem.
</details>
</SectionContainer>