Status: deployed for retained channel and direct messages
Telex represents a reply as an ordinary complete IRC message plus one client-only parent tag. The message body remains useful text on every IRC client. Capable clients may additionally show the parent excerpt, jump to the parent, or otherwise present the relationship.
A client that negotiated message-tags replies to a retained message by
sending exactly one canonical parent ID:
@+reply=019f0000-0000-7000-8000-000000000001 PRIVMSG #room :answer
For draft/multiline, +reply belongs on the opening BATCH command. It
describes the complete multiline event rather than any one fragment.
The parent must still be retained in the same channel or direct-message
conversation. Ordinary channel membership, direct-message privacy, retention,
and rate-limit checks still apply. Unknown, pruned, cross-conversation,
duplicate, empty, and noncanonical parent IDs are rejected without creating an
event. standard-replies controls whether that rejection uses FAIL; it is
not a separate reply-feature capability.
Schema 9 stores at most one parent relation for each retained event. The
relation is committed in the same transaction as the child and is emitted
again as +reply during history and automatic replay.
A reply does not extend either message's retention. If a parent body is pruned before its child, the child remains an ordinary retained message and capable clients show an unavailable-parent marker. New replies cannot target that pruned parent. Content reset removes reply relations with their conversations. A live-only child may carry the relationship during live delivery but leaves no durable reply row.
Native automation publications already have causal parent IDs. When projected
onto IRC, those causal relationships use the same +reply presentation.
Only recipients that negotiated message-tags receive the client-only
relationship tag. Other IRC clients receive the unchanged message body and no
synthetic quote, notice, error, or status-buffer line.
The reference web client:
- exposes reply in the existing message-action toolbar;
- shows and allows cancellation of one selected parent above the composer;
- sends single-line and negotiated multiline replies;
- renders a compact parent excerpt and jumps to it when it is loaded;
- shows
earlier message unavailablewhen the parent is outside the loaded or retained window; and - preserves the relationship through live delivery, IndexedDB restore, authoritative history repair, and reconnect.
Reply metadata remains optional presentation. It never changes the underlying chronological transcript or the behavior of traditional clients.