Conversation
af5cf7d to
b7ff63b
Compare
b7ff63b to
31b529d
Compare
Right fix at both layers: the hard guard in
The source-contract regex update keeps the house-style test honest. No blocking issues. |
31b529d to
a523311
Compare
88c3bcf to
8f9b851
Compare
(cherry picked from commit 6f25290d6998394aa908bef71ddf1270ea36a3e1)
(cherry picked from commit 7deb1e1) (cherry picked from commit 7f39d245a4ff22232fbaaf896d21a8daf876ccc1)
(cherry picked from commit 8f9b851) (cherry picked from commit 9abf7f610a8d70bb518022e67de21c40c104d461)
(cherry picked from commit c7f49e7aef68ea0c8cf12c5b905e7ddc9990c6eb)
8f9b851 to
f0fd397
Compare
Keep an active Group Chat reply under one name
Renaming a Bot Mode Group Chat while a Bot reply was in flight could split one
conversation into two roster rows. The room map moved to the new display name,
while the active async drive still closed over the old name and appended its
reply there.
This keeps the display name stable only while replies own the drive. The
settings dialog disables a changed name during that window, and
renameGroupChat()enforces the same invariant at the mutation boundary. Oncethe drive finishes, an idle rename still moves the complete room record,
including its durable identity, sessions, stranded replies, and attention
state.
The Group Chat row context menu also opens the existing settings dialog, so
rename and picture controls are available from the place users naturally look
for them.
Note
This is now a standalone current-main recut. #93993 remains separate; no attention-marker behavior is added here.
Related work
the active-rename invariant independently reviewable and does not change
delivery or queueing.
its late-reply state.
plugin.jssurface. This head ports the samebehavior to the typed Bot Mode modules and design-system menu.
Changes Made
renameGroupChat()while replies are active.renames remain available.
discovery with direct typed tests.
How to Test
remains under its original name.
identity, sessions, stranded replies, and attention state.
dialog as the header settings button.
Validation
Current head
f0fd3977b6onmain@245e48008f:git diff --checkpass. Every changed source/test owner is below 2,000 lines.The pre-recut history remains on
dokterdok:preserve/pr93903-before-main-refresh-20260906. No Python source changed.