The user-bubble decorator rendered every plain run through the block-level MessageText div, so a decorated single-line message broke into one line per run and the space between two tokens rendered as a blank line. The queue dock's read-only row printed row.preview verbatim, showing the wire session form (@[label](dsh-session:...)) instead of a readable label. Both predate the Lexical composer; the logged model text was correct in both cases. One shared inline projection (reference/user-text.tsx) now owns sent user text for the bubble and the queue row: plain runs are spans with white-space policy left to the consumer (bubble pre-wrap, queue nowrap), and a highest-precedence rule folds the wire session form to its label chip, shielding the URI from the bare-token scan. The queue edit field keeps the literal sent text. user-text.client.spec pins the inline guarantee and every fold rule; queue-actions.e2e locators move to row-container matching (the projection adds one span layer).
6 lines
539 B
YAML
6 lines
539 B
YAML
# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
|
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
# after editing either side, bring the other along and re-record with:
|
|
# pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-08-21-inline-user-text-projection.md
|
|
2026-08-21-inline-user-text-projection.md: deb0c54f41f950313246f3700d13b2a2c9f1b7ef
|
|
2026-08-21-inline-user-text-projection.zh.md: f7b8dd1d825aae05440256df267ae5bf7404ec29
|