fix: honor slack reply threading (#574, thanks @bolismauro)
This commit is contained in:
@@ -6,6 +6,7 @@
|
|||||||
- Node bridge: harden keepalive + heartbeat handling (TCP keepalive, better disconnects, and keepalive config tests). (#577) — thanks @steipete
|
- Node bridge: harden keepalive + heartbeat handling (TCP keepalive, better disconnects, and keepalive config tests). (#577) — thanks @steipete
|
||||||
- CLI: add `sandbox list` and `sandbox recreate` commands for managing Docker sandbox containers after image/config updates. (#563) — thanks @pasogott
|
- CLI: add `sandbox list` and `sandbox recreate` commands for managing Docker sandbox containers after image/config updates. (#563) — thanks @pasogott
|
||||||
- Providers: add Microsoft Teams provider with polling, attachments, and CLI send support. (#404) — thanks @onutc
|
- Providers: add Microsoft Teams provider with polling, attachments, and CLI send support. (#404) — thanks @onutc
|
||||||
|
- Slack: honor reply tags + replyToMode while keeping threaded replies in-thread. (#574) — thanks @bolismauro
|
||||||
- Commands: accept /models as an alias for /model.
|
- Commands: accept /models as an alias for /model.
|
||||||
- Models/Auth: show per-agent auth candidates in `/model status`, and add `clawdbot models auth order {get,set,clear}` (per-agent auth rotation overrides). — thanks @steipete
|
- Models/Auth: show per-agent auth candidates in `/model status`, and add `clawdbot models auth order {get,set,clear}` (per-agent auth rotation overrides). — thanks @steipete
|
||||||
- Debugging: add raw model stream logging flags and document gateway watch mode.
|
- Debugging: add raw model stream logging flags and document gateway watch mode.
|
||||||
|
|||||||
@@ -196,6 +196,7 @@ export function createFollowupRunner(params: {
|
|||||||
| undefined);
|
| undefined);
|
||||||
const applyReplyToMode = createReplyToModeFilter(
|
const applyReplyToMode = createReplyToModeFilter(
|
||||||
resolveReplyToMode(queued.run.config, replyToChannel),
|
resolveReplyToMode(queued.run.config, replyToChannel),
|
||||||
|
{ allowTagsWhenOff: replyToChannel === "slack" },
|
||||||
);
|
);
|
||||||
|
|
||||||
const replyTaggedPayloads: ReplyPayload[] = applyReplyThreading({
|
const replyTaggedPayloads: ReplyPayload[] = applyReplyThreading({
|
||||||
|
|||||||
@@ -291,7 +291,7 @@ describe("monitorSlackProvider tool results", () => {
|
|||||||
},
|
},
|
||||||
slack: {
|
slack: {
|
||||||
dm: { enabled: true, policy: "open", allowFrom: ["*"] },
|
dm: { enabled: true, policy: "open", allowFrom: ["*"] },
|
||||||
replyToMode: "first",
|
replyToMode: "off",
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1101,14 +1101,10 @@ export async function monitorSlackProvider(opts: MonitorSlackOpts = {}) {
|
|||||||
|
|
||||||
const incomingThreadTs = message.thread_ts;
|
const incomingThreadTs = message.thread_ts;
|
||||||
const eventTs = message.event_ts;
|
const eventTs = message.event_ts;
|
||||||
|
const messageTs = message.ts ?? eventTs;
|
||||||
const replyThreadTs =
|
const replyThreadTs =
|
||||||
replyToMode === "all"
|
incomingThreadTs ?? (replyToMode === "all" ? messageTs : undefined);
|
||||||
? (incomingThreadTs ?? message.ts ?? eventTs)
|
const statusThreadTs = replyThreadTs ?? messageTs;
|
||||||
: replyToMode === "first"
|
|
||||||
? incomingThreadTs
|
|
||||||
: undefined;
|
|
||||||
const statusThreadTs =
|
|
||||||
replyThreadTs ?? incomingThreadTs ?? message.ts ?? eventTs;
|
|
||||||
let didSetStatus = false;
|
let didSetStatus = false;
|
||||||
const onReplyStart = async () => {
|
const onReplyStart = async () => {
|
||||||
didSetStatus = true;
|
didSetStatus = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user