Skip to content

Release v1.15.0 - #796

Merged
b-at-neu merged 14 commits into
mainfrom
dev
Sep 25, 2026
Merged

b-at-neu merged 14 commits into
mainfrom
dev

Conversation

@b-at-neu

Copy link
Copy Markdown
Collaborator

Release v1.15.0

Changes

Testing plan

  • Start a draft application → verify progress ring displays showing completion percentage
  • Complete a draft application → verify the progress ring reaches full completion
  • As admin, open an in-progress application → verify force-withdraw option is available in the menu
  • Force-withdraw an application → verify it is withdrawn without sending notification email to applicant
  • Check applicant inbox → verify no withdrawal notification email was sent

b-at-neu and others added 13 commits September 25, 2026 10:27
Admin-only path back to withdrawn from any submitted status, including
accepted/rejected. Copies updateApplicationStatus's CAS-transaction
shape but skips the after() email dispatch entirely, so that action's
"everything here emails" invariant stays unconditional.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
useForceWithdrawApplication mirrors use-application-status-move's
shape (pending state, action call, toasts, confirmDialogProps). The
status dialog gets a destructive Force withdraw block, admin-only and
hidden for draft/withdrawn; the shared status menu gets a matching
destructive item below a separator. Both table row and header-actions
hosts thread isAdmin down and own their own confirm dialog for the
menu entry point, separate from the dialog's own instance.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Per-status matrix over all eight statuses, a manager and the owning
applicant both rejected, no EmailLog row on success, and a concurrent
double-call resolving to exactly one success and one new event.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
PERMISSIONS.md gets the new action's authorization row, the lifecycle
table's admin-only force-withdraw note on the unresolved/accepted/
rejected rows, and an amendment to the terminal-withdrawal bullet
clarifying the block is applicant-scoped only. WORKFLOWS.md adds
AD-13 and touches AP-13, AP-14, PM-14, and XC-9 so none of them still
assert a guarantee this ticket deliberately punches a hole in.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Rebases past #742's consolidated-caret restructuring; merges the
extracted confirmDialog variable with the new force-withdraw confirm
dialog, and reconciles the WORKFLOWS.md PM-14 trigger/happy-path text
with the force-withdraw addition. Also threads the now-required
isAdmin prop through the two draft-status ApplicationStatusActions
call sites the rebase didn't touch.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The note!==null caret branch in application-status-header-actions.tsx
rendered ApplicationStatusMenu without canForceWithdraw/onForceWithdraw,
so admins on the detail page couldn't force-withdraw accepted/rejected
applications from the caret (only via Change decision dialog), unlike
the table row's identical menu.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The "four unresolved statuses" scoping was stale post-#742; the shipped
canForceWithdraw check allows any status except draft/withdrawn.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tion

#741 Let Admins Force-Withdraw An Application Without Notifying
Adds a server-side aggregate (getApplicationCompletion) that counts
required-question completion for draft applications, reusing isAnswered
and resolveGlobalAnswerValues so the ring can never disagree with
whether Submit is enabled. A new ProgressRing server primitive renders
it on all four surfaces: the reviewer drafts table, the merged
applications table, the applicant's own applications table/widget, and
the position card. Only three integers ever cross to a client; answer
content never does.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Widen ProgressRing's left spacing, reorder the my-applications-widget
draft/withdrawn trailing slot (badge -> ring -> deadline), and drop the
draft-row status-actions menu on the manage applications table.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add missing Progress-column skeleton to the drafts view so its column
count and widths match DRAFT_COLUMNS's 5 real columns.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…progress-rings

#740 Show Draft Completion Progress Rings
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@b-at-neu b-at-neu self-assigned this Sep 25, 2026
@vercel

vercel Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
aplio Ready Ready Preview Sep 25, 2026 7:18pm UTC

@b-at-neu
b-at-neu merged commit f9c2b75 into main Sep 25, 2026
11 checks passed

This branch was successfully deployed

1 active deployment
Preview — 34ccd615 Deployed Sep 25, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant