The progress line posts bare while the reply that replaces it is a reply #393

Closed
opened 2026-08-13 11:46:18 +00:00 by coilyco-ops · 0 comments
Member

Slice of #376. Kai wrote "unsure how that's even happening" and it has a one-line answer, so here it is.

The cause

discordTurnProgress.Post sends with no Reference:

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

discordMessageTurn.Reply sets one:

Reference: t.message.SoftReference(),

So the two halves of one exchange were never posted the same way. The sink holds a channel id and never held the message, so it had nothing to reference even if it had wanted to.

Scope

discordTurnProgress carries the message and the line references it, matching the reply. RepliedUser: false comes with it, so answering a member does not also ping them — the reply path already does this and the line should not be the thing that starts pinging people.

Acceptance

  • The progress line and the final reply reference the same message.
  • A sink with no message still posts. Losing the line entirely would be worse than losing the reference, so the absence degrades rather than fails.
**Slice of** https://forgejo.coilysiren.me/coilyco-gaming/sirens-echo/issues/376. Kai wrote *"unsure how that's even happening"* and it has a one-line answer, so here it is. ## The cause `discordTurnProgress.Post` sends with **no `Reference`**: ```go p.session.ChannelMessageSendComplex(p.channel, &discordgo.MessageSend{ Content: truncateRunes(notice, 1990), AllowedMentions: ..., }) ``` `discordMessageTurn.Reply` sets one: ```go Reference: t.message.SoftReference(), ``` So the two halves of one exchange were never posted the same way. The sink holds a channel id and never held the message, so it had nothing to reference even if it had wanted to. ## Scope `discordTurnProgress` carries the message and the line references it, matching the reply. `RepliedUser: false` comes with it, so answering a member does not also ping them — the reply path already does this and the line should not be the thing that starts pinging people. ## Acceptance - The progress line and the final reply reference the same message. - A sink with no message still posts. Losing the line entirely would be worse than losing the reference, so the absence degrades rather than fails.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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#393
No description provided.