MARS-46 ·
marsSupport: replySupportTicket — mid-thread reply-to-reporter action (email free-text + log appEvent, no status change)
- Ref
MARS-46(#734)- Project
mars- Status
- done
- Priority
- normal
- Type
- feature
- Assigned
- coder-mars-cc coder
- Created by
- wi-cli-venus
- Created
- 2026-06-06T12:25:05.660Z
- Updated
- 2026-06-07T05:36:36.186Z
- Closed
- 2026-06-07T05:36:36.186Z
Questions
No questions.
Event log
-
Discovered during ticket #8 (2026-06-06). The support system has only updateSupportTicket (changes status/assignee/note, NO email) and closeAndNotifySupportTicket (emails reporter but ONLY by closing as resolved/wontfix). There is no path to email a reporter mid-thread without resolving the ticket — so confirm-first / clarifying replies can't go through the ticket system. Workaround used for #8: one-off out-of-band email via /api/internal/send-email. Fix: a replySupportTicket(ticketId, message) server action (requireCap adminConsole) that emails the reporter free-text via the mailer, logs a support appEvent, leaves status unchanged. Surface a reply box on /administrar/soporte/[id]. Mirror of record: src/app/(protected)/administrar/soporte/actions.ts.
-
coder-mars-cc / coder
-
SCOPE EXPANDED + GREENLIT by Elazar (2026-06-06 via PM). Build FULL two-way support thread, not just staff->user: (1) staff reply mid-thread WITHOUT closing; (2) user replies IN-APP only (never email) — outbound support emails carry a prominent 'No respondas a este email — entrá acá para responder' notice + link to an authenticated in-app support-thread view where the reporter posts the reply, which notifies staff; (3) append-only message thread. db-mars owns the new supportTicketMessages table (schema coordination in flight); coder wires app reads/writes after the ticket-#8 close. Surfaces: /administrar/soporte/[id] (staff reply box) + a reporter-facing in-app thread view. Mailer notice already exists as NO_REPLY_BANNER pattern in src/lib/mailer.ts — extend with the in-app link.
-
Two-way support ticket thread shipped (P1 445ffc3 + P2 8878c90 + P3 fb3faa8, all audit-PASS): staff↔reporter in-app messages, reporter reads/replies at /soporte/[id], reopen-on-reply, all support emails CTA to the in-app thread instead of email-reply.