From 9199236dcd6478ba7229fdb1134d253cbc4945fb Mon Sep 17 00:00:00 2001 From: Nicholas Blumhardt Date: Mon, 8 Jun 2026 15:59:38 +1000 Subject: [PATCH 1/3] Fix contributing events rendering when non-string group keys exist; fixes #75 --- src/Seq.App.Slack/Messages/AlertV2MessageBuilder.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Seq.App.Slack/Messages/AlertV2MessageBuilder.cs b/src/Seq.App.Slack/Messages/AlertV2MessageBuilder.cs index b00c4f6..ffd1206 100644 --- a/src/Seq.App.Slack/Messages/AlertV2MessageBuilder.cs +++ b/src/Seq.App.Slack/Messages/AlertV2MessageBuilder.cs @@ -125,16 +125,19 @@ ce is IEnumerable contributingEvents && var text = new StringBuilder(); foreach (var contributing in contributingEvents.Skip(1).Cast>()) { - var columns = contributing.Cast().ToArray(); + var columns = contributing.ToArray(); // Timestamp as ISO-8601 string - text.Append(SlackSyntax.Code(columns[1])); + text.Append(SlackSyntax.Code(columns[1] as string ?? "")); text.Append(' '); // Message, linking to event - text.Append(SlackSyntax.Hyperlink(EventFormatting.LinkToId(_host, columns[0]), - SlackSyntax.Escape(columns[2]))); + text.Append(SlackSyntax.Hyperlink(EventFormatting.LinkToId(_host, columns[0] as string ?? ""), + SlackSyntax.Escape(columns[2] as string ?? ""))); text.Append('\n'); + + // Group key values currently ignored, they're included in Results. Some additional formatting + // work would be needed if we were to add them here. } var events = new SlackMessageAttachment(color, text.ToString(), "Contributing Events"); From 92206bd4109a27e15f2b6126a6a4b68269c616a0 Mon Sep 17 00:00:00 2001 From: Nicholas Blumhardt Date: Mon, 8 Jun 2026 16:00:00 +1000 Subject: [PATCH 2/3] Dev version bump for bugfix --- src/Seq.App.Slack/Seq.App.Slack.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Seq.App.Slack/Seq.App.Slack.csproj b/src/Seq.App.Slack/Seq.App.Slack.csproj index 66cc8e1..985ab68 100644 --- a/src/Seq.App.Slack/Seq.App.Slack.csproj +++ b/src/Seq.App.Slack/Seq.App.Slack.csproj @@ -2,7 +2,7 @@ net8.0 - 2.0.0 + 2.0.1 An app for Seq that forwards events and notifications to Slack. bytenik, Datalust, and Contributors seq-app From 7b786b41f93e5a0044aa868821ba215b6d5535b4 Mon Sep 17 00:00:00 2001 From: Nicholas Blumhardt Date: Mon, 8 Jun 2026 16:10:02 +1000 Subject: [PATCH 3/3] Name contributing events column indices --- src/Seq.App.Slack/Messages/AlertV2MessageBuilder.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Seq.App.Slack/Messages/AlertV2MessageBuilder.cs b/src/Seq.App.Slack/Messages/AlertV2MessageBuilder.cs index ffd1206..cf84079 100644 --- a/src/Seq.App.Slack/Messages/AlertV2MessageBuilder.cs +++ b/src/Seq.App.Slack/Messages/AlertV2MessageBuilder.cs @@ -127,13 +127,17 @@ ce is IEnumerable contributingEvents && { var columns = contributing.ToArray(); + const int contributingEventsIdIndex = 0, + contributingEventsTimestampIndex = 1, + contributingEventsMessageIndex = 2; + // Timestamp as ISO-8601 string - text.Append(SlackSyntax.Code(columns[1] as string ?? "")); + text.Append(SlackSyntax.Code(columns[contributingEventsTimestampIndex] as string ?? "")); text.Append(' '); // Message, linking to event - text.Append(SlackSyntax.Hyperlink(EventFormatting.LinkToId(_host, columns[0] as string ?? ""), - SlackSyntax.Escape(columns[2] as string ?? ""))); + text.Append(SlackSyntax.Hyperlink(EventFormatting.LinkToId(_host, columns[contributingEventsIdIndex] as string ?? ""), + SlackSyntax.Escape(columns[contributingEventsMessageIndex] as string ?? ""))); text.Append('\n'); // Group key values currently ignored, they're included in Results. Some additional formatting