Commit Graph

785 Commits

Author SHA1 Message Date
Peter Steinberger
eab88c61e7 test: guard slack tool result mock calls 2026-05-12 02:14:05 +01:00
Peter Steinberger
3d5fd9cc8f test: guard slack media mock calls 2026-05-12 02:09:06 +01:00
Peter Steinberger
c192604e36 test: guard slack action mock calls 2026-05-12 02:06:27 +01:00
Peter Steinberger
68ac67d7c7 test: guard slack routing mock calls 2026-05-12 01:47:47 +01:00
Peter Steinberger
b77ca2e0ff test: guard slack lazy mock calls 2026-05-12 01:46:34 +01:00
Peter Steinberger
402da9610c test: guard slack outbound mock calls 2026-05-12 01:41:57 +01:00
Peter Steinberger
3b851b41c3 test: guard slack identity fallback mock calls 2026-05-12 01:27:41 +01:00
Peter Steinberger
5c4f5e0f3a test: guard slack blocks mock calls 2026-05-12 01:26:05 +01:00
Peter Steinberger
e7397ec81f test: guard slack channel mock calls 2026-05-12 01:21:03 +01:00
Peter Steinberger
598f1eb704 test: guard slack approval mock calls 2026-05-12 01:19:20 +01:00
Peter Steinberger
9682e7a034 test: guard slack probe mock calls 2026-05-12 00:48:07 +01:00
Peter Steinberger
2b202ffe7c test: guard slack dispatch mock calls 2026-05-12 00:47:11 +01:00
Peter Steinberger
8b50587ec7 test: guard slack setup mock calls 2026-05-12 00:27:00 +01:00
Peter Steinberger
a67507eb04 test: guard chat extension null helpers 2026-05-11 21:25:32 +01:00
Peter Steinberger
6eccb0d3bf test: guard extension helper null checks 2026-05-11 21:18:51 +01:00
Peter Steinberger
63af3bcfdb test: guard remaining truthiness assertions 2026-05-11 20:45:49 +01:00
Peter Steinberger
4b6e1373f6 test: guard extension lookup helpers 2026-05-11 19:38:00 +01:00
Peter Steinberger
0322821837 test: guard messaging test helpers 2026-05-11 19:24:44 +01:00
Peter Steinberger
bc92264cd9 test: guard mock lookup helpers 2026-05-11 19:16:35 +01:00
Peter Steinberger
80d1df6e68 test: remove slack duplicate timer flush 2026-05-11 17:02:45 +01:00
Peter Steinberger
493f363857 test: tighten slack monitor assertions 2026-05-11 14:11:39 +01:00
Peter Steinberger
8975ac83f4 test: tighten slack extension assertions 2026-05-11 14:09:30 +01:00
Peter Steinberger
58087ef3d6 test: tighten extension auth assertions 2026-05-11 14:02:35 +01:00
Peter Steinberger
cd52ea1108 test: tighten slack draft stream assertions 2026-05-11 11:11:51 +01:00
Peter Steinberger
37f1f5d4ab test: tighten slack progress block assertions 2026-05-11 11:09:03 +01:00
Peter Steinberger
f9016145c8 test: tighten slack security audit assertions 2026-05-11 11:07:46 +01:00
Shakker
4452df5b17 test: tighten slack probe timeout assertion 2026-05-11 10:11:29 +01:00
Shakker
893632fc67 test: tighten slack reaction assertions 2026-05-11 09:52:35 +01:00
Peter Steinberger
32906ea64c test: use stable array ordering helpers 2026-05-11 09:37:13 +01:00
Peter Steinberger
f2031ee8c1 test: remove redundant slack test cast 2026-05-11 09:37:13 +01:00
Peter Steinberger
00cf49d607 test: fix assertion type checks 2026-05-11 09:23:54 +01:00
Shakker
38295d3c04 test: tighten slack and openshell assertions 2026-05-11 09:20:24 +01:00
Shakker
6066e878f6 test: tighten slack setup manifest assertion 2026-05-11 09:05:16 +01:00
Shakker
93cac4c7dc test: tighten slack target assertions 2026-05-11 08:20:22 +01:00
Peter Steinberger
122c0104cd test: tighten slack message adapter assertions 2026-05-11 08:04:00 +01:00
Shakker
e003849454 test: tighten slack user resolution assertion 2026-05-11 07:59:20 +01:00
Shakker
3ea27610f1 test: tighten slack thread recovery assertion 2026-05-11 07:29:09 +01:00
Shakker
51c9203510 test: tighten slack stream mode assertions 2026-05-11 07:21:29 +01:00
Peter Steinberger
526a43de6a test: tighten slack lazy seam assertions 2026-05-11 06:50:47 +01:00
Peter Steinberger
87d2b1bb48 test: tighten slack slash assertions 2026-05-11 06:48:13 +01:00
sxxtony
b2dab308ae fix(slack): include bot root message in new thread sessions (#79338) (#80409)
* fix(slack): include bot root message in new thread sessions (#79338)

When a user replies in-thread to a bot's own message in a Slack DM,
the new thread session was constructed without the parent/root message
content. The agent only saw `reply_to_id` metadata and could not
resolve what was being replied to, leading to confident-but-wrong
actions on follow-up corrections.

The thread-context resolver was filtering out every message authored
by the current bot before formatting thread history, including the
bot's own root message. For thread-replies starting a fresh session,
that left the agent without the parent context it needed.

This change retains current-bot messages in the thread history when
starting a new thread session, formats them with role=assistant under
a "Bot (this assistant)" sender label, and adds
`channels.slack.thread.includeRootMessage` (default `true`) to opt out.
Bot messages still bypass allowlist visibility filtering since the
bot's own output is not third-party content.

Fixes #79338.

* fix(slack): wire includeRootMessage into runtime config schema (#79338)

The first commit added `channels.slack.thread.includeRootMessage` to
the TypeScript type and zod schema, but the runtime AJV-style schema
generated from `extensions/slack/src/config-ui-hints.ts` rejected the
new field with `must NOT have additional properties` at gateway boot.

Adds the matching UI hint entry for `thread.includeRootMessage` and
regenerates the bundled channel config metadata so the live gateway
accepts the new field.

* Narrow Slack thread root context handling

Remove the public includeRootMessage config and keep the Slack thread fix focused on including only the current bot's root message on the first turn of a new thread session.

Preserve filtering of arbitrary current-bot Slack history while ensuring #79338 has parent/root context.

* Fix Slack thread root CI checks

---------

Co-authored-by: Bek <bek.akhmedov@gmail.com>
2026-05-11 01:09:03 -04:00
nickmopen
b90f28e895 fix(ui): prevent programmatic scrollTo from flipping chatUserNearBott… (#76991)
* fix(ui): prevent programmatic scrollTo from flipping chatUserNearBottom during streaming

* fix(ui): preserve user scroll-up events that arrive during programmatic scroll guard window

* test(ui): add unit coverage for programmatic scroll guard boundary and retry path

* fix(ui): preserve chat scroll bookkeeping

* chore: drop unrelated slack formatting

* test: narrow inbound dedupe claim result

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-11 05:07:19 +01:00
Peter Steinberger
4c26c90bee test: tighten slack reply assertions 2026-05-11 04:42:50 +01:00
Peter Steinberger
a99d8b82d9 test: tighten slack unfurl assertions 2026-05-11 04:40:39 +01:00
Peter Steinberger
15cf49222f build: refresh deps and route testbox through crabbox 2026-05-11 03:41:00 +01:00
Shakker
7430475044 test: tighten slack outbound adapter assertions 2026-05-11 03:25:06 +01:00
Shakker
b96e7f63ba test: tighten slack message tool actions 2026-05-11 03:21:51 +01:00
Shakker
bec2dc2f72 test: tighten slack interactive block assertions 2026-05-11 03:14:41 +01:00
Shakker
aaa5261c32 test: tighten slack outbound delivery assertions 2026-05-11 03:12:22 +01:00
Shakker
6274166940 test: tighten slack block edit assertions 2026-05-11 03:10:29 +01:00