fix: stabilize guided import branch#727
Conversation
There was a problem hiding this comment.
💡 Codex Review
Renaming this migration (and the sibling 0010/0011 renames in this diff) breaks the migration contract: apps/api/cmd/migrate records applied migrations by filename, and packages/proto/migrations/README.md explicitly says not to rename migrations that may have been applied. On any database that already has 0010_customer_requests_gong.sql recorded, 0012_customer_requests_gong.sql is treated as unapplied and executed again, leaving divergent migration history; keep historical filenames and adjust the guard with an explicit exception/alias instead.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const canAct = | ||
| props.integration.actions.canConnect || | ||
| props.integration.actions.canReconnect || | ||
| props.integration.status === "configuration_required" || | ||
| props.integration.status === "not_connected"; |
There was a problem hiding this comment.
Gate setup forms on server-provided actions
For non-admin/non-owner users, integrationActions returns canConnect/canReconnect false even though uninstalled providers still have status: "not_connected". Because canAct also trusts status, the catalog now renders GitLab/Jira/Front/Zendesk credential forms and enabled setup buttons to users who cannot manage integrations; submitting only fails with a 403 after they enter secrets. Gate these forms on the server-provided action flags rather than status alone.
Useful? React with 👍 / 👎.
| <SetupButton | ||
| disabled={props.pendingProvider === "google_sheets"} |
There was a problem hiding this comment.
Disable Google Sheets creation with no export scopes
The previous catalog button was disabled when issues, projects, and initiatives were all unchecked, matching GoogleSheetsConnect's hasGoogleSheetsScope validation. This new button stays enabled with all three scopes false, so the UI sends a request that the API rejects with “Select at least one Google Sheets export scope” instead of preventing the invalid flow; keep the prior all-scopes-empty disabled condition here.
Useful? React with 👍 / 👎.
|
Controller disposition for current head Current blockers:
Required before merge: rebuild/rebase on current |
|
Controller validation: blocked. This PR currently conflicts with |
Summary
Verification