Skip to content

[comp] Production Deploy#2167

Merged
tofikwest merged 2 commits intoreleasefrom
main
Feb 19, 2026
Merged

[comp] Production Deploy#2167
tofikwest merged 2 commits intoreleasefrom
main

Conversation

@github-actions
Copy link
Contributor

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 2 commits February 18, 2026 20:44
* feat: add internal endpoint for task status change notifications

Adds POST /v1/internal/tasks/notify-status-change so enterprise-api
can delegate email + in-app notifications to the comp API instead of
duplicating Resend infrastructure. Makes changedByUserId optional in
TaskNotifierService.notifyStatusChange() with 'Automation' fallback.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: add validation decorators to DTO and return 500 on failure

Adds @IsString() and @IsEnum() decorators so the global ValidationPipe
doesn't reject all requests. Throws InternalServerErrorException instead
of returning 200 with { success: false } on notification failures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: update openapi.json with validated DTO schema

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: add automation failure notifications for partial failures

Notify users when ANY automation fails (not just when all fail).
New email template, service method, and internal endpoint for
automation-specific failure notifications.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: use Object.values(TaskStatus) instead of hardcoded array

Prevents stale validation when new statuses are added to the schema.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
@vercel
Copy link

vercel bot commented Feb 19, 2026

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

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
app (staging) Skipped Skipped Feb 19, 2026 4:41am
portal (staging) Skipped Skipped Feb 19, 2026 4:41am

Request Review

@cursor
Copy link

cursor bot commented Feb 19, 2026

PR Summary

Medium Risk
Adds new internal notification endpoints and expands email/in-app notification sending paths; main risk is unintended notification volume or mis-targeted recipients if called incorrectly.

Overview
Adds internal task notification endpoints and a new automation-failure notification flow. A new InternalTaskNotificationController exposes POST /v1/internal/tasks/notify-status-change and POST /v1/internal/tasks/notify-automation-failures (guarded by InternalTokenGuard) to trigger email + in-app notifications without a user actor.

TaskNotifierService.notifyStatusChange now supports an optional changedByUserId (defaults sender name to Automation when absent), and adds notifyAutomationFailures which emails (new AutomationFailuresEmail template) and triggers Novu notifications to the task assignee plus org admins/owners while respecting taskAssignments unsubscribe preferences. OpenAPI docs are updated accordingly.

Written by Cursor Bugbot for commit 97cebf8. This will update automatically on new commits. Configure here.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

);

const organizationName = organization?.name ?? 'your organization';
const changedByName = 'Automation';
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused variable changedByName in new method

Low Severity

The variable changedByName is assigned the value 'Automation' inside notifyAutomationFailures but is never read anywhere in the method. Neither the AutomationFailuresEmail template props nor the Novu in-app notification payload reference it. This is dead code, likely left over from copy-pasting the notifyStatusChange pattern.

Fix in Cursor Fix in Web

@tofikwest tofikwest merged commit 50dff74 into release Feb 19, 2026
14 of 15 checks passed
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.

1 participant

Comments