mirror of
https://github.com/supabase/supabase.git
synced 2026-09-08 19:08:44 +08:00
Terms of Service v3 (effective August 1, 2026, #48482) incorporates the Data Processing Addendum by reference, and Legal asked for an in-app notice announcing the change. The subprocessor list page that the new Terms, DPA, and notice all point at was merged as an intentionally hidden draft (#48100) and never un-hidden. **Changed:** - **Dashboard ToS-update banner**: re-enables `BannerTOSUpdate` with the v3 copy provided by Legal (DPA incorporation, subprocessor list location, fees provisions). New expiry (August 29) and a new localStorage key, since anyone who dismissed the May v2 banner would otherwise never see this one. - **Subprocessor list page published**: removes `noindex,nofollow` and links the page from the Legal Hub index, so the page customers are told to subscribe on is actually discoverable. - **Studio e2e fixture updated**: the global Playwright fixture suppressed the banner via the old localStorage key; with the gate live again it would have rendered the banner into every e2e run. It now sets the new key. ## To test Verified on the Vercel previews : - [x] Studio: banner renders on dashboard load with the Notice badge and new copy; Learn more dialog shows the three changes with correct hrefs (DPA page, subprocessor list, /terms); Understood dismisses and persists across reload via `terms-of-service-update-2026-08-01` - [x] www: `/legal` lists Subprocessor List under Customer Legal Resources; `/legal/customer-resources/subprocessor-list` serves `robots` meta `index,follow` and renders the download button + subscribe form; zero console errors on all tested pages ## Linear - fixes GROWTH-1067 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a publicly accessible Subprocessor List to the legal resources. * Updated the Terms of Service notice to reflect the August 1, 2026 update, including data processing, subprocessors, fraud prevention, and consumer provisions. * **Documentation** * Made the Subprocessor List discoverable through standard search indexing and the legal resources page. * Extended the Terms of Service banner availability through August 29, 2026. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
61 lines
1.5 KiB
TypeScript
61 lines
1.5 KiB
TypeScript
import path from 'path'
|
|
import { test as base } from '@playwright/test'
|
|
import dotenv from 'dotenv'
|
|
|
|
import { env } from '../env.config.js'
|
|
|
|
dotenv.config({
|
|
path: path.resolve(import.meta.dirname, '../.env.local'),
|
|
override: true,
|
|
})
|
|
|
|
export interface TestOptions {
|
|
env: string
|
|
ref: string
|
|
apiUrl: string
|
|
}
|
|
|
|
export const test = base.extend<TestOptions>({
|
|
env: env.STUDIO_URL,
|
|
ref: env.PROJECT_REF ?? 'default',
|
|
apiUrl: env.API_URL,
|
|
page: async ({ page }, use) => {
|
|
const ref = env.PROJECT_REF ?? 'default'
|
|
await page.addInitScript((ref) => {
|
|
localStorage.setItem(
|
|
`table-editor-queue-operations-banner-dismissed-${ref}`,
|
|
JSON.stringify(true)
|
|
)
|
|
localStorage.setItem(`terms-of-service-update-2026-08-01`, JSON.stringify(true))
|
|
}, ref)
|
|
await use(page)
|
|
},
|
|
})
|
|
|
|
/**
|
|
* A function that returns a disposable object. Calling it with using keyword ensures that the cleanup function
|
|
* will be called whether the test succeeded or not.
|
|
*
|
|
* @example
|
|
* await using _ = await withSetupCleanup(
|
|
* () => createTableWithRLS('pw_table', 'pw_column'),
|
|
* async () => {
|
|
* await dropTable('pw_table')
|
|
* }
|
|
* )
|
|
* @param setup The setup function (create tables, etc.)
|
|
* @param cleanup The cleanup function (remove tables, etc.)
|
|
* @returns A disposable object
|
|
*/
|
|
export const withSetupCleanup = async (
|
|
setup: () => Promise<void>,
|
|
cleanup: () => Promise<void>
|
|
) => {
|
|
await setup()
|
|
return {
|
|
async [Symbol.asyncDispose]() {
|
|
await cleanup()
|
|
},
|
|
}
|
|
}
|