Skip to content

[comp] Production Deploy#2492

Merged
tofikwest merged 6 commits intoreleasefrom
main
Apr 9, 2026
Merged

[comp] Production Deploy#2492
tofikwest merged 6 commits intoreleasefrom
main

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot commented Apr 9, 2026

This is an automated pull request to release the candidate branch into production, which will trigger a deployment.
It was created by the [Production PR] action.

github-actions bot and others added 3 commits April 7, 2026 20:13
…ring down the whole connection

Lets users disconnect a single integration check (e.g. GitHub branch protection)
from one evidence task while keeping the integration connected for every other
task that uses it. Previously users had to fully disconnect the integration and
reconnect with a subset of checks, which was slow and destructive.

Disable state lives under `IntegrationConnection.metadata.disabledTaskChecks` —
no new table, no migration. Works uniformly for static manifest-based and
dynamic integrations since both share the same connection pipeline.

- Per-task disable helpers with defensive merges (no mutation of inputs)
- `TaskIntegrationChecksService` handles enable/disable with org scoping
- New endpoints: POST `/v1/integrations/tasks/:taskId/checks/{disconnect,reconnect}`
- `runCheckForTask` returns 400 when invoked for a disabled (task, check) pair
- Daily orchestrator and per-task worker both filter disabled checks out of
  the run list (orchestrator primary, worker defensive for race conditions)
- Task detail UI: per-check disconnect button with confirm dialog, new
  "Disconnected from this task" section with reconnect buttons
- SWR hook exposes optimistic `disconnectCheckFromTask` / `reconnectCheckToTask`
  with rollback on error

Tests: 32 new API unit tests + 4 frontend hook tests covering success,
idempotency, org scoping, unknown checks, and optimistic rollback.
…rtal

CS-236 Trust Portal does not persist SOC2 Type2 removal
@cursor
Copy link
Copy Markdown

cursor bot commented Apr 9, 2026

PR Summary

Medium Risk
Adds per-task disable state for integration checks and changes both manual and scheduled check execution to honor that state, which can alter automation outcomes and task status updates. Risk is moderate due to new metadata writes and additional API/UI flows, but changes are scoped and covered by unit tests.

Overview
Adds per-task disconnect/reconnect for integration checks by storing a disabledTaskChecks map on IntegrationConnection.metadata.

The API now returns isDisabledForTask on task check listings, blocks manual run-check for disabled checks, and exposes new endpoints to POST .../checks/disconnect and .../checks/reconnect (implemented via the new TaskIntegrationChecksService).

Scheduled automation is updated to skip disabled checks both when batching tasks and again defensively at execution time. The task UI adds controls and confirmation flow to disconnect/reconnect checks, with SWR optimistic updates and tests.

Also fixes trust portal framework updates by ensuring soc2 is handled in the backend mapping and turning off SOC2 when SOC2 Type 2 is disabled.

Reviewed by Cursor Bugbot for commit 132aa95. Bugbot is set up for automated code reviews on this repo. Configure here.

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 9, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
app (staging) Ready Ready Preview, Comment Apr 9, 2026 7:00pm
comp-framework-editor Ready Ready Preview, Comment Apr 9, 2026 7:00pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
portal (staging) Skipped Skipped Apr 9, 2026 7:00pm

Request Review

tofikwest and others added 3 commits April 9, 2026 14:18
…ect PR

1. Keep the disconnect confirmation dialog open during the async request so
   the "Disconnecting…" state is visible and any API error is surfaced in
   the dialog context. Radix's AlertDialogAction auto-closes on click, which
   was firing before handleConfirmDisconnect awaited — users never saw the
   loading state, and failures rendered on the main page behind the backdrop.
   Fix: e.preventDefault() in the action onClick, ignore close attempts
   while togglingCheck is set, and render errors inline inside the dialog.

2. Remove the unused TaskIntegrationChecksService.getDisabledCheckIdsForTask
   method. It was only referenced by its own tests — the controller reads
   disable state directly via the isCheckDisabledForTask utility, so the
   service method was dead code. Tests updated accordingly.
…from-evidence

feat(integrations): disconnect individual checks per task
@vercel vercel bot temporarily deployed to staging – portal April 9, 2026 18:58 Inactive
@tofikwest tofikwest merged commit c451f07 into release Apr 9, 2026
14 checks passed
@claudfuen
Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 3.19.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants