Skip to content

feat(support): file an internal customer note from a ticket - #1461

Merged
TaprootFreak merged 9 commits into
DFXswiss:developfrom
Blume1977:feat/support-ticket-customer-note
Sep 8, 2026
Merged

TaprootFreak merged 9 commits into
DFXswiss:developfrom
Blume1977:feat/support-ticket-customer-note

Conversation

@Blume1977

@Blume1977 Blume1977 commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

EN:
A clerk can file an internal customer note from the ticket without putting it in the thread. Switching tickets clears that draft; Cancel is disabled while the save is in flight.

DE:
Aus dem Ticket kann eine interne Kundennotiz gespeichert werden, ohne sie in den Verlauf zu schreiben. Beim Ticketwechsel wird der Entwurf geleert; Abbrechen ist während des Speicherns gesperrt.

Details

Double-submit is blocked with a sync ref. TicketNotePanel renders only when issueData.id matches the route. A note create that finishes after a ticket switch does not wipe the new ticket's draft. Darwin Playwright baseline support-ticket-note-01-composer shows the open Kundennotiz panel with a draft.

Declared: no extra shots of the closed button-only state or the post-save toast (the open composer is the new UI); component coverage 98/98/100/100 (unmount-during-reject); no new full-stack e2e-stack case for support_note. support-dashboard-issue.screen.tsx is not brought to whole-file 100% in this PR (preparatory coverage of a long existing screen; the note panel is covered by component tests).

@Blume1977
Blume1977 force-pushed the feat/support-ticket-customer-note branch 4 times, most recently from 1f37549 to 588749b Compare September 7, 2026 14:02
@TaprootFreakAI TaprootFreakAI added the ci Run PR CI on this draft label Sep 7, 2026
@TaprootFreakAI

Copy link
Copy Markdown
Collaborator

EN:
Ready after 2 review passes.
A clerk can file an internal customer note from the ticket without putting it in the thread.

DE:
Bereit nach 2 Review-Durchläufen.
Aus dem Ticket kann eine interne Kundennotiz gespeichert werden, ohne sie in den Verlauf zu schreiben.

Details

HEAD ddaebc06. Double-submit blocked; panel only when issue matches the route. Declared: component coverage 98/98/100/100; screen 100%; no issue-detail Playwright spec; no new e2e-stack support_note case. Build and test SUCCESS. mergeable=MERGEABLE.

@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review September 7, 2026 19:09
@TaprootFreakAI
TaprootFreakAI marked this pull request as draft September 7, 2026 20:33
@TaprootFreakAI

Copy link
Copy Markdown
Collaborator

EN:
Ready after 3 review passes.
A clerk can file an internal customer note from the ticket without putting it in the customer thread.

DE:
Bereit nach 3 Review-Durchläufen.
Aus dem Ticket kann eine interne Kundennotiz gespeichert werden, ohne sie in den Kunden-Verlauf zu schreiben.

Details

Visual check: Kundennotiz open with subject Support-Ticket 7001 and draft text. Handbook metadata and reality declaration added. Grok quality+logic 0 at 36b736b. Codex refused the declared coverage/e2e-stack/extra-variant gaps; those remain declared as before. CI green. MERGEABLE.

@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review September 7, 2026 21:44
@TaprootFreakAI
TaprootFreakAI marked this pull request as draft September 8, 2026 06:25
@TaprootFreakAI
TaprootFreakAI force-pushed the feat/support-ticket-customer-note branch from 36b736b to 2b4aff9 Compare September 8, 2026 06:28
Blume1977 and others added 7 commits September 8, 2026 09:14
When a customer writes something worth keeping, a clerk had to leave the
ticket, open the notes area and retype it. The "Update Issue" row now has a
"Kundennotiz" column: "Notiz hinzufügen" opens the existing note composer
bound to the customer, with the ticket as subject; the saved note lands in
the notes area and the customer's Notes tab, never in the thread.

The note draft is owned by the screen (like the reply text), so it survives
the reload after Update and is dropped on save or cancel. NoteComposer gains
initialSubject and a controlled content mode, blocks content above the API
limit of 8000 characters, and loses two submit guards the disabled button
already enforced. New tests cover the composer and the panel.
Clear the Kundennotiz draft when the ticket id changes so a leftover
text cannot be saved against the next customer. Disable Abbrechen
while createSupportNote is still running so a completed request cannot
mark saved or wipe a newly opened draft.
Render the note panel only when the loaded issue matches the route id.
After createSupportNote, skip parent callbacks if the composer unmounted.
A second click before re-render cannot start two creates. onCreated
still runs after unmount so a finished save cannot leave the draft
ready to file twice.
Clearing the draft is skipped when the screen has already moved on.
@TaprootFreakAI
TaprootFreakAI force-pushed the feat/support-ticket-customer-note branch from d8a33f5 to 15ad57e Compare September 8, 2026 07:15
A create that finishes after a ticket round-trip must not wipe the new draft.
A same-ticket reload spinner still clears the draft. A create that
finishes after A→B→A cannot wipe the new draft.
@TaprootFreakAI

Copy link
Copy Markdown
Collaborator

EN:
Ready after 3 review passes.
A clerk can file an internal customer note from the ticket without putting it in the thread.

DE:
Bereit nach 3 Review-Durchläufen.
Aus dem Ticket kann eine interne Kundennotiz gespeichert werden, ohne sie in den Verlauf zu schreiben.

Details

Quality and logic STATUS complete, 0 findings on HEAD 44292a76 after rebase onto develop (includes merged #1462 file preview). CI PR CI / CodeQL / review SUCCESS on the same SHA. MERGEABLE. No open review threads. onCreated still runs after unmount so a same-ticket spinner can clear the draft; a ticket change bumps a generation so A→B→A cannot wipe a newer draft.

@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review September 8, 2026 07:44
@TaprootFreak
TaprootFreak merged commit 093a76f into DFXswiss:develop Sep 8, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Run PR CI on this draft

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants