Brings main through d3afb5c5a9, which includes #24606 as it landed: in the
native chat that is the version C2 already merged, so those files keep C2's
resolution, and the locales keep C2's messageNotConfirmed line beside main's
new keys.
From #24918:
- Not-sent rows come back at their journal places, so the phone draws them
where the host recorded them.
- A command's reply stays silent only once the loaded journal draws it as not
sent (structuredAgentSessionJournalShowsRejection), so a pending command a
Stop then withdraws still gets its reply.
- The phone's echo matching no longer double-counts not-sent rows.
- The delivery-line tone test is taken in C2's terms: a recorded rejection
reads muted from its row or from this client's copy, and a message on its
way reads only as sending. #24918's `notSent`/Retry notice shape stays out.