fix: complete Zendesk ticket issue linking#721
Conversation
- Replace dynamic SQL string concatenation in resolveZendeskInstall with two separate static QueryRow calls (one for integrationID path, one for subdomain path) to eliminate SQL injection risk from Go string concat - Restore early-return guard in queueSentryAutomations when links slice is empty so the workflow_state category query no longer runs on every issue state-change with no Sentry/Zendesk links - Change ZendeskTicketCreate error response from 400 to 500 for internal server failures (DB errors, missing workflow state); 400 is reserved for input validation failures - Assign getZendeskSourceLink(event) to a const in issue-detail-view.tsx to avoid calling the function twice in the same render Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…sk-create-link-issues-from # Conflicts: # apps/api/internal/integrations/handler.go # apps/api/internal/issues/sentry_sources.go # apps/web/src/app/(app)/settings/integrations/page.tsx
|
Controller disposition for current head Evidence:
Required path:
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7fec8b755a
ℹ️ 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".
| {integration.provider === "zendesk" && | ||
| (integration.actions.canConnect || | ||
| integration.actions.canReconnect) ? ( |
There was a problem hiding this comment.
Allow first-time Zendesk setup to render
For a workspace that has never connected Zendesk, the API still returns a setupRequirement for zendesk in setupRequirement, so integrationActions sets canConnect to false and the integration is reported as configuration_required. Because this new form is gated on canConnect || canReconnect, the catalog only shows “Zendesk setup is not configured...” and there is no way to open the setup form or call /api/integrations/zendesk/setup from the UI; this also contradicts the added TestZendeskSetupRequirementAndSubdomain expectation.
Useful? React with 👍 / 👎.
Summary
Verification
Blocked: make check fails in web typecheck because legacy Better Auth/Drizzle modules are referenced but not present; make test/api tests cannot run because go is not installed in this lane.