Task #520: skip send-note confirm when only one recipient
The send-note composer always showed an AlertDialog before posting, even for the common one-on-one case. The dialog now only appears when two or more recipients are picked. Implementation (artifacts/tx-os/src/pages/notes.tsx): - Extracted shared `performSend()` from `confirmSubmit` so both the direct-send and confirm-then-send paths reuse the same mutation, success toast + composer close, and error toast. - `requestSubmit()` now branches: 0 picked = no-op, 1 picked = call performSend() directly, 2+ picked = open the existing AlertDialog. - `confirmSubmit()` (the AlertDialog action) delegates to performSend. - No changes to API, recipient picker, AR/EN strings, or any other AlertDialog (bulk archive/delete left untouched). Tests: - Updated artifacts/tx-os/tests/notes-inbox.spec.mjs (sends to a single recipient): no longer expects the confirm dialog; asserts /api/notes/:id/send fires directly and the composer closes. - New artifacts/tx-os/tests/notes-send-confirm-threshold.spec.mjs: - "single-recipient send skips the confirm dialog" (passes) - "multi-recipient send still requires the confirm dialog" (passes) Validation: tx-os tsc clean; both threshold specs pass locally; architect review APPROVED.
This commit is contained in:
@@ -2513,10 +2513,6 @@ function SendNoteDialog({
|
||||
|
||||
const [confirmOpen, setConfirmOpen] = useState(false);
|
||||
|
||||
// Task #520: skip the confirmation dialog when sending to a single
|
||||
// recipient. The dialog only added an extra click for the common
|
||||
// one-on-one case; it still appears when 2+ recipients are picked so
|
||||
// a batch send remains an explicit choice.
|
||||
const performSend = () => {
|
||||
send.mutate(
|
||||
{ id: noteId, recipientUserIds: Array.from(picked) },
|
||||
|
||||
@@ -145,8 +145,6 @@ test("sender → recipient → reply flow updates Inbox + Sent tabs", async ({
|
||||
{ timeout: 15_000 },
|
||||
);
|
||||
await page.getByTestId("send-note-submit").click();
|
||||
// Task #520: a single-recipient send no longer shows the confirm
|
||||
// dialog — the click goes straight to the send mutation.
|
||||
await sendPromise;
|
||||
await expect(page.getByTestId("send-note-confirm")).toBeHidden();
|
||||
await expect(sendDialog).toBeHidden();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Task #520: confirm dialog only appears when sending to 2+ recipients.
|
||||
// One recipient → direct send (no popup). Two recipients → existing
|
||||
// AlertDialog still gates the send.
|
||||
// Send-note confirm dialog appears only when 2+ recipients are picked.
|
||||
// One recipient sends directly; two or more still gate behind the
|
||||
// AlertDialog confirmation.
|
||||
import { test, expect } from "@playwright/test";
|
||||
import pg from "pg";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user