Merge branch 'master' of github.com:supabase/supabase

This commit is contained in:
Terry Sutton committed 2024-06-27 10:08:54 -02:30
commit 973e1ebcb8
16 files changed
+51 -59

No files matched your search

@@ -102,7 +102,8 @@ export const Grid = memo(
const selectedCellRef = useRef<{ rowIdx: number; row: any; column: any } | null>(null)
function copyCellValue() {
const selectedCellValue = selectedCellRef.current?.row[selectedCellRef.current?.column?.key]
const selectedCellValue =
selectedCellRef.current?.row?.[selectedCellRef.current?.column?.key]
const text = formatClipboardValue(selectedCellValue)
if (!text) return
copyToClipboard(text)
+1 -1
View File
@@ -7,7 +7,7 @@ export function deepClone(obj: unknown) {
}
export function formatClipboardValue(value: any) {
if (value === null) return ''
if (!value) return ''
if (typeof value == 'object' || Array.isArray(value)) {
return JSON.stringify(value)
}
@@ -71,7 +71,7 @@ const ProjectList = ({ search, rewriteHref }: ProjectListProps) => {
{organizations?.map((organization) => {
return (
<OrganizationProjects
key={organization.id}
key={organization.slug}
organization={organization}
projects={projectsByOrg[organization.id]}
overdueInvoices={(allOverdueInvoices ?? []).filter(
@@ -163,7 +163,7 @@ const OrganizationProjects = ({
if (search.length > 0 && filteredProjects.length === 0) return null
return (
<div className="space-y-3" key={organization.id}>
<div className="space-y-3" key={organization.slug}>
<div className="flex space-x-4 items-center">
<h4 className="text-lg flex items-center">{organization.name}</h4>
@@ -29,7 +29,6 @@ import {
} from 'ui'
export interface Project {
id: string
name: string
ref: string
}
@@ -168,6 +168,16 @@ export const lintInfoMap: LintInfo[] = [
docsLink:
'https://supabase.com/docs/guides/database/database-advisors?lint=0016_materialized_view_in_api',
},
{
name: 'foreign_table_in_api',
title: 'Foreign Table in API',
icon: <Table2 className="text-foreground-muted" size={15} strokeWidth={1.5} />,
link: () =>
`https://supabase.com/docs/guides/database/database-linter?lint=0017_foreign_table_in_api`,
linkText: 'View docs',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?lint=0017_foreign_table_in_api',
},
]
export const LintCTA = ({
@@ -94,7 +94,7 @@ const DowngradeModal = ({
{projects
.filter((it) => it.infra_compute_size === 'micro')
.map((project) => (
<li className="list-disc ml-6" key={project.id}>
<li className="list-disc ml-6" key={project.ref}>
{project.name}: Compute will be downgraded. Project will also{' '}
<span className="font-bold">need to be restarted</span>.
</li>
@@ -54,8 +54,7 @@ const SidePanelGitHubRepoLinker = ({ projectRef }: SidePanelGitHubRepoLinkerProp
() =>
supabaseProjectsData
?.filter((project) => project.organization_id === selectedOrganization?.id)
.map((project) => ({ id: project.id.toString(), name: project.name, ref: project.ref })) ??
EMPTY_ARR,
.map((project) => ({ name: project.name, ref: project.ref })) ?? EMPTY_ARR,
[selectedOrganization?.id, supabaseProjectsData]
)
@@ -52,8 +52,7 @@ const SidePanelVercelProjectLinker = () => {
() =>
supabaseProjectsData
?.filter((project) => project.organization_id === selectedOrganization?.id)
.map((project) => ({ id: project.id.toString(), name: project.name, ref: project.ref })) ??
EMPTY_ARR,
.map((project) => ({ name: project.name, ref: project.ref })) ?? EMPTY_ARR,
[selectedOrganization?.id, supabaseProjectsData]
)
@@ -18,9 +18,6 @@ const OrganizationSettingsMenu = () => {
{ label: 'Legal Documents', pathname: `/org/[slug]/documents` },
]
// const { data: allProjects } = useProjectsQuery()
// const projects = allProjects?.filter((project) => project.organization_id === organization?.id)
return (
<div className="space-y-10">
<div className="space-y-2">
@@ -36,25 +33,6 @@ const OrganizationSettingsMenu = () => {
/>
))}
</div>
{/* [Joshen] Hiding below until we figure out a better UX for consolidating settings on projects */}
{/* <div className="space-y-2">
<p className="text-sm font-medium">Projects</p>
<Accordion_Shadcn_ type="single" collapsible className="w-full">
{projects?.map((project) => (
<ProjectSettingsMenuItem key={project.ref} project={project} />
))}
</Accordion_Shadcn_>
</div>
<div>
<Link href={`/new/${organization?.slug}`}>
<a>
<Button type="default" size="small">
Create new project
</Button>
</a>
</Link>
</div> */}
</div>
)
}
+1 -1
View File
@@ -180,7 +180,7 @@ const APIAuthorizationPage: NextPageWithLayout = () => {
>
{(organizations ?? []).map((organization) => (
<Listbox.Option
key={organization.id}
key={organization.slug}
label={organization.name}
value={organization.slug}
>
@@ -65,8 +65,7 @@ const VercelIntegration: NextPageWithLayout = () => {
project.status === PROJECT_STATUS['COMING_UP'] ||
project.status === PROJECT_STATUS['RESTORING'])
)
.map((project) => ({ id: project.id.toString(), name: project.name, ref: project.ref })) ??
EMPTY_ARR,
.map((project) => ({ name: project.name, ref: project.ref })) ?? EMPTY_ARR,
[organization?.id, supabaseProjectsData]
)
+1 -1
View File
@@ -812,7 +812,7 @@ const Wizard: NextPageWithLayout = () => {
</TableHeader>
<TableBody className="[&_td]:py-2">
{organizationProjects.map((project) => (
<TableRow key={project.id} className="text-foreground-light">
<TableRow key={project.ref} className="text-foreground-light">
<TableCell className="w-[170px]">{project.name}</TableCell>
<TableCell className="text-center">
{instanceLabel(project.infra_compute_size)}
+2
View File
@@ -42,6 +42,8 @@ Sentry.init({
ignoreErrors: [
// Used exclusively in Monaco Editor.
'ResizeObserver',
's.getModifierState is not a function',
/^Uncaught NetworkError: Failed to execute 'importScripts' on 'WorkerGlobalScope'/,
// [Joshen] We currently use stripe-js for customers to save their credit card data
// I'm unable to reproduce this error on local, staging nor prod across chrome, safari or firefox
// Based on https://github.com/stripe/stripe-js/issues/26, it seems like this error is safe to ignore,
@@ -5,7 +5,7 @@ import ProductIcon from '../ProductIcon'
type subheader = string
interface Types {
h1: string | React.ReactNode
subheader: string[]
subheader: (string | React.ReactNode)[]
icon?: string
title?: string
image?: React.ReactNode
+10 -5
View File
@@ -26,7 +26,7 @@ function StoragePage() {
const meta_title = 'Storage | Store any digital content'
const meta_description =
'An open source Object store with unlimited scalability, for any file type.'
'An open source S3 Compatible Object Store with unlimited scalability, for any file type.'
return (
<>
@@ -56,7 +56,10 @@ function StoragePage() {
</span>,
]}
subheader={[
'An open source Object store with unlimited scalability, for any file type.',
<>
An open source <b>S3 Compatible</b> Object Store, with unlimited scalability, for any
file type.
</>,
'With custom policies and permissions that are familiar and easy to implement.',
]}
image={[
@@ -86,7 +89,6 @@ function StoragePage() {
</div>
<h4 className="h4">Interoperable</h4>
<p className="p">
Integrates well with the rest of Supabase ecosystem, including Auth and Postgres.
</p>
@@ -112,8 +114,11 @@ function StoragePage() {
}
/>
</div>
<h4 className="h4">Dependable</h4>
<p className="p">Enterprise-level scalability and durability.</p>
<h4 className="h4">Multiple Protocol Support</h4>
<p className="p">
S3, Resumable Uploads and Standard Uploads. Enterprise-level scalability.
</p>
</div>
</div>
</SectionContainer>
+17 -17
View File
@@ -13947,9 +13947,9 @@
}
},
"node_modules/@testing-library/jest-dom": {
"version": "6.4.2",
"resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.2.tgz",
"integrity": "sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==",
"version": "6.4.5",
"resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.5.tgz",
"integrity": "sha512-AguB9yvTXmCnySBP1lWjfNNUwpbElsaQ567lt2VdGqAdHtpieLgjmcVyv1q7PMIvLbgpDdkWV5Ydv3FEejyp2A==",
"dev": true,
"dependencies": {
"@adobe/css-tools": "^4.3.2",
@@ -13958,7 +13958,7 @@
"chalk": "^3.0.0",
"css.escape": "^1.5.1",
"dom-accessibility-api": "^0.6.3",
"lodash": "^4.17.15",
"lodash": "^4.17.21",
"redent": "^3.0.0"
},
"engines": {
@@ -15322,6 +15322,19 @@
"vite": "^4.2.0 || ^5.0.0"
}
},
"node_modules/@vitest/expect": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz",
"integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==",
"dependencies": {
"@vitest/spy": "1.6.0",
"@vitest/utils": "1.6.0",
"chai": "^4.3.10"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
"node_modules/@vitest/runner": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.0.tgz",
@@ -41740,19 +41753,6 @@
}
}
},
"node_modules/vitest/node_modules/@vitest/expect": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz",
"integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==",
"dependencies": {
"@vitest/spy": "1.6.0",
"@vitest/utils": "1.6.0",
"chai": "^4.3.10"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
"node_modules/vitest/node_modules/execa": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",