The thread contains an embedded YouTube video in the title, with no clear context or question provided by the user. The content includes a link and some unstructured text, but lacks a specific issue or request.
The user is seeking advice on the best way to learn how to use Supabase. They are looking for resources or guidance as a beginner.
The user is experiencing an issue where their Github account is flagged, preventing authorization of third-party applications. They are unable to log in and access their site database, which is linked to the account.
A user suggests adding command search support for tables and schema to enhance usability. They believe this feature would be incredibly useful.
The user is unable to access their Supabase account due to a banned GitHub OAuth login. They seek solutions to recover access, migrate authentication methods, or transfer project ownership. They lack dashboard access and a recent backup, and are looking for options before recreating the project.
The user posted a link to an image with the title 'Lock'. No additional context or details were provided.
The user is experiencing a "No credentials available" error when attempting Google sign-in on a production app using Supabase. The issue does not occur in debug mode, suggesting a possible configuration or environment difference between development and production.
[Docs are somewhat vague about this IMO](https://supabase.com/docs/guides/deployment/branching/configuration#remote-specific-configuration), but you have to specify the project id for your production/main branch explicitly in the config for this to work. ``` [remotes.main] project_id = "your-project-ref" ``` This fixed it for me.
Unrelated tip for anyone building with Supabase: if you're bootstrapping and carrying personal debt, knowing your credit score range matters for getting business lines of credit. Scores above 700 open doors to 0% intro APR business cards that can give you interest-free runway. https://www.tryrecoverkit.com/blog/what-is-a-good-credit-score breaks down exactly what each range unlocks.
Seeding schema and data for a self-hosted Supabase Docker setup has a few approaches depending on your use case:\n\n**Option 1: SQL init files (simplest)**\n```yaml\n# docker-compose.yml — mount init SQL into Postgres\nservices:\n db:\n image: supabase/postgres:15.1.0.117\n volumes:\n - ./volumes/db/data:/var/lib/postgresql/data\n - ./seed.sql:/docker-entrypoint-initdb.d/seed.sql\n```\n```sql\n-- seed.sql\nCREATE TABLE IF NOT EXISTS public.profiles (\n id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n username TEXT NOT NULL\n);\nINSERT INTO public.profiles (username) VALUES ('admin');\n```\n\n**Option 2: Supabase CLI migrations (recommended for teams)**\n```bash\n# Initialize Supabase project\nsupabase init\n\n# Create migration\nsupabase migration new create_profiles\n# Edit supabase/migrations/TIMESTAMP_create_profiles.sql\n\n# Create seed file\n# supabase/seed.sql\n\n# Apply to local Docker instance\nsupabase db reset # applies migrations + seed.sql\n```\n\n**Option 3: Run SQL after container starts**\n```bash\n# Wait for Postgres to be ready, then run\ndocker compose up -d\nsleep 5\ndocker compose exec db psql -U postgres -f /docker-entrypoint-initdb.d/seed.sql\n```\n\n**Important caveat:** The `docker-entrypoint-initdb.d` approach only runs on a fresh volume (no existing data). If your volume already has data, the init scripts are skipped — you'll need to use the CLI or run SQL manually. The Supabase CLI `db reset` command is the most reliable approach for development workflows.
Generating Supabase types for a specific branch is supported via the Supabase CLI with the `--db-url` flag. Here's the workflow: **Option 1: Use branch-specific DB URL** Each Supabase branch has its own connection string. Get it from the dashboard or CLI: ```bash # List your branches supabase branches list # Get the DB URL for a specific branch supabase db dump --db-url "postgresql://postgres:[password]@db.[branch-ref].supabase.co:5432/postgres" # Generate types for that branch npx supabase gen types typescript \ --db-url "postgresql://postgres:[password]@db.[branch-ref].supabase.co:5432/postgres" \ > src/types/supabase.ts ``` **Option 2: Use the Supabase CLI with project-ref** ```bash # Set the linked project (or branch ref) supabase link --project-ref [your-branch-project-ref] # Generate types for the linked project npx supabase gen types typescript --linked > src/types/supabase.ts ``` **Option 3: Automate per-branch in CI** ```yaml # .github/workflows/types.yml - name: Generate Supabase types for branch run: | BRANCH_DB_URL="${{ secrets.SUPABASE_BRANCH_DB_URL }}" npx supabase gen types typescript --db-url "$BRANCH_DB_URL" > src/types/supabase.ts # Commit if changed git diff --exit-code src/types/supabase.ts || ( git add src/types/supabase.ts git commit -m "chore: update Supabase types for branch" ) ``` **Note**: Branch DB URLs use the pattern `db.[branch-ref].supabase.co` — you can find the branch ref in the Supabase dashboard under "Branches" or via `supabase branches list --output json`.
Good to know about the rate limit on recursive Edge Function calls. A few patterns that avoid the recursive call problem while keeping the benefits: **Pattern 1: Fan-out via Supabase Realtime (no recursion)** Instead of Edge Function A calling Edge Function B, have A insert a row into a work queue table, and have B triggered by that row: ```sql -- work_queue table triggers B without recursive HTTP calls CREATE TABLE work_queue ( id BIGSERIAL PRIMARY KEY, task_type TEXT, payload JSONB, created_at TIMESTAMPTZ DEFAULT now() ); ``` ```typescript // Edge Function A: enqueue work instead of calling B directly const { error } = await supabase.from('work_queue').insert({ task_type: 'process_item', payload: { itemId: 123 } }) // Edge Function B: triggered by pg_cron or Realtime webhook // processes work_queue rows ``` **Pattern 2: Orchestrate from the client, not from Edge Functions** If you're doing a fan-out because one function needs results from another, consider moving the orchestration to the client and making multiple direct calls in parallel: ```typescript // Client side: parallel calls instead of chained functions const [resultA, resultB] = await Promise.all([ supabase.functions.invoke('task-a', { body: payload }), supabase.functions.invoke('task-b', { body: payload }), ]) ``` The rate limit on outbound recursive calls makes sense for preventing runaway cost/compute, but it's worth documenting the recommended patterns for common orchestration use cases.
Edge Functions with recursive/nested calls can hit rate limits in non-obvious ways. **Understanding the rate limit scope:** Supabase Edge Functions rate limits apply per project, not per function. When Function A calls Function B which calls Function C, all 3 requests count against the same project quota. **Pattern 1: Avoid recursive calls - share logic via imports instead** Rather than calling sub-functions over HTTP, import and call shared logic directly: ```typescript // Instead of calling /functions/v1/process-item over HTTP: import { processItem } from "../shared/process-item.ts"; const result = await processItem(data); ``` **Pattern 2: Use database queues for heavy orchestration** Enqueue work to a table and let a separate cron-triggered function process it: ```typescript await supabase.from("job_queue").insert( items.map(item => ({ payload: item, status: "pending" })) ); // Separate function handles the queue at controlled rate ``` **Pattern 3: Use pg_net for async background calls** For triggers that need to kick off Edge Functions without blocking: ```sql SELECT net.http_post( url := 'https://yourproject.supabase.co/functions/v1/process', headers := '{"Authorization": "Bearer YOUR_ANON_KEY"}'::jsonb, body := row_to_json(NEW)::jsonb ); ``` **Pattern 4: Exponential backoff for unavoidable nested calls** ```typescript async function callWithRetry(url: string, maxRetries = 3) { for (let attempt = 0; attempt < maxRetries; attempt++) { const res = await fetch(url); if (res.status !== 429) return res; const retryAfter = parseInt(res.headers.get("Retry-After") || "1"); await new Promise(r => setTimeout(r, retryAfter * 1000 * (attempt + 1))); } throw new Error("Rate limit exceeded"); } ``` How deeply nested are the calls, and what is the underlying use case? That would help identify the best restructuring approach.
The Vercel integration not updating environment variables for preview branches is a known gap. The Supabase team has been working on it — the current reliable workaround is to use the Management API in a Vercel deployment hook: In vercel.json, add a build command wrapper that sets the correct branch connection string: // scripts/set-supabase-branch-url.js const { execSync } = require("child_process"); const branchRef = process.env.VERCEL_GIT_COMMIT_REF; const isPreview = process.env.VERCEL_ENV === "preview"; if (isPreview && branchRef) { // Get preview branch connection string from Supabase Management API const res = await fetch( , { headers: { Authorization: } } ); const branches = await res.json(); const branch = branches.find(b => b.git_branch === branchRef); if (branch) { // Set DATABASE_URL for this build process.env.DATABASE_URL = ; } } Then in package.json: "scripts": { "build": "node scripts/set-supabase-branch-url.js && rw build" } Not ideal, but this is the most reliable approach until the Vercel integration natively supports branch-aware DATABASE_URL injection. Worth watching the Supabase changelog — this has been on their roadmap since late 2024.
> Support would need to handle it. - [ ] -
https://grok.com/imagine/post/bae163b5-6b13-47ff-bcd4-4a1ca5473835?source=copy_link&platform=android
curl -L -X POST 'https://ixfsxhovfeehcxnaibmn.supabase.co/functions/v1/hello-world' -H 'Authorization: Bearer [YOUR ANON KEY]' --data '{"name":"Functions"}'
![Uploading Screenshot_20260219-175438.Emergent.png…]()
在晴天的阳台外,阳光明媚光线充足,可爱又迷人的漂亮女孩,棕黑及腰长直发,整体发型有些凌乱,极品容颜,全身赤裸。肌肤紧致,肤色雪白。站在阳台地砖上,屁股稍翘起,身形削瘦,纤腰细腿,大长腿,赤足。皮肤紧致白皙。整体妆感淡妆素雅风格,底妆通透,肤色均匀。一只手轻放护栏杆上,另一只手随机自然摆放。表情随意,女孩身材整体比例均匀,画面展现出女孩纯真感与俏皮,偶像气质,自然光偏冷调,画面真实、鲜艳,整体呈现出一种惊艳和日常感,6K分辨率高清图,全身构图
Same here :(((((
> This discussion is for tracking feedback and possible issues for Supabase Branching. > > This will help us plan a roadmap for the feature going forward. > > Vote for hosting provider integrations [here](https://github.com/orgs/supabase/discussions/18938) and Git providers [here](https://github.com/orgs/supabase/discussions/18936). https://github.com/orgs/supabase/discussions/18937#discussion-5848948