-
Notifications
You must be signed in to change notification settings - Fork 188
fix(deps): update dependency @supabase/supabase-js to v2.76.1 #3967
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
|
Finished running flow.
|
||||||||||||
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the Comment |
Check changeset necessityStatus: NOT REQUIRED Reason:
Changeset (copy & paste):# No changeset required for this PR. |
🤖 Agent Deep Modeling ExecutionProcessing time: 5m 57s View DetailsCommand Output
RUN v3.2.4 /home/runner/work/liam/liam/frontend/internal-packages/agent (node:7898) ExperimentalWarning: WASI is an experimental feature and might change at any time ✅ [INFO] 2025-11-04T08:45:45.114Z 🧠 Thinking (pm)... Structuring the BRD I’m noticing the tool format differs from the BRD as it isn't clearly defined. I think we should create an organized BRD that includes sections like Overview, Scope, and Actors & Roles. Also, Data Model Requirements and Functional Requirements are key. Now, for saving, I imagine we'll generate "goal" and "test cases." It seems we need explicit fields for user data like unique email and optional username, plus we define login via email and password. I should also include roles and CRUD operations, along with password security measures and audit logs. Defining Constraints and Test Cases I’m thinking about the constraints we need, like requiring a unique email and setting a password policy. There should also be role constraints. For non-functional requirements, I want to keep it minimal, focusing on performance and security. Next, I need to outline test cases in categories. For User Registration, I’ll include creating a new user with a unique email, preventing duplicate email registration, and ensuring failure when required fields are missing. For Authentication, I’ll check for successful login with correct credentials. Should I categorize it as SELECT or UPDATE? Detailing Authentication and Management Features For authentication, I’ll handle it with SELECT operations, marking failed logins with UPDATE to increment failed attempts. When there are too many failures, accounts will lock, also noted with UPDATE, and login will be blocked for locked accounts, which I’ll categorize as SELECT. Next, email verification will generate a token on signup and requires valid token verification to mark emails as verified. For role management, I’ll implement assigning roles, ensuring no duplicates, changing roles, and preventing admins from deleting their last admin role. I see profile updates needing handling for existing emails, and password management will involve changing passwords, creating tokens, and validating them. User administration will let admins create users with temporary passwords, deactivate accounts, and reactivate soft-deleted users. Lastly, I'll ensure audit logs are generated for changes and that unique emails are enforced. Clarifying Security and Test Cases I'm thinking about how we ensure passwords are hashed, which isn't directly testable through SQL. However, we can confirm that the password_hash column isn't null and isn't the same as the plaintext. For security, blocking SQL injection attempts might be out of scope for database QA, so I'll steer clear of implementation details. The BRD should focus on actionable items for database design, like specifying entities, attributes, and relationships, along with role names and assumptions. By the end, I need to create a process to analyze requirements, developing around 40 test cases, covering both positive and negative scenarios, and providing a concise checklist of tasks. Drafting the BRD and Test Cases I’m planning to outline a BRD that includes five key points: clarify scope and actors, define data model entities and constraints, and outline functional and non-functional requirements, plus acceptance test cases before saving. I must avoid including web search details. The BRD will cover the overview, in-scope and out-of-scope items, and roles like Admin and User. I'll also specify user journeys along with grouped functional requirements. The data model will detail entities like users and roles, while maintaining simplicity in the structure. I’ll note attributes and constraints, alongside business rules and validation. For test cases, I’m aiming for around 30-40 comprehensive scenarios that align with database operations, ensuring we cover registrations, authentication, role management, password resets, and audit tracking. I’ll include boundary considerations like token expiration and the necessity of email verification. For best practices, I’ll define policies for password complexity and email uniqueness, while also ensuring data privacy through soft deletes. After crafting the requirements and test cases, I’ll confirm the process is completed successfully before saving. ⏺ (pm): Planned approach:
Business Requirements Document (BRD)
5.2 Authentication and Lockout
5.3 Password Management
5.4 Profile Management
5.5 Roles and Authorization
5.6 User Administration
5.7 Audit Logging
6.2 Derived/Behavioral Rules
Proceeding to save the analyzed requirements as test cases for DB and QA. 🔧 processAnalyzedRequirementsTool() ⎿ processAnalyzedRequirementsTool: Requirements processed and streamed successfully 🧠 Thinking (db)... Designing database tables I need to create tables using a migration tool and ensure I clarify their purpose and minimal inputs before making the call. I’m planning to design tables for users, email verification tokens, password reset tokens, roles, user roles, and audit logs. I'll include indexes, constraints, and comments for clarity. I also want to normalize email addresses, track login attempts, and manage soft deletes with a boolean flag or timestamp. I have to consider how to manage unique constraints effectively too. Establishing token uniqueness I need to ensure that only one active token is allowed per user at any given time. To achieve this, I can add a unique index on (user_id, kind) while invalidating old tokens upon new creation. Alternatively, I could use a 'check' constraint to manage this. It's important to discuss using a unique index on (user_id, kind, is_active) to enforce this, although expressing it might be tricky. I need to keep the business rules clear in comments. I'll also add a normalized email column and necessary fields for tables and constraints. Let's get the migration started! ⏺ (db): Purpose: Create base tables for user management (users, roles, user_roles, email_verification_tokens, password_reset_tokens, audit_logs) with columns, PKs, FKs, indexes, and descriptive comments. Minimal inputs: table definitions (name, columns, constraints, indexes) for each table. Now applying migration to add these tables. 🔧 createMigrationTool() ⎿ createMigrationTool: Schema successfully updated. The operations have been applied to the database schema, DDL validation successful (84/84 statements executed successfully), and new version created. ⏺ (db): Operation: Added users, roles, user_roles, email_verification_tokens, password_reset_tokens, and audit_logs tables with columns, PKs, FKs, and indexes. Minimal inputs: table definitions with columns, constraints, and indexes. Validation: Migration applied successfully; DDL validated (all statements executed). Confirmation: The schema now contains the tables and constraints needed to implement the requested user management features (unique normalized email, hashed single-use tokens, role assignments, audit logs, lockout fields, soft-delete flag, and timestamps). 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() ⎿ saveTestcase: Successfully saved SQL for test case "Successful login resets failed_attempts and updates last_login_at" in category "Authentication & Lockout" ⎿ saveTestcase: Successfully saved SQL for test case "Enforce unique index on normalized (lowercased, trimmed) email" in category "Data Integrity & Constraints" ⎿ saveTestcase: Successfully saved SQL for test case "Prevent authentication for users with email_verified_at null" in category "Data Integrity & Constraints" ⎿ saveTestcase: Successfully saved SQL for test case "User updates profile fields (first name, last name, display name) successfully" in category "Profile Management" ⎿ saveTestcase: Successfully saved SQL for test case "Admin reactivates a previously deactivated user" in category "User Administration" ⎿ saveTestcase: Successfully saved SQL for test case "Verify email with a valid, unexpired token marks user as verified" in category "Registration & Email Verification" ⎿ saveTestcase: Successfully saved SQL for test case "Account locks for 15 minutes after 5 consecutive failed logins" in category "Authentication & Lockout" ⎿ saveTestcase: Successfully saved SQL for test case "Locked account cannot authenticate until lock expires" in category "Authentication & Lockout" ⎿ saveTestcase: Successfully saved SQL for test case "Creating a user writes an audit log entry" in category "Audit Logging" ⎿ saveTestcase: Successfully saved SQL for test case "Successful login with correct credentials for verified and active user" in category "Authentication & Lockout" 🔧 saveTestcase() ⎿ saveTestcase: Successfully saved SQL for test case "Assign ADMIN role to a user" in category "Roles & Authorization" ⎿ saveTestcase: SQL syntax error: syntax error at or near "email_verification_tokens". Fix the SQL and retry. ⎿ saveTestcase: Successfully saved SQL for test case "Admin retrieves audit trail for a specific user" in category "Audit Logging" ⎿ saveTestcase: Successfully saved SQL for test case "Requesting a password reset creates a single-use token (rate limit not exceeded)" in category "Password Management" ⎿ saveTestcase: Successfully saved SQL for test case "Remove a role from a user" in category "Roles & Authorization" ⎿ saveTestcase: Successfully saved SQL for test case "Inactive (soft-deleted/deactivated) user cannot authenticate" in category "Authentication & Lockout" ⎿ saveTestcase: Successfully saved SQL for test case "Admin views a single user's details and roles" in category "User Administration" ⎿ saveTestcase: Successfully saved SQL for test case "Reject password reset with expired or invalid token" in category "Password Management" ⎿ saveTestcase: Successfully saved SQL for test case "Failed login increments failed_attempts counter" in category "Authentication & Lockout" ⎿ saveTestcase: Successfully saved SQL for test case "Login success and failure events are logged at a high level" in category "Audit Logging" ⎿ saveTestcase: Successfully saved SQL for test case "Enforce max 5 reset requests per user per 24 hours" in category "Password Management" ⎿ saveTestcase: SQL syntax error: syntax error at or near "DECLARE". Fix the SQL and retry. ⎿ saveTestcase: Successfully saved SQL for test case "Admin views user list filtered by role, status, and verification state" in category "User Administration" ⎿ saveTestcase: Successfully saved SQL for test case "Password change writes an audit log entry without storing secrets" in category "Audit Logging" ⎿ saveTestcase: Successfully saved SQL for test case "Ensure tokens are stored hashed and not retrievable in plaintext" in category "Data Integrity & Constraints" ⎿ saveTestcase: Successfully saved SQL for test case "Prevent removing the last ADMIN role from the last active admin" in category "Roles & Authorization" ⎿ saveTestcase: Successfully saved SQL for test case "Assigning or removing a role writes an audit log entry" in category "Audit Logging" ⎿ saveTestcase: Successfully saved SQL for test case "Prevent an admin from deactivating their own account if they are the only active admin" in category "User Administration" 🔧 saveTestcase() ⎿ saveTestcase: Successfully saved SQL for test case "User changes password with correct current password and compliant new password" in category "Password Management" 🔧 saveTestcase() ⎿ saveTestcase: Successfully saved SQL for test case "Prevent duplicate role assignment to the same user" in category "Roles & Authorization"stderr | src/createGraph.integration.test.ts > createGraph Integration > should execute complete workflow Context: trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=db333b7e-3f0a-4ddc-9d2e-065d399ae3e0; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=1d13bd8c-8fdb-4583-8e90-f0e870702453; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=5ce3b4fa-e65c-44e7-8143-4078b275ddac; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=dcb966d4-0910-4630-b30b-579d2728aced; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=4c80907f-78cd-469e-aefa-49a5fc65e254; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=6412ea84-1836-42ab-b503-74e5a237f07a; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=488b525d-9937-47b4-9045-383ee38656b0; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=18c8efe3-9824-4db3-9cd2-99fb5e66d601; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=982a584f-ba8a-4598-84aa-21178fadd458; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=ae960268-4cde-48a2-aa7f-2b648eb0b857; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=ffd4dcc8-ed8f-441c-870a-b22170baf0ca; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=0707aead-88f2-404a-8f48-3638224fbd7a; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=a0c6431b-42a4-4e1b-b67b-88a362cf9d93; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=c9a39a8a-9859-4eac-a04c-387a4057182b; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=60509fb2-b5e9-4de4-8a0a-55cfc5b486c0; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=b4948959-64fb-468d-9272-034033b914f0; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=57eec5c4-5a00-4ea0-81e1-47dcb9624adc; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=527afaaa-2226-4293-8f1a-1989510052b8; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=cf1e37e2-1155-4e06-8abe-2e8c1d0390c0; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=2eb95406-0429-4474-931f-0b227796f8a9; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=42088df9-a6a0-4c54-94f2-0ac3ee4dfc89; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=ab8c0492-6743-49fe-b674-f5c7e97c9804; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=8b1e2a1c-7bbf-4766-a613-67841d4eb1ce; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=fbf41538-f9b1-42ed-9d69-7cc0bbf5df6d; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=d28e729e-3596-405d-88af-da82c87e9b1a; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=ec5ab773-dc70-476e-8cd2-7f6a5089a780; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=25a6f7af-b226-4dc8-be96-f7b7842998d4; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=67ea39c4-118f-4ad1-84b1-ff13518fefe7; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=e74df8f9-e22e-4709-8433-7c59abd50580; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=897161d2-bfe7-468b-8d31-e89794fc01d0; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=67892a6d-d347-45ac-b6d1-5b693b6ac5bd; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=a3991397-b1ae-41e5-8461-2650c64f7f52; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=fe3b9bf9-f5ce-4a5c-8ae7-b6634acd8e17; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=5270a311-8899-4a81-8ac8-719626e4d4c7; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=1de85ec0-2653-4087-8954-d0a7c8012b8a; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=fb0d3c6c-33a9-4be1-a9d2-65a8945ee809; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=45041aad-b388-45b5-9b0c-08a5da026e0b; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=17845dd2-c7e1-41c6-b8cc-70d6a5f12c09; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=f418e913-1214-4897-87a1-bf8da1a4b8de; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=1ec3d213-4687-4fba-b342-e4cef487d97d; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=00482337-2a3f-412a-8bf5-88d97e3f07f7; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=a7f9374a-d50e-4f9b-9d8d-c81f36ae8303; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=895272b4-9381-49a3-8089-01ecb84a60a0; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=318a2020-cc73-4de4-ac72-17e9954419ae; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=5f287055-f408-4f13-b32f-e4133e875a7f; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=b3f7165e-0700-4229-9bc0-35c73eea6981; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=ad9c705e-5bdd-4381-af01-a2dbfb8e5f45; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=503b8878-4ce6-4478-a605-cfdcdef036ea; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=27695b1f-eeca-4ebd-98cb-4d4cb44a84dc; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=4dfb1c0c-193b-4761-b015-3112c2bfbd12; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=b7dcf054-db55-4296-9019-90976d318ee0; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=43b3f9dc-e3db-4e9d-8f26-a0e37b1cfbd9; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=cf78e243-8284-4360-b11b-c1d60c4304d8; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=7753e72f-f330-4f42-8a70-1d2928c902f0; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=7a45cd7c-190d-482e-86e9-2f2ca91d8369; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=ab13e137-0e3b-4c22-b64f-2a962633068e; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=3d942d3e-060c-49cd-a4e4-672c944f8a75; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=52db7b31-048b-4238-a3f0-9cf974710524; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=e8ca4592-58bf-4108-95cc-5af80573e50b; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=dbbb294a-ff5f-4c3d-bc26-063737f5b3e6; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=865f96e6-896f-4b6b-8e76-672697253a40; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=043678e2-535e-4f33-b29b-15eeff5b2e3f; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=ea76fd90-4d81-4ed9-82f7-5c6dd6974d66; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=753e9b7a-ca3f-4e76-af5b-cfc9cd19f0c5; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=0a5d637c-246a-4beb-8a6b-25494cc57362; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=d056c145-530b-4953-a06c-789a63645f62; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=1921c4a7-b07b-4e02-8741-b449f3db991f; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=1b4e949a-8301-4990-9cf4-f325b09fa868; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=9d7ecb5f-c5ec-410b-a16f-0d81f1a6cd3d; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=bbdadc51-2d0d-4766-94c0-0bed5157baf4; trace=6e1ed375-33a8-4984-a968-936a5146cddb,id=6e2a60f6-923c-4c91-b143-964ef00cef24 🔧 saveTestcase() ⎿ saveTestcase: Successfully saved SQL for test case "Change email to a new unique email requires re-verification and clears verified flag" in category "Profile Management" 🔧 saveTestcase() 🔧 saveTestcase() ⎿ saveTestcase: Successfully saved SQL for test case "Reject password change when current password is incorrect" in category "Password Management" ⎿ saveTestcase: Successfully saved SQL for test case "Reset password with valid, unexpired token succeeds and invalidates tokens" in category "Password Management" 🔧 saveTestcase() ⎿ saveTestcase: SQL syntax error: unterminated dollar-quoted string at or near "$$;". Fix the SQL and retry. 🔧 saveTestcase() ⎿ saveTestcase: Successfully saved SQL for test case "Resend verification invalidates prior pending token for the same user" in category "Registration & Email Verification" 🔧 saveTestcase() 🔧 saveTestcase() ⎿ saveTestcase: Successfully saved SQL for test case "Admin creates a user with temporary password and assigned roles" in category "User Administration" 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() 🔧 saveTestcase() ⎿ saveTestcase: Successfully saved SQL for test case "Reject email change to an email already in use (case-insensitive)" in category "Profile Management" ⎿ saveTestcase: Successfully saved SQL for test case "Reject registration when email already exists (case-insensitive)" in category "Registration & Email Verification" ⎿ saveTestcase: Successfully saved SQL for test case "Only one active password reset token per user at a time (or invalidate older on create)" in category "Data Integrity & Constraints" ⎿ saveTestcase: Successfully saved SQL for test case "Create a new user with unique email succeeds and generates a verification token" in category "Registration & Email Verification" ⎿ saveTestcase: Successfully saved SQL for test case "Reject registration when required fields are missing (email or password)" in category "Registration & Email Verification" ⎿ saveTestcase: Successfully saved SQL for test case "Reject email verification with expired or already-used token" in category "Registration & Email Verification" ⎿ saveTestcase: Successfully saved SQL for test case "Admin deactivates (soft-deletes) a user; user cannot authenticate" in category "User Administration" ⎿ saveTestcase: Successfully saved SQL for test case "Cascade delete user_roles when a user is deactivated/soft-deleted is handled via business rule; ensure role rows remain intact" in category "Data Integrity & Constraints" ⎿ runTestTool: 25/42 test cases passed, 17 failed ❌ Test Case: Successful login with correct credentials for verified and active userError:
|
436781c to
2a27c2e
Compare
2a27c2e to
5f63da6
Compare
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update ( If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
This PR contains the following updates:
2.75.0->2.76.1Release Notes
supabase/supabase-js (@supabase/supabase-js)
v2.76.1Compare Source
This was a version bump only for @supabase/supabase-js to align it with other projects, there were no code changes.
v2.76.0Compare Source
🚀 Features
🩹 Fixes
❤️ Thank You
v2.75.1Compare Source
This was a version bump only for @supabase/supabase-js to align it with other projects, there were no code changes.
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.