vovapetry
b5876a1086
fix(telegram): route reactions to their originating forum topics
...
Recover Telegram forum reaction topics from provider-observed message context before authorization, and drop unknown topics instead of routing them to General. Serialize each forum message with its reaction update to avoid cache races. Thanks @vovapetry.
2026-08-04 18:49:57 +05:30
YangManBOBO
c6c7d7d9de
fix(telegram): retry update offset persistence
...
Keep accepted and committed Telegram update offsets separate, retry transient state-store failures, and preserve classic plus isolated restart dedupe.
Co-authored-by: 潘晓波0668000512 <pan.xiaobo@xydigit.com >
2026-08-04 17:37:56 +05:30
alfredjbclaw
b6a445c393
fix(telegram): preserve later chunks after rejected sends
...
Prevent Telegram long replies from silently losing their tail after definite per-chunk rejections. Preserve accepted message IDs and explicit partial-delivery state across durable, rich fallback, and streamed replies.
Co-authored-by: alfredjbclaw <alfredjbclaw@users.noreply.github.com >
2026-08-04 14:06:18 +05:30
Galin Iliev
1b58ecb5af
fix(telegram): use monotonic polling liveness
...
Measure Telegram polling deadlines with a monotonic clock so wall-clock corrections cannot trigger false restarts or negative durations. Preserve the worker deadline and continued-stall recovery.
Co-authored-by: Galin Iliev <Galin.Iliev@microsoft.com >
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-08-04 12:49:13 +05:30
Peter Steinberger
84cfc43684
fix(telegram): keep request deadlines through response bodies
...
Keep Telegram Bot API deadlines and cancellation active until grammY finishes consuming each response body. Cancel discarded HTTP 421 bodies before retry and cover the stalled group-dispatch boundary with typed socket and live Telegram proof.
2026-08-04 11:40:41 +05:30
tangtaizong666
2ea3b0da98
fix(telegram): record automatic delivery message ids
...
Record every accepted Telegram automatic delivery in the scoped sent-message ledger, including finalized streaming previews. This restores bot-owned reaction checks and removes the per-send full-ledger expiry scan.
2026-08-04 10:45:00 +05:30
Peter Steinberger
f9d9d1225a
refactor(channels): own the lifecycle status contract in SDK patch factories ( #118795 )
...
* refactor(sdk): add channel lifecycle patch factories
* refactor(channels): adopt lifecycle patches in a-m
* refactor(channels): adopt lifecycle patches in n-z
* refactor(runtime): lifecycle-own ambient registries
* test(slack): assert lifecycle factory fields
* fix(sdk): preserve lifecycle patch extras types
* test(zalouser): widen lifecycle status sink
* test(irc): avoid shadowed status patch
* fix(zalo): reuse account-agnostic media route
* fix(gateway): accept explicit channel ready recovery
* test(qa): assert terminal Slack block fact
* test(qa): restore Slack blocked lifecycle scenario
* test(gateway): lock explicit lifecycle recovery contract
2026-08-03 12:39:48 -07:00
Dinesh H Suthar
430fca67ff
fix(reply): preserve streamed Telegram replies on failure
...
Preserve already-visible Telegram partial replies when a later run failure occurs. Finalize the same draft with the terminal notice while keeping the reply operation in run_failed state.
Co-authored-by: Dinesh Suthar <dineshsld20@gmail.com >
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-08-04 01:38:59 +09:00
Peter Steinberger
ed8881c308
fix(channels): deny unauthorized Discord and Telegram binding access ( #118704 )
...
* fix(channels): deny unauthorized Discord and Telegram binding access
* test(discord): remove retired access-group config key
2026-08-03 08:37:00 -07:00
Peter Steinberger
8e35fb4963
test(channels): consolidate remaining channel scaffolding ( #118493 )
...
* test(channels): consolidate channel scaffolding
* test(channels): fix helper typings
2026-08-02 23:03:54 -07:00
Peter Steinberger
97034f3d95
fix(telegram): recover directed turns after empty model replies ( #118305 )
...
* fix(telegram): recover empty directed replies
* test: fix empty-reply assertions
* test: restore result assertions
---------
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-02 19:53:43 -07:00
Peter Steinberger
f0d8cd3603
test(telegram): deduplicate dispatch fixtures ( #118319 )
2026-08-02 19:05:18 -07:00
Vincent Koc
d93d07ac02
fix(telegram): prevent durable ingress lane spins ( #118357 )
...
* fix(channels): prevent ingress lane reconciliation spins
* fix(ui): restore composer lint budget
2026-08-03 09:58:19 +08:00
Peter Steinberger
c965909a30
perf(channels): defer partial text sanitization ( #118349 )
2026-08-02 18:19:21 -07:00
Ayaan Zaidi
5aae66f4e3
fix(telegram): preserve pre-tool text during CLI tool calls
...
Preserve Claude CLI commentary outside Telegram’s disposable progress stream so tool-summary collapse cannot erase user-visible pre-tool text.
Validated with real-user Telegram E2E and focused regression coverage.
2026-08-03 08:21:56 +09:00
Peter Steinberger
474c4e671e
fix(telegram): preserve tables across legacy message delivery ( #118257 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-02 15:32:46 -07:00
Peter Steinberger
0c32879d45
feat(channels): publish recorded lifecycle from bundled channel transitions ( #118110 )
...
* feat(channels): publish recorded lifecycle from bundled channel transitions
* chore: remove lifecycle changelog entry
2026-08-02 13:04:49 -07:00
Peter Steinberger
999f14392b
fix(telegram): preserve question choices across button rows ( #118049 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-02 11:49:35 -07:00
Vincent Koc
b84e14f222
fix(telegram): ignore commands for other bots ( #118024 )
2026-08-03 00:25:50 +08:00
Burakagent
d310ca3e0c
fix(telegram): honor zero DM history while preserving replies ( #116985 )
...
* fix(telegram): honor zero DM history while preserving replies
* fix(telegram): apply effective DM history limit end to end
* fix(telegram): keep DM history default private
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-08-02 18:01:46 +08:00
Peter Steinberger
ac28f4d558
fix: release channel delivery resources reliably ( #117855 )
...
* fix(channels): consolidate delivery lifecycle ownership
* test(msteams): match release mock contract
* test(plugin-sdk): satisfy promise executor lint
* chore(plugin-sdk): regenerate API baseline for delivery-correlation + fetch-runtime exports
2026-08-02 00:24:47 -07:00
Peter Steinberger
7068bc2ffe
fix(telegram): serialize approval ingress sessions ( #117861 )
...
* fix(telegram): serialize approval ingress sessions
* fix(telegram): narrow approval session tuples
* fix(ingress): return lane reconciliation result
---------
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-01 23:57:31 -07:00
Peter Steinberger
523907b5ec
fix(telegram): retain every message in multipart delivery receipts ( #117863 )
2026-08-01 23:37:41 -07:00
Peter Steinberger
d1372b9abd
test(telegram): consolidate inbound cache fixtures ( #117844 )
2026-08-01 23:07:53 -07:00
Peter Steinberger
a9662914b0
fix(telegram): reject unauthorized command media before any download ( #117821 )
...
* fix(telegram): reject unauthorized command media before download
* fix(telegram): reject all unauthorized command media before download
2026-08-01 23:00:25 -07:00
Peter Steinberger
59a6abd065
test: consolidate embedded agent and channel suites ( #117826 )
...
* test: consolidate embedded agent and channel suites
* test: type reply reconciliation table rows
* test: preserve raw telegram config fixture
2026-08-01 22:14:32 -07:00
Peter Steinberger
846bef946d
fix(channels): tighten probe and delivery lifecycles ( #117812 )
...
* fix(channels): tighten probe and delivery lifecycles
* test(zalo): type probe fetch mocks
2026-08-01 22:12:24 -07:00
Peter Steinberger
ceb8a8b3a1
fix(telegram): preserve transient getFile responses when retrying media ( #117798 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-01 22:11:26 -07:00
Peter Steinberger
e98fdeefdf
refactor(errors): consolidate message formatting ( #117818 )
2026-08-01 22:05:49 -07:00
Peter Steinberger
aadbb00f2c
fix(telegram): apply group media policy before inbound downloads ( #117537 )
...
* fix(telegram): apply group media policy before inbound downloads
* test(telegram): consolidate inbound media owner regression matrix
* fix(telegram): format media group ingest
* test(telegram): restore media group policy coverage
---------
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-01 20:31:21 -07:00
Vincent Koc
5327965541
perf(telegram): isolate migration persistence metadata ( #117759 )
2026-08-02 11:19:07 +08:00
Peter Steinberger
28e681c92f
fix(channels): preserve workspace media access in gateway sends ( #117711 )
2026-08-01 18:09:17 -07:00
Peter Steinberger
568ea29d2e
refactor(plugins): inherit shared package boundary settings ( #117474 )
2026-08-01 09:11:09 -07:00
weiqinl
ba2827f706
fix(telegram): use Array.from instead of spread for code point length validation ( #111443 )
2026-08-01 08:33:12 -07:00
Vincent Koc
f5a8cb02ea
test(release): repair full validation regressions ( #116931 )
...
* test(discord): mock thread delete listener
* test(qa): expect blocked update evidence
* test(telegram): preserve recovered context body
* fix(test): configure kitchen-sink personality
* test(browser): expect canonical staged upload paths
* test(browser): canonicalize macOS download roots
* test(feishu): seed legacy session rows offline
* test(telegram): isolate message context session stores
* test(qqbot): expect canonical media paths
* test(anthropic): match canonical transcript paths
* test(qa): expect canonical session store keys
* test(gateway): isolate rewind media reads
* test(release): review plugin child spawns
* test(plugins): expect process-stable manifest metadata
* test(google): retire usage telemetry contracts
2026-08-01 15:42:50 +08:00
Peter Steinberger
08fc4f5a06
fix(telegram): hide disabled send actions from discovery ( #117241 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-01 00:15:17 -07:00
Jason (Json)
a0fe02a6dc
fix(telegram): confirm polling before long poll ( #116970 )
2026-07-31 21:11:00 -06:00
Peter Steinberger
9e4381eb1c
refactor(channels): unify bundled channel setup contracts ( #117106 )
...
* refactor(channels): canonicalize bundled setup contracts
* test(matrix): use scoped environment fixtures
2026-07-31 16:57:29 -07:00
Peter Steinberger
b8b4a11b38
refactor(telegram): unify outbound media delivery ( #117102 )
2026-07-31 16:46:22 -07:00
Peter Steinberger
510ace0fbb
fix(telegram): avoid polling stalls from full thread-binding rewrites ( #117081 )
...
* fix(telegram): avoid rewriting every thread binding on activity
* test(telegram): satisfy thread-binding unbind contract
2026-07-31 16:22:33 -07:00
Jason (Json)
2a56ce9ad5
fix(telegram): bound ingress worker shutdown ( #116978 )
2026-07-31 16:26:39 -06:00
Peter Steinberger
745b9a9ca9
fix(telegram): canonicalize topic mutation targets ( #117001 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 12:41:48 -07:00
Peter Steinberger
be93d44275
fix(telegram): preserve explicit empty media captions ( #116984 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 11:46:34 -07:00
Peter Steinberger
4996474178
fix(telegram): preserve outbound media metadata and rejected photos ( #116886 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 09:33:27 -07:00
Peter Steinberger
de5ab5e1d4
fix(telegram): preserve inbound polls and batched text entities ( #116898 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 08:52:37 -07:00
Peter Steinberger
77b3667757
fix(telegram): budget media captions by visible text ( #116892 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 08:11:55 -07:00
Vincent Koc
b45ca07ec9
fix(ci): keep full release validation aligned with runtime state ( #116653 )
...
Align Telegram artifact reuse and packaged Docker validation with current GitHub Actions and runtime state contracts. Refresh affected regression fixtures and isolate test state.
2026-07-31 23:03:02 +08:00
Peter Steinberger
146bb513e8
fix(telegram): preserve album captions and topic-aware media retries ( #116827 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 05:36:46 -07:00
Peter Steinberger
b9e55935f8
fix(telegram): preserve edit previews, message cache, and group history ( #116818 )
...
* test(telegram): cover edited message preview and cache ownership
* fix(telegram): preserve edit previews and refresh message context
* fix(telegram): keep edited messages out of new group history
---------
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 05:13:01 -07:00
Peter Steinberger
1a0fde18d6
fix(commands): validate native settings and preserve Telegram ingress outcomes ( #116773 )
...
* fix(commands): validate native directives and preserve Telegram outcomes
* test(commands): isolate native directive fast runtime
---------
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-07-31 04:36:54 -07:00