the thinking message doesn't generate as a reply, but the final message does #376

Closed
opened 2026-08-13 11:24:11 +00:00 by coilysiren · 3 comments
Owner

unsure how thats even happening. the thinking message should be a reply, then you edit it.

unsure how thats even happening. the thinking message should be a reply, then you edit it.
Member

CLAIM — Angie (ENG, claude seat) · 2026-08-13T13:34Z · 20 min. Unclaimed, and it is the same code I have been in all session.

Leaving #375 alone: it carries a live claim from an Angie seat using a nonce, which is exactly the disambiguation I asked for on #353. Whoever adopted that, thank you.

Waiting the buffer. Reading how the progress line posts meanwhile — your "unsure how that's even happening" probably has a one-line answer and I would rather quote it than guess.

**CLAIM — Angie (ENG, claude seat)** · 2026-08-13T13:34Z · 20 min. Unclaimed, and it is the same code I have been in all session. Leaving https://forgejo.coilysiren.me/coilyco-gaming/sirens-echo/issues/375 alone: it carries a live claim from an Angie seat using a nonce, which is exactly the disambiguation I asked for on https://forgejo.coilysiren.me/coilyco-gaming/sirens-echo/issues/353. Whoever adopted that, thank you. Waiting the buffer. Reading how the progress line posts meanwhile — your "unsure how that's even happening" probably has a one-line answer and I would rather quote it than guess.
Member

Answered and fixed — Angie (ENG, claude seat). PR #394, closing the slice #393. Releasing the claim.

Your "unsure how that's even happening" has a one-line answer, and it is worth quoting because it is duller than it looks.

Post sends with no reference:

p.session.ChannelMessageSendComplex(p.channel, &discordgo.MessageSend{
    Content:         truncateRunes(notice, 1990),
    AllowedMentions: ...,
})

Reply sets one:

Reference: t.message.SoftReference(),

The sink held a channel id and never held the message, so it had nothing to reference even if it had wanted to. Not a Discord quirk and not an edit-versus-post asymmetry — just two code paths that were written at different times and never compared.

It carries the message now, and the line and the reply reference the same thing. A test asserts that rather than asserting the reference exists, because "both halves of one exchange point at the same message" is the property you actually asked for.

Two details you did not ask about and should know:

RepliedUser: false, matching the reply path. A line that answered a member and also pinged them would be a new annoyance introduced by a fix for a cosmetic one.

A sink with no message still posts, without a reference. Losing the progress line entirely would be worse than losing the reference, so the absence degrades rather than fails.

**Answered and fixed — Angie (ENG, claude seat).** PR https://forgejo.coilysiren.me/coilyco-gaming/sirens-echo/pulls/394, closing the slice https://forgejo.coilysiren.me/coilyco-gaming/sirens-echo/issues/393. Releasing the claim. Your "unsure how that's even happening" has a one-line answer, and it is worth quoting because it is duller than it looks. `Post` sends with no reference: ```go p.session.ChannelMessageSendComplex(p.channel, &discordgo.MessageSend{ Content: truncateRunes(notice, 1990), AllowedMentions: ..., }) ``` `Reply` sets one: ```go Reference: t.message.SoftReference(), ``` The sink held a **channel id** and never held the message, so it had nothing to reference even if it had wanted to. Not a Discord quirk and not an edit-versus-post asymmetry — just two code paths that were written at different times and never compared. It carries the message now, and the line and the reply reference the same thing. A test asserts that rather than asserting the reference exists, because "both halves of one exchange point at the same message" is the property you actually asked for. Two details you did not ask about and should know: **`RepliedUser: false`**, matching the reply path. A line that answered a member and also pinged them would be a new annoyance introduced by a fix for a cosmetic one. **A sink with no message still posts**, without a reference. Losing the progress line entirely would be worse than losing the reference, so the absence degrades rather than fails.
Member

Closing: this is fully delivered — Angie (ENG, claude seat). fix(progress): the line answers the member, like the reply does merged.

Your ask was "the thinking message should be a reply, then you edit it." Both halves hold: the line now posts with a reference to the member's message, and the edit-in-place behaviour it already had is unchanged. The line and the final reply point at the same message, which a test asserts.

I left this open out of habit rather than because anything remained. That habit is part of what made the tracker unreadable — #437 measured it — so I am closing what is actually done rather than leaving you to work out which open issues are open for a reason.

**Closing: this is fully delivered — Angie (ENG, claude seat).** `fix(progress): the line answers the member, like the reply does` merged. Your ask was *"the thinking message should be a reply, then you edit it."* Both halves hold: the line now posts with a reference to the member's message, and the edit-in-place behaviour it already had is unchanged. The line and the final reply point at the same message, which a test asserts. I left this open out of habit rather than because anything remained. That habit is part of what made the tracker unreadable — https://forgejo.coilysiren.me/coilyco-gaming/sirens-echo/issues/437 measured it — so I am closing what is actually done rather than leaving you to work out which open issues are open for a reason.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-gaming/sirens-echo#376
No description provided.