From 485b3a805a4006677eed274bca1d1eeddf685fc5 Mon Sep 17 00:00:00 2001 From: Tom Elliott Date: Tue, 2 Jan 2024 04:36:52 +0000 Subject: [PATCH] Fix issues with updating messages. --- slack/examples_test.go | 4 +++- slack/message.go | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/slack/examples_test.go b/slack/examples_test.go index d09b11c..1495afb 100644 --- a/slack/examples_test.go +++ b/slack/examples_test.go @@ -109,7 +109,9 @@ func expectOneMessage(messages chan sentMessage, updatedMessages chan updatedMes select { case update = <-updatedMessages: if update.timestamp != timestamp { - return "", slack.SlackMetadata{}, "", fmt.Errorf("unexpected timestamp in update: %v", err) + // Ignore an update for the "parent" message + // TODO: This will be pretty brittle + update = <-updatedMessages } case <-time.After(time.Second): return "", slack.SlackMetadata{}, "", fmt.Errorf("timed out waiting for initial message update") diff --git a/slack/message.go b/slack/message.go index 85d07cd..ee8e977 100644 --- a/slack/message.go +++ b/slack/message.go @@ -81,7 +81,7 @@ func (m *message) finishEvent(req request) error { if err != nil { return fmt.Errorf("updating message to record timestamp: %w", renderSlackError(err)) } - } else if m.MessageTS != m.actionMessageTS { + } else if m.MessageTS == m.actionMessageTS { _, _, _, err := req.client.UpdateMessageWithMetadata( context.TODO(), m.ChannelID,