Skip to content

Release: develop -> main - #1466

Merged
TaprootFreak merged 2 commits into
mainfrom
develop
Sep 8, 2026
Merged

TaprootFreak merged 2 commits into
mainfrom
develop

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

Automatic Release PR

This PR was automatically created after changes were pushed to develop.

Commits: 1 new commit(s)

Checklist

  • Review all changes
  • Verify CI passes
  • Approve and merge when ready for production

Blume1977 and others added 2 commits September 8, 2026 09:59
…ter (#1457)

* feat(support): send a reply with Cmd/Ctrl+Enter instead of a plain Enter

A plain Enter sent the message in the DFX and the RealUnit ticket composer,
so a reply left the moment a clerk hit Enter for a new line while still
writing. Enter now only adds a line; the message is sent with Cmd+Enter
(macOS) or Ctrl+Enter, or via the Send button as before. The composer hint
and the full-stack spec reference the new shortcut.

* fix(support): ignore Cmd/Ctrl+Enter while a send is in flight

The Send button is disabled during isSending, but the keyboard path
called handleSendMessage without a guard, so key-repeat could post
duplicate staff replies. Block re-entry with isSending and a sync ref
on both ticket screens.

* fix(support): do not send on Shift, key-repeat, or IME composition

Cmd/Ctrl+Enter still sends. Shift+Enter stays a newline, a held key
must not re-fire after a failed send, and an in-progress IME
composition is not treated as a send shortcut.

* test(support): send the second staff reply with Cmd+Enter in e2e-stack

Keep the Send-button path, then assert plain Enter does not persist a
row and Meta+Enter does.

* test(handbook): add darwin baseline for the RealUnit issue composer with send shortcut

* test(handbook): include the message composer in the RealUnit issue baseline

* 01a07c9e - Clear sendInFlight on ticket change and ignore Alt+Enter

A hanging send on the previous ticket must not block the next. AltGraph
must not trigger Cmd/Ctrl+Enter.

---------

Co-authored-by: TaprootFreakAI <315477232+TaprootFreakAI@users.noreply.github.com>
* feat(support): file an internal customer note from a ticket

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.

* fix(support): isolate the ticket note draft and block cancel in flight

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.

* fix(support): ignore a finished note create after unmount

Render the note panel only when the loaded issue matches the route id.
After createSupportNote, skip parent callbacks if the composer unmounted.

* fix(support): block double note submit and always clear the screen draft

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.

* test(handbook): add a darwin baseline for the staff ticket customer-note panel

* docs(handbook): title the ticket-note baseline and declare the issue-payload fake

* 01a07c9e - Ignore a note create that finishes after a ticket switch

Clearing the draft is skipped when the screen has already moved on.

* 01a07c9e - Do not fire onCreated after the note composer unmounts

A create that finishes after a ticket round-trip must not wipe the new draft.

* 01a07c9e - Keep onCreated after unmount, ignore it after a ticket change

A same-ticket reload spinner still clears the draft. A create that
finishes after A→B→A cannot wipe the new draft.

---------

Co-authored-by: TaprootFreakAI <315477232+TaprootFreakAI@users.noreply.github.com>
@TaprootFreak
TaprootFreak merged commit 6147005 into main Sep 8, 2026
15 checks passed
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.

2 participants