Skip to content

feat: Add reject reason#1396

Merged
jescalada merged 12 commits intofinos:mainfrom
qube-rt:add-reject-reason
Feb 23, 2026
Merged

feat: Add reject reason#1396
jescalada merged 12 commits intofinos:mainfrom
qube-rt:add-reject-reason

Conversation

@andypols
Copy link
Contributor

@andypols andypols commented Feb 9, 2026

Closes #605.

Summary

Right now, reviewers can reject a push without leaving any context, and push authors can’t tell who rejected it or why. This PR makes rejections explicit by requiring a reason and recording the rejecting reviewer, then surfaces that information in the UI.

UI

  • Adds a rejection modal (modeled after the existing Attestation modal) that requires a reviewer to enter a reason before a rejection can be submitted.
CleanShot 2026-02-09 at 13 18 43@2x
  • Displays rejection details on rejected pushes, including who rejected and why, using an info box pattern consistent with the Attestation UI.
CleanShot 2026-02-09 at 13 23 45@2x
  • Refactors PushDetails by extracting components to reduce complexity and improve readability/maintainability.

Backend

  • Introduces a Rejection type containing reviewer, reason, and timestamp.
  • Persists rejections in the DB layer for both file-based storage and MongoDB.
  • Adds server-side validation to enforce that a rejection reason is provided.
  • Adds unit tests covering the rejection persistence flow.
  • Updates integration tests to include a rejection reason.

@netlify
Copy link

netlify bot commented Feb 9, 2026

Deploy Preview for endearing-brigadeiros-63f9d0 canceled.

Name Link
🔨 Latest commit 7ac5912
🔍 Latest deploy log https://app.netlify.com/projects/endearing-brigadeiros-63f9d0/deploys/699c49584937780008a24a58

@codecov
Copy link

codecov bot commented Feb 9, 2026

Codecov Report

❌ Patch coverage is 78.78788% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 81.78%. Comparing base (692531b) to head (7ac5912).
⚠️ Report is 13 commits behind head on main.

Files with missing lines Patch % Lines
src/service/routes/push.ts 74.07% 7 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1396      +/-   ##
==========================================
+ Coverage   81.39%   81.78%   +0.39%     
==========================================
  Files          67       67              
  Lines        4741     4766      +25     
  Branches      819      827       +8     
==========================================
+ Hits         3859     3898      +39     
+ Misses        867      852      -15     
- Partials       15       16       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@andypols andypols requested a review from a team as a code owner February 19, 2026 15:23
@andypols andypols requested a review from kriswest February 19, 2026 15:23
Copy link
Contributor

@jescalada jescalada left a comment

Choose a reason for hiding this comment

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

Tested the core flow and edge cases, LGTM!

Just a heads up, a fair bit of the attestation endpoint logic has been improved in #1323. Attestation-related classes have been added as well. I'm able to handle conflicts and extra changes to the /reject endpoint in that PR - it'd be great if you could take a look and make sure things still work as expected!

@jescalada jescalada merged commit 5c4329c into finos:main Feb 23, 2026
25 checks passed
@andypols
Copy link
Contributor Author

@jescalada happy to check out #1323

@jescalada
Copy link
Contributor

@andypols Thank you! I'll ping you after fixing up the conflicts, likely tomorrow...

@andypols andypols deleted the add-reject-reason branch February 24, 2026 09:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A reviewer must provide a reason when rejecting a push 💬

2 participants