fix: isolate Slack thread sessions (#758)

This commit is contained in:
Peter Steinberger
2026-01-15 08:01:15 +00:00
parent 627cc1f04b
commit c269d5f258
11 changed files with 221 additions and 70 deletions

View File

@@ -263,7 +263,6 @@ export async function prepareSlackMessage(params: {
: null;
const roomLabel = channelName ? `#${channelName}` : `#${message.channel}`;
const historyKey = message.channel;
const historyEntry =
isRoomish && ctx.historyLimit > 0
? {
@@ -291,9 +290,11 @@ export async function prepareSlackMessage(params: {
const threadKeys = resolveThreadSessionKeys({
baseSessionKey,
threadId: isThreadReply ? threadTs : undefined,
parentSessionKey: isThreadReply ? baseSessionKey : undefined,
parentSessionKey: isThreadReply && ctx.threadInheritParent ? baseSessionKey : undefined,
});
const sessionKey = threadKeys.sessionKey;
const historyKey =
isThreadReply && ctx.threadHistoryScope === "thread" ? sessionKey : message.channel;
enqueueSystemEvent(`${inboundLabel}: ${preview}`, {
sessionKey,
contextKey: `slack:message:${message.channel}:${message.ts ?? "unknown"}`,