-
Notifications
You must be signed in to change notification settings - Fork 176
chore(deps): update dependency supabase to v2.45.4 #3686
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub.
2 Skipped Deployments
|
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the Note Free review on us!CodeRabbit is offering free reviews until Wed Oct 08 2025 to showcase some of the refinements we've made. Comment |
0a27c61
to
792d94e
Compare
@claude Please investigate why |
Claude finished @sasamuku's task —— View job Investigation: supabase script failure ✅I've investigated why Tasks:
Root Cause AnalysisThe script failure is caused by a change in the Supabase CLI status output format between versions. Here are the key findings: 1. Version Context
2. Script LogicThe script # Line 8: Looks for "anon key:" in the status output
ANON_KEY_LINE=$(echo "$STATUS_OUTPUT" | grep -m 1 "anon key:")
# Line 12: Extracts the key using sed pattern matching
ANON_KEY=$(echo "$ANON_KEY_LINE" | sed 's/.*anon key: \(.*\)/\1/' | tr -d ' ') 3. Failure EvidenceFrom the CI logs:
Recommended SolutionsOption 1: Update Script for New Format (Recommended)The Supabase CLI status command now supports multiple output formats (
Recommendation: Modify the script to use Option 2: Alternative Output FormatUse Option 3: Pin to Working Version (Temporary)Temporarily revert to supabase v2.40.6 until the script is updated. Next Steps
The issue is specifically related to the CLI output format change, not the core functionality of Supabase itself. |
792d94e
to
f6e210c
Compare
🤖 Agent Deep Modeling ExecutionProcessing time: 4m 2s Command Output
RUN v3.2.4 /home/runner/work/liam/liam/frontend/internal-packages/agent (node:7630) ExperimentalWarning: WASI is an experimental feature and might change at any time ✅ [INFO] 2025-10-07T23:15:36.926Z ⏺ (pm): Checklist:
Business Requirements Document (BRD): Simple User Management System
Out of Scope (for now)
6.2 Authentication and Sessions
6.3 Authorization and Roles
6.4 User Management (Admin/Manager)
6.5 Password Management
6.6 Search and Reporting
6.7 Auditing
Constraints and Indexing
QA-Oriented Test Cases (SQL Operation Type indicates dominant DB action)
Purpose: save analyzed requirements as an artifact for DB/QA; inputs: goal summary and categorized SQL testcases. 🧠 Thinking (pm)... Structuring requirements for user management system I need to act as PM Agent to create BRD requirements for a simple user management system. There’s no need for web search since it’s a generic task. I’ll start with a checklist of about 3–7 bullets outlining what needs to be done. Then, I’ll review the user input and earlier conversations. My goal is to convert any ambiguous requests into clear, actionable requirements and structure them for the BRD. I'll save the requirements and confirm completion. Additionally, I need to prepare these for DB and QA Agents, including important elements like business objectives, roles and permissions, workflows, and potential API endpoints. Clarifying BRD structure for requirements I need to save requirements that specifically include only the 'goal' and 'testcases' object, but I'm unsure what the "specified BRD format" actually is. It seems like I should present a complete, production-ready BRD in the message first and then use the saveRequirementsToArtifactTool for just the goal and testcases. I'll also provide necessary assumptions and fields for user details like id, username, email, and authentication methods. Key features include user registration and login, permission management, and basic functionalities like audit logging and user listing. Outlining user management requirements I'm focusing on a simple user management system with just email and password for authentication, ensuring the password is hashed (like bcrypt). Security requirements will include uniqueness, a strong password policy, lockouts after failed attempts, and optional MFA. I should also consider data validations and retention policies similar to GDPR. The schema is currently empty, but I can propose relevant entities such as Users, Roles, and Audit Logs without detailed column types. For QA, I’ll categorize test cases into areas like User Registration, Authentication, and Security Controls. Defining test cases for user management I need to create test cases for each category, including positive ones like "Create new active user with unique email (success)" as an INSERT type. For negative scenarios, I'll include "Reject duplicate email on user creation" as another INSERT. A case like "Deactivate user prevents login" might be a SELECT, but it also includes an UPDATE beforehand. I should assign one type per test case, using the primary SQL operation to validate actions. I’ll aim to keep a reasonable number of test cases, covering both positive and negative outcomes. Also, I need to clearly state the purpose and minimal inputs before significant tool calls. Preparing user management test cases I need to prepare test cases for saving requirements, focusing on a structured approach. The purpose is to save the requirements artifact with inputs like the goal summary and test cases object, ensuring test cases are organized by categories. Since some categories will have test cases while others won’t, I’ll skip adding empty objects where they aren’t needed. The test cases will cover essential aspects such as user registration, authentication, password management, and security validations, while keeping it simple by not including MFA for now. I've planned various categories of proposed test cases to ensure thorough coverage. Let's finalize the list by excluding unnecessary complexities, like rate limiting, while maintaining crucial functionalities. Creating BRD for user management system I need to incorporate a test for session expiration after a maximum lifetime, as well as for automatic expiration due to inactivity. Next, I’ll create the BRD, clearly stating what is included and excluded from the scope, along with "KPIs & metrics." I must ensure there’s no user dialogue throughout this process. When ready to save, I’ll call the saveRequirements tool and include a single line stating the purpose and minimal inputs as required. Finally, I'll summarize the goal succinctly to complete the BRD. 🔧 saveRequirementsToArtifactTool(goal: "Design a simple u...", testcases: {10 keys}) ⎿ unknown: Requirements saved successfully to artifact 🧠 Thinking (db)... Planning the schema design I’m starting by outlining a planning checklist for the schema design operation. The first step is to clarify the operation's purpose and set minimal inputs before calling the tool. I’ll use the schema design tool to create various tables based on requirements, such as users, roles, user_roles, and permissions. It's essential to add comprehensive parts like indexes and constraints, ensuring unique and case-insensitive emails. I'll be careful with data types, specifying defaults and composing the operations array for validation afterward. Finally, I'll confirm the completion of the task. 🔧 schemaDesignTool() 🔧 saveTestcase() ⏺ (qa): { 🔧 saveTestcase() whose password is reset\n-- :p_token_id 🔧 saveTestcase() UUID of the ⏺ (qa): { ⏺ (qa): { 🔧 saveTestcase(): Initi SQL, weate will\n bind valuesSELECT password reset creates via WITH a single-use token clauses.\ withn\nWITH expiry\n params AS-- Assum (\n a.id ASptionsn SELECT\n audit_id:\n-- - There ,\ gen_randomn exists a_uuid() AS user a.action in,\ the user_idn a system for,.actor_id -- whom a password reset placeholder,;n is replaced requested ⏺ (qa): { ⏺ (qa): { 🔧 saveTestcase()n users u ON--\n 🔧 saveTestcase()3 ⏺ (qa): { 🔧 saveTestcase() 🔧 saveTestcase() Authentication\n Title: Prevent login for unverified user\n Type: SELECT\n\n Scenario:\n - A login attempt should be rejected if the user's email is not verified (is_verified = false).\n - This should attempt counter and clears lockout for a user 🔧 saveTestcase() 🔧 saveTestcase()_login_attempts to 0 ⏺ (qa): { 🔧 saveTestcase() ⏺ (qa): { ⏺ (qa): { ⏺ (qa): { ⏺ (qa): { 🔧 saveTestcase() 🔧 saveTestcase() ⏺ (qa): { 🔧 saveTestcase()text[] AS after_snapshot\nFROM (\n SELECT * FROM user_roles WHERE id IN (SELECT revoked_user_role_id FROM (\n -- The UPDATE's RETURNING provides the revoked row(s)\n UPDATE user_roles AT TIME ZONE 'UTC' AS timestamp,\n 'user' AS target_type,\n to_jsonb(u) - 'password_hash' AS after_snapshot,\n to_jsonb(r as_before) - 'password_hash' AS before_snapshot\nFROM (\n SELECT * FROM users WHERE 1) Create a read/write function that enforces that only a user with a role that has a specific permission can assign roles.\n-- 2) Create a simple row-level security policy on user_roles to deny UPDATE/INSERT unless current_user has a role with permission.\n-- 3) Demonstr.\n\nBEGIN;\n\n-- The test harness should bind these values. For a production-ready script, we expose them as parameters via DO or prepared statements in application code.\n\n-- 1) Revoke the matching active 🔧 saveTestcase() ⏺ (qa): { ⏺ (qa): { 🔧 saveTestcase() 'n\n New User v',_updatedRET_email -- full_name\n text := TRUE, 'updated.email --@example.com is_active\nURNS';\n now(), v_now -- timestampt created_at BOOLEAN\nz := now ();\ nown(), v_before -- updated_at_snapshot json\n\nb;\nLANG v_after FALSEUAGE plpgsql\nAS, $$ \n --DECLARE is_snapshot json\n _deleted v\n_hasb_perm FALSE;\n BOOLEAN :=, FALSE v;_targetnBEGIN\n -- -- Check if acting user_type has a is_verified\n role text that has NULL permission, 'roles --.assign' := via role_permissions 'user';\n \n locked_until -- This assumes a permission named\n 'roles NULL.assign' exists in permissions, -- table and role phone_permissions_number maps it to v_action text roles\n\n crypt SELECT := ' EXISTS (\usersn SELECT ('P@.update1';\n FROMss user_rolesw0\n ur\nrd!', JOIN role_permissions rp ON ur.role gen_s_id = rpalt('.role_id\nbf JOIN')), -- permissions p ON rp.permission_id = p.id\n WHERE password_hash ur.user_id (hash using = _acting_user_id bcrypt\n v_metadata json AND for realismb;\ p.name = ')\rolesn .assignn'\nBEGIN\n NULL --, Note -- AND ur.revoked_at IS NULL\n: In last ) INTO v_has a real test, v_target_perm_user;_idn RETURN_active_at v\n_has_perm;\ should reference n END0 --;\n an existing$$ user;\n. failed Here\n-- we demonstrate4_login the) Create a pattern._attempt check-like policyn for INSERTs\n --/UPDATE Step on2 user:_roles Capture before using the function\nCREATE POLICY_snapshot from users table assign_roles_on_user_roles ON public (simulate .user_roles )\ existing user state).\nFOR INSERT WITH If the CHECK user (\ does notn existn -- RETURN in test The,ING this row being inserted must have an id AS user_id\n will error.\n admin as SELECT assigned)_by ( to_jsonbat least not strictly(u enforced) ASn here),\ before_snapshot\n-- 3n ) -- and the acting user must Create be verification allowed\n INTO to assign roles. Since policies v_before_snapshot token do not have direct for the acting-user context\n,\n new user -- we ( simulate FROM withsingle the session users-use_user and u a, mapping with\n table or function expiry)\ that WHERE stores current u_usern.id =_id inINSERT v app via SET INTO SESSION verification_target._usern public_id;.fn_tokens_can (\n _assign_rolesn\n (current_setting('my.app.current --_user Step id,_id')::uuid)\ nn3:)\n TO token PUBLIC\n,;\ Build aftern usedn\nCREATE POLICY update_snapshot_roles reflecting_at_on_user,_roles ONn public an update. user.user_roles\nFOR_id,\ UPDATE USING We simulate (\n created the updated fieldsn_at,\ n public.fn expires._can_assign_roles(current_setting('n my_at\n v.app.current_after_snapshot_user) VALUES (_id')n gen := json::uuidb)_build_random_uuid_objectn)\n(\nWITH ' CHECKid(),',\n (\n v_target_user_id,\ gen_random public.fn_cann '_assign_roles_uuid()email(current', lower_setting::text, --(v('_updatedmy.app.current_user token is stored_email),_idn') '; in productionfull_name::uuid)\ this would be', a v hash;_updatedn_full_name using a);\n UUID\n,\n-- string5) for test ' Demonstrateis_active realism\n an', UPDATE that a (SELECT non-admin NULL,\ is would attempt_active FROMn ( users WHERE (update endSELECT user id_id FROM_user = v_id's ins_user roles or), -- reference_target_user revoke)\n-- For to new user test reproduction,\n now we simulate(),_id),\n\ now() + interval ' by attempting to24 hours revoke a rolen ' (set revoked'\n);\n\n-- 4) Optional: update_at) by a non-admin. This statement should fail under RLS policy.\password_hash', NULL\n search vector for the new user in user_search_vectors (if you strictly requiren\n-- Set a test context: simulate acting user as a non-admin (replace with an actual non-admin it to be populated)\nINSERT INTO user_search UUID present );_vectorsn (\ in\n test data)\nnSET user LOCAL "my.app_id,.current_usern updated_at,\n -- Step _id" search = (SELECT id_vector\n FROM public.users) VALUES (\ WHERE is_verifiedn (SELECT user 4:_id FROM = ins_user true AND),\n is Insert the audit_active = now(), true LIMIT 1);\n\n--\n to_tsvector('simple', coalesce log entry 6) Attempt to update a non-admin's role('New User assignment (should be blocked by policy describing the update). This', '') || ' UPDATE does ' || coalesce('new.user not revive any role; just marks revoked_at to test failure path.\nUPDATE public.user_roles@example.com', ''))\n)\nON CONFLICT (user_id) DO action\n INSERT INTO ur\nSET revoked_at = now()\nWHERE ur.user_id UPDATE SET updated_at = EXCLUDED.updated audit_logs = '00000000-_at,000 search0-_vector = EXCLUDED0000.search-0000 (action-,_vector;\000000n000001\n' -- sample-- 5) user id Audit log\n AND ur.rev (optional, actor_id to demonstrate integrityoked_at of operations)\n ISINSERT NULL INTO;\n\n--, If the audit_logs (\ metadata, target_idn action,\n actor policy blocks this, Postgre, timestamp,_id,\ target_typeSQL will raise a permission error, after_snapshotn metadata,\n when this UPDATE, target_id before_snapshot)\n is executed ,\ undern a non-admin timestamp session.,\nn VALUES (\nn vCOMMIT ;\n" ❌ Test Case: Login succeeds for active, verified user with correct passwordError:
|
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
Tell me why the test failed?
|
Claude finished @sasamuku's task —— View job Test Failure Analysis ✅I'll analyze the test failures to understand why they're occurring. Tasks:
Root Cause AnalysisThe test failures are NOT related to the Supabase CLI version update from 2.40.6 to 2.45.4. This is a test environment configuration issue. What's HappeningThe error Key Findings
Why This Isn't Related to CLI Update
SolutionThe test failure indicates that the CI environment needs proper Supabase configuration:
This is an environment configuration issue, not a code issue introduced by the dependency update. |
…rmat - Modify extract-supabase-anon-key.sh and extract-supabase-service-key.sh to use the `-o env` option for the supabase status command. - Update grep patterns to match the new output format for extracting ANON_KEY and SERVICE_ROLE_KEY. - Clean up extraction logic to remove unnecessary prefixes and handle quotes correctly.
0480f4c
to
b1d549c
Compare
757b224
to
782cee2
Compare
Note
Mend has cancelled the proposed renaming of the Renovate GitHub app being renamed to
mend[bot]
.This notice will be removed on 2025-10-07.
This PR contains the following updates:
2.40.6
->2.45.4
Release Notes
supabase/cli (supabase)
v2.45.4
Compare Source
Changelog
Bug fixes
ff3f7c5
: fix: generate keys when auth is disabled (@sweatybridge)99b41c9
: fix: generate keys when auth is disabled (#4189) (@sweatybridge)v2.45.3
Compare Source
Changelog
Bug fixes
0fb0db8
: fix: show whether a branch is created with data (#4184) (@sweatybridge)Others
8371b50
: chore(deps): bump tar from 7.4.3 to 7.4.4 in the npm-minor group (#4187) (@dependabot[bot])3281889
: chore(deps): bump the docker-minor group across 1 directory with 4 updates (#4188) (@dependabot[bot])v2.45.2
Compare Source
Changelog
Bug fixes
bba88fd
: fix: show created and updated branch info (@sweatybridge)2d573b5
: fix: handle output flag in all commands (#4174) (@sweatybridge)Others
ba3a17a
: chore(deps): bump github.com/charmbracelet/bubbletea from 1.3.9 to 1.3.10 in the go-minor group across 1 directory (#4176) (@dependabot[bot])v2.45.1
Compare Source
Changelog
Bug fixes
6540bef
: fix: consistent exp url as cloud version (#4172) (@fenos)v2.45.0
Compare Source
Changelog
Features
ccec464
: feat: support publishable and secret key locally (@sweatybridge)Others
799f201
: chore(deps): bump github.com/getsentry/sentry-go from 0.35.2 to 0.35.3 in the go-minor group across 1 directory (#4166) (@dependabot[bot])896062d
: chore(deps): bump the docker-minor group in /pkg/config/templates with 2 updates (#4165) (@dependabot[bot])a6dcf97
: chore(deps): bump supabase/postgres from 17.6.1.004 to 17.6.1.005 in /pkg/config/templates (#4171) (@dependabot[bot])10afbe7
: chore(deps): bump the docker-minor group in /pkg/config/templates with 3 updates (#4169) (@dependabot[bot])dc613c6
: chore: deprecate inbucket url for mailpit (@sweatybridge)d1f473e
: chore: move apikey constants to one place (@sweatybridge)v2.44.0
Compare Source
Changelog
Features
e341bb9
: feat: support generating JWT auth token (#4159) (@sweatybridge)v2.43.1
Compare Source
Changelog
Bug fixes
7658f46
: fix: enforce empty array on request body (#4162) (@sweatybridge)Others
ae087ca
: chore(deps): bump the docker-minor group in /pkg/config/templates with 3 updates (#4156) (@dependabot[bot])f96fe90
: chore: sync API types from infrastructure (#4161) (@kiwicopple)v2.43.0
Compare Source
Changelog
Features
d8c3399
: feat: support self signed TLS certs (#4160) (@sweatybridge)Others
b8429ba
: chore(deps): bump supabase/postgres from 17.6.1.003 to 17.6.1.004 in /pkg/config/templates (#4158) (@dependabot[bot])v2.42.0
Compare Source
Changelog
Features
44d3a08
: feat: add support for enabling ethereum provider (#4153) (@hf)v2.41.4
Compare Source
Changelog
Bug fixes
2b4de13
: fix: pull changes from managed schemas separately (#4155) (@sweatybridge)v2.41.3
Compare Source
Changelog
Bug fixes
b31887a
: fix: pass down config object instead of pg url (@sweatybridge)4e1fe15
: fix: handle managed schemas when using flag (@sweatybridge)Others
baeae47
: chore(deps): bump the go-minor group across 2 directories with 2 updates (#4150) (@dependabot[bot])3f4e652
: chore(deps): bump github.com/charmbracelet/bubbletea from 1.3.8 to 1.3.9 in the go-minor group across 1 directory (#4152) (@dependabot[bot])d30de40
: chore: sync API types from infrastructure (#4147) (@kiwicopple)42bff4f
: chore(deps): bump the docker-minor group across 1 directory with 2 updates (#4151) (@dependabot[bot])v2.41.2
Compare Source
Changelog
Bug fixes
48a39be
: fix: remove psql meta commands from dump (#4145) (@sweatybridge)Others
1059f3b
: chore(deps): bump golang.org/x/net from 0.43.0 to 0.44.0 in the go-minor group across 1 directory (#4144) (@dependabot[bot])v2.41.1
Compare Source
Changelog
Bug fixes
d0c23a6
: fix: confirm cost before enabling paid mfa addons (#4076) (@sweatybridge)v2.41.0
Compare Source
Changelog
Features
3e08d1d
: feat: use branch ref in all commands (#4140) (@sweatybridge)Others
6e064ef
: chore(deps): bump the docker-minor group in /pkg/config/templates with 3 updates (#4135) (@dependabot[bot])dcccce7
: chore(deps): bump supabase/postgres from 17.6.1.002 to 17.6.1.003 in /pkg/config/templates (#4137) (@dependabot[bot])19ed473
: chore(deps): bump the go-minor group across 2 directories with 3 updates (#4138) (@dependabot[bot])v2.40.7
Compare Source
Changelog
Bug fixes
03b9ebd
: fix: check pooler domain belongs to current profile (#4133) (@sweatybridge)Others
7ef0789
: chore(deps): bump supabase/postgres from 17.6.1.000 to 17.6.1.002 in /pkg/config/templates (#4124) (@dependabot[bot])bfb5b3d
: chore(deps): bump the go-minor group across 2 directories with 4 updates (#4131) (@dependabot[bot])fb8b08a
: chore(deps): bump the docker-minor group across 1 directory with 4 updates (#4130) (@dependabot[bot])c605a3c
: chore(deps): bump actions/setup-go from 5 to 6 (#4122) (@dependabot[bot])Configuration
📅 Schedule: Branch creation - Only on Sunday and Saturday ( * * * * 0,6 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.