GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — feat(credentials): add v2 credential lifecycle APIs by TheodoreSpeaks · Pull Request #6664 · simstudioai/sim Conversation
|
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
PR SummaryHigh Risk Overview OAuth browser entrypoints no longer trust mutable connect parameters alone. Legacy Docs and agent commands gain a “freeze observable behavior” section plus extra test categories (compatibility, failure sequencing, concurrency, rendering boundaries) for application-operation migrations. Reviewed by Cursor Bugbot for commit 4430cd5. Bugbot is set up for automated code reviews on this repo. Configure here. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Greptile SummaryThe PR adds the complete v2 credential lifecycle, consolidates authorization and credential operations behind shared application use cases, and hardens OAuth draft handling. The follow-up fixes preserve immutable connection intents, bind Shopify completion to signed per-flow state, and source reconnect audit names from canonical credential records.
Confidence Score: 5/5The PR appears safe to merge because no blocking failure remains in the previously reported credential-draft, OAuth-flow, or reconnect-audit paths. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| apps/sim/lib/credentials/connect-draft.ts | Conflict refreshes preserve the active draft ID and immutable target while permitting credential-ID-based reconnect retries after renames. |
| apps/sim/lib/credentials/application/save-credential-draft.ts | Legacy draft creation now follows the same immutable-intent semantics as the v2 connection path. |
| apps/sim/lib/credentials/draft-hooks.ts | Reconnect audit projection reads the current credential display name from the canonical credential record. |
| apps/sim/app/api/auth/oauth2/authorize/route.ts | OAuth launch validates provider configuration and carries the exact authorized draft through the callback URL. |
| apps/sim/lib/oauth/shopify-state.ts | Shopify state cryptographically binds the user, shop, draft, return destination, nonce, and expiry. |
| apps/sim/app/api/v2/credentials/connections/route.ts | The v2 endpoint creates authorized, human-bound OAuth connection intents and returns the browser authorization URL. |
| apps/sim/app/api/v2/credentials/route.ts | The v2 credentials collection route provides authorized listing and service-account creation through shared contracts and use cases. |
| apps/sim/app/api/v2/credentials/[credentialId]/route.ts | Credential deletion uses the shared authorized lifecycle and presents the standard v2 response envelope. |
sequenceDiagram
participant Client
participant V2 as V2 Credentials API
participant Drafts as Credential Draft Store
participant Browser as Authenticated Browser
participant Provider as OAuth Provider
participant Callback as OAuth Callback
participant Credentials as Credential Application Use Case
Client->>V2: POST /credentials/connections
V2->>Credentials: Authorize connection operation
Credentials->>Drafts: Create or refresh immutable intent
Drafts-->>V2: draftId and expiry
V2-->>Client: authorizationUrl
Client->>Browser: Open authorizationUrl
Browser->>Drafts: Reauthorize exact user-bound draft
Browser->>Provider: Start OAuth with per-flow state
Provider->>Callback: Authorization callback
Callback->>Drafts: Load exact active draft
Callback->>Credentials: Create or reconnect credential
Credentials-->>Browser: Redirect to credential-connected
Reviews (21): Last reviewed commit: "fix(credentials): prevent stale secrets ..." | Re-trigger Greptile
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@cursor review |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@cursor review |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit e4b09dc. Configure here.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@cursor review |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@cursor review |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 7fcf26f. Configure here.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@cursor review |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit ae46594. Configure here.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…-api # Conflicts: # scripts/check-api-validation-contracts.ts
…-api # Conflicts: # apps/sim/app/api/credentials/route.ts # apps/sim/lib/credentials/queries.ts
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@cursor review |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit b413183. Configure here.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…-api # Conflicts: # apps/sim/app/api/credentials/[id]/members/route.ts # apps/sim/app/api/credentials/[id]/route.ts # apps/sim/app/api/credentials/draft/route.ts # apps/sim/app/api/credentials/memberships/route.ts # apps/sim/app/api/credentials/route.ts # apps/sim/lib/credentials/application/authorization.ts # apps/sim/lib/credentials/orchestration/index.ts # scripts/check-api-validation-contracts.ts
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@cursor review |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@cursor review |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 4430cd5. Configure here.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
4430cd53
Deployed
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.