Xinhua Gu
dd6047d998
fix(cron): prevent duplicate fires when multiple jobs trigger simultaneously ( #14256 )
...
The `computeNextRunAtMs` function used `nowSecondMs - 1` as the
reference time for croner's `nextRun()`, which caused it to return the
current second as a valid next-run time. When a job fired at e.g.
11:00:00.500, computing the next run still yielded 11:00:00.000 (same
second, already elapsed), causing the scheduler to immediately re-fire
the job in a tight loop (15-21x observed in the wild).
Fix: use `nowSecondMs` directly (no `-1` lookback) and change the
return guard from `>=` to `>` so next-run is always strictly after
the current second.
Fixes #14164
2026-02-11 22:04:17 -06:00
Rodrigo Uroz
b912d3992d
(fix): handle Cloudflare 521 and transient 5xx errors gracefully ( #13500 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: a8347e95c5
Co-authored-by: rodrigouroz <384037+rodrigouroz@users.noreply.github.com >
Co-authored-by: Takhoffman <781889+Takhoffman@users.noreply.github.com >
Reviewed-by: @Takhoffman
2026-02-11 21:42:33 -06:00
Tak Hoffman
c28cbac512
CI: add PR size autolabel workflow ( #14410 )
2026-02-11 21:12:27 -06:00
Jake
631102e714
fix(agents): scope process/exec tools to sessionKey for isolation ( #4887 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 5d30672e75
Co-authored-by: mcinteerj <3613653+mcinteerj@users.noreply.github.com >
Co-authored-by: Takhoffman <781889+Takhoffman@users.noreply.github.com >
Reviewed-by: @Takhoffman
2026-02-11 19:55:12 -06:00
Vignesh Natarajan
36e27ad561
Memory: make qmd search-mode flags compatible
2026-02-11 17:51:08 -08:00
Vignesh Natarajan
6d9d4d04ed
Memory/QMD: add configurable search mode
2026-02-11 17:51:08 -08:00
cpojer
c2f9f2e1cd
chore: Remove accidentally committed .md file.
2026-02-12 09:45:58 +09:00
cpojer
018ebb35ba
chore: Clean up pre-commit hook.
2026-02-12 09:44:30 +09:00
cpojer
c2178e2522
chore: Cleanup useless CI job.
2026-02-12 09:37:45 +09:00
cpojer
9df89ceda2
chore: Update deps.
2026-02-12 09:15:12 +09:00
0xRain
1d2c5783fd
fix(agents): enable tool call ID sanitization for Anthropic provider ( #13830 )
...
Co-authored-by: 0xRaini <0xRaini@users.noreply.github.com >
2026-02-12 08:42:24 +09:00
0xRain
43818e1583
fix(agents): re-run tool_use pairing repair after history truncation ( #13926 )
...
Co-authored-by: 0xRaini <0xRaini@users.noreply.github.com >
2026-02-12 08:42:05 +09:00
0xRain
bebba124e8
fix(ui): escape raw HTML in chat messages instead of rendering it ( #13952 )
...
Co-authored-by: 0xRaini <0xRaini@users.noreply.github.com >
2026-02-12 08:40:40 +09:00
0xRain
729181bd06
fix(agents): exclude rate limit errors from context overflow classification ( #13747 )
...
Co-authored-by: 0xRaini <rain@0xRaini.dev >
2026-02-12 08:40:09 +09:00
Vignesh Natarajan
2f1f82674a
Memory/QMD: harden no-results parsing
2026-02-11 15:39:28 -08:00
Vignesh Natarajan
3d343932cf
Memory/QMD: treat plain-text no-results as empty
2026-02-11 15:39:28 -08:00
buddyh
4baa43384a
fix(media): guard local media reads + accept all path types in MEDIA directive
2026-02-11 15:01:18 -08:00
ENCHIGO
029b77c85b
onboard: support custom provider in non-interactive flow ( #14223 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 5b98d6514e
Co-authored-by: ENCHIGO <38551565+ENCHIGO@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-11 14:48:45 -05:00
Shadow
c8d9733e41
Changelog: add #13262 entry
2026-02-11 13:27:05 -06:00
Claude Code
a67752e6be
fix(discord): use partial mock for @buape/carbon in slash test
...
Replace the full manual mock with importOriginal spread so new SDK
exports are available automatically. Only ChannelType, MessageType,
and Client are overridden — the rest come from the real module.
Prevents CI breakage when @buape/carbon adds exports (e.g. the
recent StringSelectMenu failure that blocked unrelated PRs).
Closes #13244
2026-02-11 13:10:37 -06:00
Gustavo Madeira Santana
940ce424c8
chore: make review mode switching idempotent
2026-02-11 14:09:16 -05:00
Kyle Tse
4200782a5d
fix(heartbeat): honor heartbeat.model config for heartbeat turns ( #14103 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: f46080b0ad
Co-authored-by: shtse8 <8020099+shtse8@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-11 14:00:40 -05:00
Gustavo Madeira Santana
72fbfaa755
chore: making PR review chores deterministic + less token hungry
2026-02-11 13:21:00 -05:00
0xRain
93411b74a0
fix(cli): exit with non-zero code when configure/agents-add wizards are cancelled ( #14156 )
...
* fix(cli): exit with non-zero code when configure/agents-add wizards are cancelled
Follow-up to the onboard cancel fix. The configure wizard and
agents add wizard also caught WizardCancelledError and exited with
code 0, which signals success to callers. Change to exit(1) for
consistency — user cancellation is not a successful completion.
This ensures scripts that chain these commands with set -e will
correctly stop when the user cancels.
* fix(cli): make wizard cancellations exit non-zero (#14156 ) (thanks @0xRaini)
---------
Co-authored-by: Rain <rain@Rains-MBA-M4.local >
Co-authored-by: Sebastian <19554889+sebslight@users.noreply.github.com >
2026-02-11 13:07:30 -05:00
Seb Slight
6758b6bfe4
docs(channels): modernize imessage docs page ( #14213 )
2026-02-11 12:58:02 -05:00
Dario Zhang
e85bbe01f2
fix: report subagent timeout as 'timed out' instead of 'completed successfully' ( #13996 )
...
* fix: report subagent timeout as 'timed out' instead of 'completed successfully'
* fix: propagate subagent timeout status across agent.wait (#13996 ) (thanks @dario-github)
---------
Co-authored-by: Sebastian <19554889+sebslight@users.noreply.github.com >
2026-02-11 12:55:30 -05:00
Seb Slight
2c6569a488
docs(channels): modernize slack docs page ( #14205 )
2026-02-11 12:49:10 -05:00
0xRain
6d723c9f8a
fix(agents): honor heartbeat.model override instead of session model ( #14181 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: f19b789057
Co-authored-by: 0xRaini <190923101+0xRaini@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-11 12:46:51 -05:00
Seb Slight
8c963dc5a6
docs(channels): modernize whatsapp docs page ( #14202 )
2026-02-11 12:31:56 -05:00
Shadow
e95f41b5df
Discord: honor explicit thread type
2026-02-11 11:23:19 -06:00
Rain
9e92fc8fa1
fix(discord): default standalone threads to public type ( #14147 )
...
When creating a Discord thread without a messageId (standalone thread),
the Discord API defaults to type 12 (private). Most users expect public.
- Default standalone non-forum threads to ChannelType.PublicThread (11)
- Add optional type field to DiscordThreadCreate for explicit control
Closes #14147
2026-02-11 11:23:19 -06:00
Rain
42f7538320
fix(discord): default standalone threads to public type ( #14147 )
...
When creating a Discord thread without a messageId, the API defaults
to type 12 (private thread) which is unexpected. This adds an explicit
type: PublicThread (11) for standalone thread creation in non-forum
channels, matching user expectations.
Closes #14147
2026-02-11 11:23:19 -06:00
Seb Slight
b90610c099
docs(nav): move grammy page to technical reference ( #14198 )
2026-02-11 12:19:44 -05:00
Seb Slight
6bee638648
docs(channels): modernize discord docs page ( #14190 )
2026-02-11 12:12:31 -05:00
Shadow
c4018a9c57
PI: assign landpr to self
2026-02-11 11:12:04 -06:00
Seb Slight
a98d7c26df
docs(channels): fix telegram card icon ( #14193 )
2026-02-11 12:10:52 -05:00
Seb Slight
880f92c9e4
docs(channels): modernize telegram docs page ( #14168 )
2026-02-11 11:58:06 -05:00
J young Lee
2aa9570465
fix(slack): detect control commands when message starts with @mention ( #14142 )
...
Merged via /review-pr-v2 -> /prepare-pr-v2 -> /merge-pr-v2.
Prepared head SHA: cb0b4f6a3b
Co-authored-by: beefiker <55247450+beefiker@users.noreply.github.com >
Co-authored-by: gumadeiras <gumadeiras@gmail.com >
Reviewed-by: @gumadeiras
2026-02-11 11:41:48 -05:00
Kyle Tse
50a60b8be6
fix: use configured base URL for Ollama model discovery ( #14131 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 2292d2de6d
Co-authored-by: shtse8 <8020099+shtse8@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-11 10:51:59 -05:00
Seb Slight
3ed06c6f36
docs: modernize gateway configuration page (Phase 1) ( #14111 )
...
* docs(configuration): split into overview + full reference with Mintlify components
* docs(configuration): use tooltip for JSON5 format note
* docs(configuration): fix Accordion closing tags inside list contexts
* docs(configuration): expand intro to reflect full config surface
* docs(configuration): trim intro to three concise bullets
* docs(configuration-examples): revert all branch changes
* docs(configuration): improve hot-reload section with tabs and accordion
* docs(configuration): uncramp hot-reload — subheadings, bullet list, warning
* docs(configuration): restore hot-apply vs restart table
* docs(configuration): fix hot-reload table against codebase
* docs: add configuration-reference.md — full field-by-field reference
* docs(gateway): refresh runbook and align config reference
* docs: include pending docs updates and install graphic
2026-02-11 10:44:34 -05:00
Seb Slight
4625da476a
docs(skills): update mintlify skill to reference docs/ directory ( #14125 )
2026-02-11 09:46:52 -05:00
Seb Slight
f093ea1ed6
chore: update AGENTS.md and add mintlify skill ( #14123 )
2026-02-11 09:41:46 -05:00
Sebastian
a1a61f35df
chore(irc): sync plugin version to 2026.2.10
2026-02-11 08:38:33 -05:00
Sebastian
f32214ea27
fix(cli): drop logs --localTime alias noise
2026-02-11 08:35:49 -05:00
constansino
66ca5746ce
fix(config): avoid redacting maxTokens-like fields ( #14006 )
...
* fix(config): avoid redacting maxTokens-like fields
* fix(config): finalize redaction prep items (#14006 ) (thanks @constansino)
---------
Co-authored-by: Sebastian <19554889+sebslight@users.noreply.github.com >
2026-02-11 08:32:00 -05:00
Peter Lee
851fcb2617
feat: Add --localTime option to logs command for local timezone display ( #13818 )
...
* feat: add --localTime options to make logs to show time with local time zone
fix #12447
* fix: prep logs local-time option and docs (#13818 ) (thanks @xialonglee)
---------
Co-authored-by: xialonglee <li.xialong@xydigit.com >
Co-authored-by: Sebastian <19554889+sebslight@users.noreply.github.com >
2026-02-11 08:24:08 -05:00
Sk Akram
620cf381ff
fix: don't lowercase Slack channel IDs ( #14055 )
2026-02-11 20:53:58 +09:00
Peter Steinberger
92702af7a2
fix(plugins): ignore install scripts during plugin/hook install
2026-02-11 12:04:30 +01:00
Peter Steinberger
cfd112952e
fix(gateway): default-deny missing connect scopes
2026-02-11 12:04:30 +01:00
Rain
27453f5a31
fix(web-search): handle xAI Responses API format in Grok provider
...
The xAI /v1/responses API returns content in a structured format with
typed output blocks (type: 'message') containing typed content blocks
(type: 'output_text') and url_citation annotations. The previous code
only checked output[0].content[0].text without filtering by type,
which could miss content in responses with multiple output entries.
Changes:
- Update GrokSearchResponse type to include annotations on content blocks
- Filter output blocks by type='message' and content by type='output_text'
- Extract url_citation annotations as fallback citations when top-level
citations array is empty
- Deduplicate annotation-derived citation URLs
- Update tests for the new structured return type
Closes #13520
2026-02-11 11:59:07 +01:00