You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit ba946c0
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: packages/webui/docs/client/composer.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,7 @@ needs its own behavioural evidence — browser or assembled-application, per
13
13
| Queue mirror | One selected destination with a generation, not a per-session mirror map; home display gates preserved | Refresh view interest without recreating the owner | Enqueue / delete / read commit only to an eligible destination generation; settlement obligations survive a selection change |
14
14
| Retry | Last `{session, message}` retained, shown only for the matching session and refusal, never retargeted by adoption | Retained | Retry enters the ordinary send/enqueue workflow; goals and commands create no turn-retry record |
15
15
| Mention and slash | Mention retained until an explicit command; slash derived from draft and caret | Recreate caret, index and listeners | Selection/dismiss controls the range; no universal switch or submit reset |
16
+
| Send and newline keys | The bindable keys are the stored bindings, not a rule in the component; the settings page owns the change | The stored binding is read when a key is pressed, so a rebinding takes effect without a remount | 发送消息 submits and 换行 breaks the line; a press that names neither binding is left to the browser; an open IME composition belongs to the composition |
16
17
17
18
## Where the pieces live
18
19
@@ -29,3 +30,10 @@ needs its own behavioural evidence — browser or assembled-application, per
29
30
React-side store binding.
30
31
- The submission path itself (creation, admission, send-or-queue) is
31
32
[`submission.md`](submission.md).
33
+
- The keyboard bindings live in the settings business: the page is
34
+
`client/features/settings/ui/ShortcutsSettings.tsx` with its own model in
35
+
`client/features/settings/projection/settings-shortcuts.ts`, and the notation both the page and the
36
+
composer read is `client/projection/common/shortcuts.ts`. The composer keeps no binding state —
37
+
it reads the stored binding when a key is pressed. ADR
0 commit comments