Vincent Koc
01d49cf32f
fix(discord): make inbound retries explicit
2026-04-13 15:53:52 +01:00
Peter Steinberger
1ea332a658
fix: repair CI type checks
2026-04-12 12:04:59 -07:00
Peter Steinberger
d35cc6ef86
fix(discord): declare gateway heartbeat timeout state
2026-04-12 11:52:56 -07:00
Peter Steinberger
cb5a25d8d8
fix(discord): normalize legacy streaming aliases
2026-04-12 11:52:56 -07:00
Peter Steinberger
e76c2812b7
style: apply oxfmt
2026-04-12 11:28:43 -07:00
Peter Steinberger
c4412c6b0c
fix: compact discord allowlist resolution logs
2026-04-12 19:08:59 +01:00
saram ali
7995e408ce
fix(discord): clear stale heartbeat timers in SafeGatewayPlugin.connect() ( #65087 )
...
* fix(discord): clear stale heartbeat timers in SafeGatewayPlugin.connect()
The @buape/carbon@0.15 .0 heartbeat setup has a race where stopHeartbeat()
runs before heartbeatInterval is assigned, leaving a stale setInterval with
a closed reconnectCallback. When the stale interval fires ~41s later it
throws an uncaught exception that bypasses the EventEmitter error path and
crashes the gateway process via process.on('uncaughtException').
Add a connect() override in SafeGatewayPlugin that unconditionally clears
both heartbeatInterval and firstHeartbeatTimeout before calling super. The
parent's connect() only calls stopHeartbeat() when isConnecting=false; when
isConnecting=true it returns early without clearing — this override fills
that gap.
Fixes #65009 . Related: #64011 , #63387 , #62038 .
* test(discord): assert super.connect() delegation in SafeGatewayPlugin tests
* fix(ci): update raw-fetch allowlist line numbers for gateway-plugin.ts
The connect() override added in the heartbeat fix shifted the two
pre-existing fetch() callsites from lines 370/436 to 387/453.
* docs(changelog): add discord heartbeat crash note
* test(cli): align plugin registry load-context mock
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-04-12 18:40:04 +01:00
Peter Steinberger
a8e140e395
chore: bump version to 2026.4.12
2026-04-12 10:37:18 -07:00
Vincent Koc
43cb94a39a
fix(doctor): preserve discord streaming downgrade compatibility
2026-04-12 17:09:08 +01:00
Mason Huang
48bcb89a47
tests(contracts): use contract-api for Slack and Discord directories ( #65280 )
2026-04-12 18:54:58 +08:00
Vincent Koc
1be43777e0
test(discord): import guild entry fixture type
2026-04-12 09:34:55 +01:00
Vincent Koc
6750bc36dd
test(discord): share successful dm button assertions
2026-04-12 09:29:50 +01:00
Vincent Koc
bde62fcf82
test(ci): fix discord and voice-call type fixtures
2026-04-12 09:26:01 +01:00
Vincent Koc
9e641af011
test(discord): share guild interaction auth fixtures
2026-04-12 09:11:41 +01:00
Vincent Koc
e8786e0f01
test(discord): share replyTo chunk mode case
2026-04-12 08:50:00 +01:00
Tak Hoffman
847739d82c
Fix dreaming replay, repair polluted artifacts, and gate wiki tabs ( #65138 )
...
* fix(active-memory): preserve parent channel context for recall runs
* fix(active-memory): keep recall runs on the resolved channel
* fix(active-memory): prefer resolved recall channel over wrapper hints
* fix(active-memory): trust explicit recall channel hints
* fix(active-memory): rank recall channel fallbacks by trust
* Fix dreaming replay and recovery flows
* fix: prevent dreaming event loss and diary write races
* chore: add changelog entry for memory fixes
* fix: harden dreaming repair and diary writes
* fix: harden dreaming artifact archive naming
2026-04-12 00:25:11 -05:00
Vincent Koc
560d56e8fd
test(discord): share native command autocomplete helper
2026-04-12 05:30:20 +01:00
Vincent Koc
45147d5ce3
test(extensions): dedupe bundled entry smoke tests
2026-04-12 03:09:18 +01:00
Peter Steinberger
0e3f9657da
fix(plugins): preserve bundled host compatibility floor
2026-04-12 00:22:32 +01:00
Vincent Koc
462d8e3bc0
fix(cycles): narrow channel runtime surface
2026-04-11 19:30:33 +01:00
HDYA
26f633b604
feat(msteams): add federated credential support (certificate + managed identity) ( #53615 )
...
* feat(msteams): add federated authentication support (certificate + managed identity + workload identity)
* msteams: fix vitest 4.1.2 compat, type errors, and regenerate config baseline
* msteams: fix lint errors, update fetch allowlist, regenerate protocol Swift
* fix(msteams): gate secret-only delegated auth flows
* fix(ci): unblock gateway watch and install smoke
* fix(ci): restore mergeability for pr 53615
* fix(ci): restore channel registry helper typing
* fix(ci): refresh raw fetch guard allowlist
---------
Co-authored-by: Chudi Huang <Chudi.Huang@microsoft.com >
Co-authored-by: Brad Groux <3053586+BradGroux@users.noreply.github.com >
2026-04-11 13:29:22 -05:00
Tak Hoffman
958c34e82c
feat(qa-lab): Add proxy capture stack and QA Lab inspector ( #64895 )
...
* Add proxy capture core and CLI
* Expand transport capture coverage
* Add QA Lab capture backend
* Refine QA Lab capture UI
* Fix proxy capture review feedback
* Fix proxy run cleanup and TTS capture
* Fix proxy capture transport follow-ups
* Fix debug proxy CONNECT target parsing
* Harden QA Lab asset path containment
2026-04-11 12:34:57 -05:00
Vincent Koc
81535d394d
fix(cycles): repair broken type surfaces
2026-04-11 13:42:17 +01:00
Peter Steinberger
7273cae36b
test: move spawn and doctor coverage to owners
2026-04-11 07:54:19 +01:00
Peter Steinberger
1ab6e5dbf0
chore(release): bump version to 2026.4.11
2026-04-11 04:51:17 +01:00
Peter Steinberger
d515009c53
fix(ci): stabilize auto-reply CI tests
2026-04-11 04:09:10 +01:00
Peter Steinberger
1c7444dab6
perf: optimize test import surfaces
2026-04-11 03:08:58 +01:00
Peter Steinberger
85c7748520
lint: enable no extraneous class
2026-04-11 01:45:06 +01:00
Tak Hoffman
a3b047b5fc
Preserve Discord lifecycle windows on rebind
2026-04-10 19:29:29 -05:00
Tak Hoffman
b2475884fd
Preserve Discord binding metadata on rebind
2026-04-10 19:19:53 -05:00
Peter Steinberger
b146c0c26b
perf: skip bundled session fallback on hot paths
2026-04-11 01:18:11 +01:00
Peter Steinberger
d44cd0d452
style: apply oxformat cleanup
2026-04-11 01:17:51 +01:00
Peter Steinberger
a94b926944
refactor: simplify messaging conversions
2026-04-11 01:04:46 +01:00
Peter Steinberger
5f089b6c2c
refactor: simplify discord preflight conversions
2026-04-11 00:04:02 +01:00
Peter Steinberger
97df07ed9a
refactor: simplify discord allow-list normalization
2026-04-11 00:01:08 +01:00
Peter Steinberger
c28900f509
refactor: simplify discord thread ids
2026-04-10 23:59:29 +01:00
Peter Steinberger
d56886e10d
test: simplify discord model picker component checks
2026-04-10 23:46:45 +01:00
Peter Steinberger
9832559f45
refactor: simplify discord send result ids
2026-04-10 23:44:53 +01:00
Peter Steinberger
a73dc477d7
style: apply oxfmt cleanup
2026-04-10 23:09:37 +01:00
Peter Steinberger
d236cb4680
chore: enable redundant type constituent checks
2026-04-10 21:23:40 +01:00
Peter Steinberger
0ebeee8b0d
chore: enable consistent-return
2026-04-10 20:56:43 +01:00
Peter Steinberger
f6ed276f51
style: apply updated formatter output
2026-04-10 19:17:39 +01:00
Peter Steinberger
8127c6cc15
build(deps): update workspace dependencies
2026-04-10 19:17:39 +01:00
Hana Chang
8c876e311f
test(discord): prefer claude-sonnet-4-6 in thread-title fixture
...
Follow repo testing guideline to prefer sonnet-4.6 for Anthropic model
constants in tests (per CLAUDE.md, flagged by Greptile review on #64172 ).
2026-04-10 14:07:22 +01:00
Hana Chang
537479f5b0
fix(discord): raise thread title max tokens for reasoning models
...
When the simple-completion model selected for thread-title generation is a
reasoning model (e.g. MiniMax M2, Claude thinking models, OpenAI o-series),
the 24-token output budget is entirely consumed by the internal thinking
block before any user-visible text is emitted. extractAssistantText then
returns an empty string, generateThreadTitle returns null, and the
auto-thread rename is silently skipped while the feature appears to do
nothing.
Raise DISCORD_THREAD_TITLE_MAX_TOKENS to 512 so there is enough headroom
for a short thinking pass plus the 3-6 word title output. The generous
ceiling only matters when the provider actually reasons; non-reasoning
models still emit a short title and stop early at end-of-sequence.
Verified live against a MiniMax M2 reasoning model served through an
Anthropic-compatible API endpoint: before the fix, the rename never fired;
after the fix, the thread is renamed with a concise generated title.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-10 14:07:22 +01:00
Peter Steinberger
feb3c7f823
fix(test): repair rebased gate failures
2026-04-10 10:12:07 +01:00
Vincent Koc
c3d3cf23bc
fix(approval): split discord and slack runtime seams
2026-04-10 09:08:28 +01:00
Peter Steinberger
c919cc2cef
fix(discord): restore modal type exports
2026-04-10 08:27:54 +01:00
Vincent Koc
1c78822a1f
fix(discord): split interactive component types
2026-04-10 08:16:27 +01:00
Vincent Koc
4aa61cf8ca
fix(extensions): remove barrel type back-edges
2026-04-10 08:16:27 +01:00