Commit Graph

31092 Commits

Author SHA1 Message Date
Vincent Koc
114ff23f2a perf(config): skip shell env fallback for explicit empty vars 2026-04-13 19:09:11 +01:00
Ptah.ai
8c43768e27 fix: expose telegram topic names in agent context (#65973) (thanks @ptahdunbar)
* feat(telegram): expose forum topic names in agent context

Telegram Bot API does not provide a method to look up forum topic names
by thread ID. This adds an in-memory LRU cache that learns topic names
from service messages (forum_topic_created, forum_topic_edited,
forum_topic_closed, forum_topic_reopened) and seeds from
reply_to_message.forum_topic_created as a fallback for pre-existing
topics.

The resolved topic name is surfaced as:
- TopicName in MsgContext (available to {{TopicName}} in templates)
- topic_name in the agent prompt metadata block
- topicName in plugin hook event metadata

Includes unit tests for the topic-name-cache module (11 tests including
eviction and read-recency).

Known limitation: cache is in-memory only; after a restart it falls back
to the creation-time name until a rename event is observed.

* refactor(telegram): distill topic name flow

* fix: expose telegram topic names in agent context (#65973) (thanks @ptahdunbar)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-13 23:38:14 +05:30
Mariano
a56dbae80b test(telegram): add inbound retry regressions (#66075)
Merged via squash.

Prepared head SHA: 175cd25889
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-13 20:07:23 +02:00
Omar Shahine
85cfba675a fix(bluebubbles): lazy-refresh Private API status on send (#43764) (#65447)
* fix(bluebubbles): lazy refresh Private API cache on send to prevent silent reply threading degradation (#43764)

When the 10-minute server info cache expires, sends requesting reply
threading or effects silently degrade to plain messages. Add a lazy
async refresh of the cache in the send path when Private API features
are needed but status is unknown, preserving graceful degradation if
the refresh fails.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(bluebubbles): apply lazy Private API refresh to attachment sends and add missing test coverage (#43764)

Attachment sends had the same cache-expiry bug as text sends: when the
10-minute Private API status cache TTL expired, reply threading metadata
was silently dropped. Apply the same lazy-refresh pattern from send.ts.

Also add the missing "refresh succeeds with private_api: false" test case
for both send.ts and attachments.ts — proves effects throw and reply
threading degrades without the "unknown" warning when the API is explicitly
disabled.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* chore: update no-raw-channel-fetch allowlist for test-harness line shift

Adding fetchBlueBubblesServerInfo to the probe mock module shifted
globalThis.fetch in test-harness.ts from line 128 to 130.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Lobster <lobster@shahine.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 11:03:47 -07:00
Vincent Koc
ab4efa47b5 perf(cron): keep skill filter runtime lazy 2026-04-13 18:58:32 +01:00
Vincent Koc
28787985c4 perf(cron): lazy-load delivery runtime helpers 2026-04-13 18:55:54 +01:00
Mariano Belinky
fbdbd998d3 fix(session): clear stale thread route on system events 2026-04-13 19:55:15 +02:00
Vincent Koc
a372e4a152 perf(agents): isolate agent scope config helpers 2026-04-13 18:49:25 +01:00
Mariano
2c59ba24af fix(browser): detect local attachOnly loopback CDP sessions (#66080)
Merged via squash.

Prepared head SHA: 90c1c10cc9
Reviewed-by: @mbelinky
2026-04-13 19:46:56 +02:00
Vincent Koc
117ae85bf5 perf(agents): isolate thinking default helper 2026-04-13 18:39:38 +01:00
Vincent Koc
5b11985439 perf(cron): lazy-load external content runtime 2026-04-13 18:34:04 +01:00
Vincent Koc
a5980df101 perf(cron): lazy-load run executor runtime 2026-04-13 18:30:54 +01:00
Vincent Koc
c70be4b4af perf(sessions): isolate reset policy helpers 2026-04-13 18:28:53 +01:00
Vincent Koc
b6abd68a29 perf(channels): split hot-path message channel normalization 2026-04-13 18:22:12 +01:00
Mariano
527895f036 Gateway/sessions: preserve shared session route on system events (#66073)
Merged via squash.

Prepared head SHA: 314a93578e
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-13 19:19:58 +02:00
Vincent Koc
907df51478 perf(cron): use narrow verbose-level runtime seam 2026-04-13 18:14:23 +01:00
Vincent Koc
93ce76afe3 perf(agents): use lightweight model fallback selection helpers 2026-04-13 18:12:09 +01:00
Vincent Koc
241349cdc5 perf(cron): use lightweight model selection resolver 2026-04-13 18:12:09 +01:00
Vincent Koc
3df3981e26 perf(cron): drop stale skill snapshot runtime exports 2026-04-13 18:12:09 +01:00
Vincent Koc
1b20c1aca4 fix(nostr): dedupe deterministic rejected events 2026-04-13 18:07:23 +01:00
Vincent Koc
d1e3ed3743 fix(plugins): serialize interactive callback dedupe 2026-04-13 18:04:28 +01:00
Vincent Koc
6d85dda336 test(cron): mock skills snapshot runtime seam 2026-04-13 18:02:09 +01:00
Vincent Koc
77f1ea0de8 fix(telegram): retry failed approval callbacks 2026-04-13 18:00:38 +01:00
Vincent Koc
8f3e2296f9 perf(cron): use narrow bound-account lookup 2026-04-13 17:57:47 +01:00
Vincent Koc
aa017bf9dd fix(telegram): retry failed model selections 2026-04-13 17:57:05 +01:00
Vincent Koc
df4c086c52 perf(cron): narrow execution and skill runtime imports 2026-04-13 17:52:19 +01:00
Vincent Koc
20248c475f fix(voice-call): keep retryable errors replayable 2026-04-13 17:50:27 +01:00
Vincent Koc
31233a1995 perf(sessions): use loaded thread-info seam 2026-04-13 17:49:46 +01:00
Mariano
8cfdc8dea1 fix(browser): unblock managed loopback CDP startup and control (#66043)
Merged via squash.

Prepared head SHA: c3d0a99ffa
Reviewed-by: @mbelinky
2026-04-13 18:48:48 +02:00
Vincent Koc
a7ac3c666c fix(mattermost): dedupe repeated model picker selects 2026-04-13 17:47:29 +01:00
Vincent Koc
b2589ac451 perf(cron): use read-only allow-from store seam 2026-04-13 17:47:05 +01:00
Vincent Koc
fdf7dbd6eb perf(channels): read bundled channel metadata directly 2026-04-13 17:43:36 +01:00
Vincent Koc
88111453cb fix(telegram): retry failed model browser callbacks 2026-04-13 17:42:06 +01:00
Vincent Koc
1f7f8b02d0 fix(telegram): retry failed pagination preflight 2026-04-13 17:38:02 +01:00
Vincent Koc
139a3f49fe perf(cron): lazy-load delivery logger runtime 2026-04-13 17:37:29 +01:00
Vincent Koc
f1ec7a75f6 fix(telegram): retry failed plugin binding callbacks 2026-04-13 17:34:59 +01:00
Vincent Koc
96a6f55da8 perf(utils): isolate message channel normalization 2026-04-13 17:34:46 +01:00
Vincent Koc
be68309e7b perf(outbound): narrow loaded target channel reads 2026-04-13 17:34:27 +01:00
Vincent Koc
eed595bba9 perf(channels): isolate loaded target parsing 2026-04-13 17:28:09 +01:00
Vincent Koc
0c5471ef8e fix(telegram): retry failed commands pagination callbacks 2026-04-13 17:26:55 +01:00
Mariano
b42c999633 fix(heartbeat): preserve Telegram topic routing for isolated heartbeats (#66035)
Merged via squash.

Prepared head SHA: 83b986a4c3
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-13 18:26:19 +02:00
Vincent Koc
a78d922acf fix(telegram): retry failed model callbacks 2026-04-13 17:24:51 +01:00
Vincent Koc
bde246e7af perf(auth-profiles): narrow source check path imports 2026-04-13 17:23:59 +01:00
Vincent Koc
3ceba442b7 perf(plugins): isolate manifest registry cache state 2026-04-13 17:21:21 +01:00
Vincent Koc
da3977e681 perf(agents): narrow failover helper imports 2026-04-13 17:21:21 +01:00
Vincent Koc
ab143a754c fix(telegram): retry failed reaction updates 2026-04-13 17:19:46 +01:00
Vincent Koc
6eb04c8aab perf(outbound): isolate id-like target resolution 2026-04-13 17:17:26 +01:00
Vincent Koc
8628d05ecd fix(telegram): retry failed group migration updates 2026-04-13 17:16:39 +01:00
Vincent Koc
08ca248378 perf(outbound): use loaded-only channel plugin reads 2026-04-13 17:12:27 +01:00
Vincent Koc
ae3d731810 perf(outbound): use read-only channel registry seam 2026-04-13 17:05:53 +01:00