Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1186 commits
Select commit Hold shift + click to select a range
a5d1f68
refactor(moa): share one virtual-provider row builder across pickers
teknium1 Jun 27, 2026
ec769e4
fix(gateway): WhatsApp/Signal hints affirm markdown instead of forbid…
teknium1 Jun 27, 2026
76af245
fix(dashboard): merge PUT /api/config with existing on-disk config
Blaryxoff May 26, 2026
d3db732
chore(release): map blaryx@gmail.com → Blaryxoff for PR #32602 salvage
teknium1 Jun 27, 2026
f67c0b3
docs(hermes-agent skill): cover v0.13–v0.17 features, fix stale claim…
teknium1 Jun 27, 2026
b8b695e
fix(api): surface agent crash in SSE chat completions stream
flobo3 Apr 19, 2026
151ae1e
test(api-server): cover SSE failure finish_reason for both failure modes
teknium1 Jun 27, 2026
45ce35e
fix(agent): classify message-only 'overloaded' as server overload
Bartok9 Jun 26, 2026
864d552
test(curator): join straggler curator-review thread on fixture teardown
Bartok9 Jun 26, 2026
d73078e
fix(cron): make per-profile cron isolation intentional and tested (#4…
teknium1 Jun 27, 2026
68a65ed
fix(agent_init): correct misleading sub-64K context_length error mess…
teknium1 Jun 27, 2026
6fb25f8
fix(telegram): filter out bot's own messages from inbound processing …
Sahil-SS9 Jun 25, 2026
08e131f
test(telegram): cover bot self-message ingestion guard (#11905)
teknium1 Jun 27, 2026
1ce5d6d
fix(gateway): exclude _run_restart from _background_tasks to prevent …
zeapsu Apr 20, 2026
f2ca3e3
fix(gateway): hold _run_restart on _restart_task + explicit cancel-lo…
teknium1 Jun 27, 2026
ab1f9b9
fix(telegram): accept @username chat_id in delivery paths (#13206)
teknium1 Jun 27, 2026
00a8252
fix(agent): scope Ollama/GLM stop-to-length heuristic to Ollama only
yushu-sjtu Apr 20, 2026
266521b
refactor(agent): trim docstring per review feedback
yushu-sjtu Apr 21, 2026
f062cf0
fix(agent): also treat provider=ollama as an Ollama GLM backend
teknium1 Jun 27, 2026
52a09d8
fix(byterover): honor auto extract config
LeonSGP43 May 7, 2026
1011c07
fix(gateway): use owned executor for agent work
konsisumer Jun 4, 2026
b296915
fix(feishu): route blocking SDK calls through an adapter-owned executor
teknium1 Jun 27, 2026
7ee0b68
fix(gateway,feishu): refuse executor resurrection during real shutdown
teknium1 Jun 27, 2026
5ab4136
fix(webui): switch provider when Config-page model field changes (#53…
teknium1 Jun 27, 2026
e7c0134
fix(agent): preserve nested API error bodies
LeonSGP43 Apr 23, 2026
b34771f
fix(cli): disable prompt_toolkit CPR queries to stop escape-sequence …
Jun 27, 2026
1619210
fix(config): accept placeholder base_url in custom provider validation
ms-alan Jun 27, 2026
38e7bd8
fix(agent): classify 429 'overloaded' bodies as overloaded, not rate_…
teknium1 Jun 27, 2026
caf4dcc
fix(whatsapp): resolve phone↔LID aliases in adapter DM/group allowlis…
teknium1 Jun 27, 2026
d4c2217
fix(gateway): offload /model switch off the event loop (#53603)
teknium1 Jun 27, 2026
2002bb4
test(telegram): make config-bridge tests immune to ambient .env pollu…
teknium1 Jun 27, 2026
635841d
fix(agent): reload credential pool on switch_model provider change (#…
Tranquil-Flow Jun 27, 2026
3fe16e3
fix(fallback): attach credential pool after provider switch
herbalizer404 Jun 27, 2026
02b32e2
fix(moa): call reference + aggregator models through their provider's…
teknium1 Jun 27, 2026
dbc925b
Guard oversized Telegram video downloads
r266-tech Jun 11, 2026
88c0246
fix(mcp): never permanently wedge the circuit breaker on a dead trans…
teknium1 Jun 27, 2026
cd592c1
feat(send_message): native WhatsApp media delivery via Baileys bridge…
teknium1 Jun 27, 2026
fe1c1c1
fix(session_search): demote cron below interactive sessions in discov…
teknium1 Jun 27, 2026
9c81c93
fix(approval): honour tirith_fail_open=false on Tirith ImportError (#…
Beandon13 Jun 27, 2026
917f6bd
fix(tools): let vision pick any provider+model, not just OpenRouter (…
teknium1 Jun 27, 2026
190e1ff
fix(redact): mask passwords in lowercase/dotted config keys (#53590)
teknium1 Jun 27, 2026
f53b184
fix(ci): pass secrets down to docker workflows
ethernet8023 Jun 27, 2026
2732261
fix(update): route loud build/installer output to update.log instead …
teknium1 Jun 27, 2026
1b6ebb2
fix(agent): validate OpenRouter provider sort before request dispatch
konsisumer Jun 1, 2026
1ef19ba
fix(model): show MoA preset picker on selection and label MoA in the …
teknium1 Jun 27, 2026
25ec01f
fix(desktop): don't purge Electron cache / mirror-retry after a late …
ailthrim Jun 27, 2026
227e6c0
fix(moa): resolve context window from the aggregator, not the 256K de…
teknium1 Jun 27, 2026
d470ed0
fix(cli): commit tool scrollback lines in verbose mode (non-streaming…
teknium1 Jun 27, 2026
dbbf102
fix(terminal): strip VIRTUAL_ENV/CONDA_PREFIX from terminal subproces…
dalenguyen Jun 27, 2026
3b44a3c
feat(moa): show each reference model's output as a labelled block bef…
teknium1 Jun 27, 2026
ef17cd2
fix(windows): stop subprocess console-window popups + add CI guard (#…
teknium1 Jun 27, 2026
5db1430
fix(windows): stop terminal-window popups from background spawns (#53…
OutThisLife Jun 27, 2026
66aeda3
fix(moa): keep virtual provider on MoA client
helix4u Jun 27, 2026
e7bb673
fix(moa): preserve Codex slot routing
helix4u Jun 27, 2026
3ac96d3
fix(moa): resolve auxiliary tasks to the aggregator, not the preset n…
teknium1 Jun 27, 2026
2ecca1e
fix(windows): capture is not a no-window boundary; route flashing spa…
teknium1 Jun 27, 2026
1d32e5d
fix(gateway): relay _thinking bubbles when thinking_progress is on bu…
teknium1 Jun 27, 2026
d3d621f
revert(windows): roll back terminal-popup PRs #53791 #53810 #53829 (#…
teknium1 Jun 27, 2026
163cb24
feat(moa): render reference-model blocks in TUI and desktop, not just…
teknium1 Jun 28, 2026
8b4c29f
fix(auth): preserve concurrently-added credentials on pool rewrite
konsisumer Jun 5, 2026
ea8face
chore(release): add konsisumer to AUTHOR_MAP for PR #19608 salvage
teknium1 Jun 28, 2026
6717cfc
docs(gateway): warn against custom ExecStopPost kill drop-in (restart…
teknium1 Jun 28, 2026
ccf5269
fix(gateway): bound adapter teardown awaits on the stop path (#14128)
teknium1 Jun 28, 2026
a94f657
fix(tui): route completion RPCs to the pool so they can't freeze the …
teknium1 Jun 28, 2026
1a570da
fix(image-routing): unblock message queue on OpenRouter 'no endpoints…
teknium1 Jun 28, 2026
46e1880
fix(auxiliary): fall back on 401 auth errors in auto mode (#21165)
qWaitCrypto Jun 28, 2026
c56b39c
fix(auxiliary): fall back to OPENROUTER_API_KEY when credential pool …
LeonSGP43 Jun 28, 2026
1207d81
fix(gateway): unify outbound chat redaction onto authoritative redact…
teknium1 Jun 28, 2026
851f75d
fix(discord): honor "*" wildcard in DISCORD_ALLOWED_USERS (#22334)
bykim0119 Jun 28, 2026
c946e67
fix(agent): activate fallback on persistent transport failures (#22277)
linyubin Jun 28, 2026
4133cd9
docs(infographic): eager fallback on persistent transport failures
teknium1 Jun 28, 2026
6514be5
chore(release): add AUTHOR_MAP entry for linyubin (#50228 salvage)
teknium1 Jun 28, 2026
db16854
fix(telegram): surface failed media downloads to user and agent, not …
teknium1 Jun 28, 2026
5a5396a
fix(anthropic): reconcile keychain/file credentials when one is expired
May 7, 2026
1dde7e2
fix(anthropic): adopt Claude Code's already-refreshed token before ra…
chazmaniandinkle Jun 28, 2026
fae9206
fix(agent): throttle cross-turn fallback-switch replay storm (#24996)…
teknium1 Jun 28, 2026
32732a8
fix(agent): cap same-entry credential refreshes so fallback can activ…
LeonSGP43 Jun 28, 2026
1ab35ba
fix(anthropic): stop SDK auto-retry double-firing and raise Retry-Aft…
konsisumer May 31, 2026
0c37227
fix(agent): disable OpenAI SDK auto-retry that double-fires inside th…
teknium1 Jun 28, 2026
505bc27
fix(gateway): classify mixed attachments per-attachment + transcode u…
shashwatgokhe Jun 28, 2026
926a1b9
fix(tools): suppress transient check_fn flakes so subagents keep file…
teknium1 Jun 28, 2026
adeba1d
fix(file-ops): preserve CWD across terminal environment re-creation (…
zccyman May 15, 2026
b2faeba
fix(file-ops): make preserved cwd reachable at write-time resolution …
teknium1 Jun 28, 2026
457c8a0
fix(file-ops): keep worktree isolation when restoring preserved cwd (…
teknium1 Jun 28, 2026
6f1a176
fix(gateway/discord): REST liveness probe to detect zombie clients (#…
xxxigm Jun 28, 2026
a0b9663
fix(streaming): rebuild Anthropic client on stream cleanup instead of…
EloquentBrush0x May 18, 2026
6dcc579
test(streaming): repoint anthropic stream-cleanup test to close+rebui…
teknium1 Jun 28, 2026
98488c4
fix(config): prevent save_config from materialising schema defaults
May 17, 2026
45b2e4d
fix(config): opt newer migrations out of default-stripping
teknium1 Jun 28, 2026
28ed883
docs: add PR infographic for config-defaults fix
teknium1 Jun 28, 2026
2b73dd1
fix(gateway): namespace --replace takeover marker by HERMES_HOME to s…
teknium1 Jun 28, 2026
2af1678
fix(auth): explicit provider intent beats stale OAuth active_provider…
kshitijk4poor Jun 22, 2026
a590c5e
docs: add infographic for provider-precedence fix (#29285)
teknium1 Jun 28, 2026
f0de4c6
fix(pool): re-select from credential pool on primary runtime restore
jmmaloney4 Jun 28, 2026
88b3d86
test: de-flake SIGKILL-tree, compression-tip resume, and fallback-coo…
teknium1 Jun 28, 2026
9c6229c
fix(security): centralize credential-safe subprocess env (#29157)
teknium1 Jun 28, 2026
8c8967a
fix: defer hermes_subprocess_env import in browser_tool
teknium1 Jun 28, 2026
33d8b66
fix: stale background processes no longer permanently block session r…
vanthinh6886 May 20, 2026
a1ac6ba
fix(gateway): make bg-process reset TTL configurable + surface sessio…
teknium1 Jun 28, 2026
11b0be8
fix(gateway): avoid Matrix pending invite boot loops
konsisumer Jun 20, 2026
56abbae
fix(curator): fail closed on unverified skill deletes during consolid…
teknium1 Jun 28, 2026
d43e0cf
fix(agent): config-driven intent-ack continuation for all api_modes (…
teknium1 Jun 28, 2026
f038230
fix(telegram): kill 409 polling conflict loop by disarming PTB retry …
teknium1 Jun 28, 2026
a8c8629
fix(tui): sanitize replay history on WebUI/TUI session resume (#29086…
teknium1 Jun 28, 2026
db11849
fix(skills): skip shadowing when external_dirs provides the skill
zccyman May 28, 2026
1ad8b44
docs(infographic): skill sync external_dirs shadow fix
teknium1 Jun 28, 2026
e418605
test(24996): freeze monotonic clock to de-flake fallback cooldown timing
teknium1 Jun 28, 2026
131c9c5
test(tui-gateway): stop deferred-resume build thread leaking into nex…
teknium1 Jun 28, 2026
3b23a98
feat(kanban): stamp handoff freshness so workers don't read stale sta…
teknium1 Jun 28, 2026
073847c
fix(auxiliary): use env-only proxy policy for OpenAI SDK clients (#53…
HexLab98 Jun 27, 2026
04ff4d9
test(auxiliary): cover env-only proxy policy for auxiliary clients (#…
HexLab98 Jun 27, 2026
2e7e600
chore(release): map HexLab98 author for PR #53863 salvage
teknium1 Jun 28, 2026
f98ffbc
fix(models): live-first merge + update opencode-zen catalog + uncap a…
Afnath-max Jun 19, 2026
f54c528
fix(models): scope live-first picker merge to opencode aggregators only
teknium1 Jun 28, 2026
f6deabc
fix(gateway): clear stale base_url on model switches
ipriyaaanshu Jun 23, 2026
c72d687
chore(release): map salvaged contributor emails for #49129 and #51488
teknium1 Jun 28, 2026
b304023
docs(infographic): model picker fixes (#49129 + #51488)
teknium1 Jun 28, 2026
4626ceb
fix(gateway): only offer system-scope gateway install to root session…
teknium1 Jun 28, 2026
e3c9924
fix(cli): correct stale `hermes auth login nous` hints to `hermes aut…
teknium1 Jun 28, 2026
e860a40
fix(agent,gateway): surface partial-stream recovery and bound detache…
infinitycrew39 Jun 27, 2026
1fa4657
test(agent,gateway): cover partial-stream recovery and restart helper…
infinitycrew39 Jun 27, 2026
9c7f9f9
infographic: partial-stream recovery fix (salvage #41498)
teknium1 Jun 28, 2026
8194dbf
fix(desktop): re-enable titleBarOverlay on plain Linux
chriswesley4 Jun 26, 2026
97640fd
fix(desktop): reserve WCO width on plain Linux + author map
teknium1 Jun 28, 2026
54ea059
fix: fall back to no-sandbox for desktop launch on restricted Linux h…
RafaelMiMi Jun 8, 2026
1b70a91
docs: third-party-product plugins ship standalone, not into core tree…
teknium1 Jun 28, 2026
c918d42
feat(desktop): config-driven Electron launch flags + GPU policy
teknium1 Jun 28, 2026
2d206a3
fix(desktop): stop hermes desktop from clobbering tracked main.cjs (#…
jquesnelle Jun 28, 2026
2523917
fix(tests): bare pytest flags pass through run_tests.sh without a '--…
teknium1 Jun 28, 2026
1fa4418
fix(moa): advisory references end on a user turn + get a reference-ro…
teknium1 Jun 28, 2026
4f61d48
test(cron): deterministically wait for ticker, fix wall-clock flake (…
teknium1 Jun 28, 2026
2c9b017
Merge pull request #54000 from NousResearch/fix/desktop-main-cjs-clob…
jquesnelle Jun 28, 2026
1466eab
test(docker): wait for cont-init to finish before privilege-drop shim…
benbarclay Jun 28, 2026
a7fd62d
fix(send_message): reuse live gateway adapter for Matrix media sends
liuhao1024 Jun 15, 2026
fc7a01b
test+harden: modernize salvaged Matrix path for current plugin layout
kshitijk4poor Jun 28, 2026
7c38249
feat(moa): references see full tool state + fire on every user/tool r…
teknium1 Jun 28, 2026
9229d0d
fix(moa): preserve Nous provider identity for references
helix4u Jun 28, 2026
52d774f
fix(state): F_FULLFSYNC barrier at WAL checkpoints on macOS (#30636)
teknium1 Jun 28, 2026
3a03d03
docs: add infographic for #30636 macOS state.db fix
teknium1 Jun 28, 2026
002357a
fix(tui): repump stdin after readable handler errors
sweetcornna Jun 11, 2026
fc70d02
fix(telegram): apply bot auth policy to Telegram sources
sweetcornna Jun 28, 2026
7b9ff31
fix: salvage #33830 for current main — relocate allow_bots bridge to …
teknium1 Jun 28, 2026
2701ea2
fix(agent): reopen fallback chain after primary recovery
sweetcornna Jun 11, 2026
90d25ad
fix(gateway): deliver profile-scoped cache media on symlinked HERMES_…
teknium1 Jun 28, 2026
3f54322
fix(telegram): notify user when clarify button tap arrives after expiry
konsisumer Jun 20, 2026
aacc15b
fix(clarify): raise default clarify_timeout to 3600s (#32762)
teknium1 Jun 28, 2026
4a0fe4e
docs: add PR infographic for #32762 clarify-expiry fix
teknium1 Jun 28, 2026
def97bc
fix: eliminate race condition in OpenAI client replacement
May 26, 2026
2e1b48e
chore: map kurlyk local email → skabartem for PR #32867 salvage
teknium1 Jun 28, 2026
f3aaba7
fix(cli): recover terminal state after interrupt to prevent raw contr…
zccyman May 28, 2026
1f72ad9
refactor(cli): extract interrupt recovery to a testable helper
teknium1 Jun 28, 2026
c393a8e
fix(whatsapp-bridge): serialize sendMessage to prevent cross-chat con…
Tranquil-Flow May 30, 2026
cb9f855
test(whatsapp-bridge): drop structural send-queue integration test
teknium1 Jun 28, 2026
0800f1c
infographic: whatsapp send-queue serialization (#33360)
teknium1 Jun 28, 2026
c9df4bc
fix(gateway): default restart_drain_timeout to 0 to kill systemd cras…
teknium1 Jun 28, 2026
b8e2268
fix(agent): add MiniMax 'new_sensitive' to content_policy_blocked pat…
logicsunny Jun 3, 2026
578e398
fix(agent): route content-filter stream stalls to fallback chain (#32…
teknium1 Jun 28, 2026
4f16950
docs: add infographic for #32421 content-filter fallback fix
teknium1 Jun 28, 2026
de6e9ac
docs(discord): document bot-to-bot comms as unsupported (#32791) (#54…
teknium1 Jun 28, 2026
674e16e
fix(redact): stop DB-connstr redaction from corrupting code output (#…
teknium1 Jun 28, 2026
2ecb6f7
fix(telegram): clear send_path_degraded on successful reconnect (#352…
teknium1 Jun 28, 2026
f64d15c
fix(tui): defer buffered gateway events to stop dashboard chat #301 (…
kshitijk4poor Jun 28, 2026
64972b6
fix(config): canonicalize model.name/model.model to model.default (#3…
teknium1 Jun 28, 2026
a28fe78
fix(install): retry Playwright install with platform override on unre…
kshitijk4poor Jun 28, 2026
c0b4a34
fix(install): scope Playwright override to too-new apt releases + kee…
teknium1 Jun 28, 2026
093f567
fix(agent,cli): surface empty-body API errors and fail oneshot exit code
xxxigm Jun 28, 2026
d0f087e
docs: add infographic for #36109 empty-400 diagnostics
teknium1 Jun 28, 2026
263ffec
fix(whatsapp): resolve LID aliases on modern platforms/ session layout
fesalfayed Jun 1, 2026
3aaa98d
test(whatsapp): cover LID allowlist match on modern session layout
teknium1 Jun 28, 2026
9f7d520
docs: add infographic for #36664 WhatsApp LID session-path fix
teknium1 Jun 28, 2026
d2ea948
fix(gateway): suppress compression status noise on Discord and other …
HexLab98 Jun 28, 2026
d2fda59
test(gateway): cover Discord/Slack compression status suppression (#3…
HexLab98 Jun 28, 2026
5e774de
fix(api-server): redact provider errors at HTTP boundary
coygeek Jun 3, 2026
58c36b1
fix(api-server): widen error redaction to cron-endpoint + SSE sites
teknium1 Jun 28, 2026
d7a1052
fix(env-passthrough): fail closed when provider blocklist import fails
coygeek Jun 28, 2026
e551da6
fix(gateway): reap cgroup orphans via ExecStopPost to unblock restart
PRATHAMESH75 Jun 2, 2026
86ec979
chore(release): map PRATHAMESH75 author for #37550 salvage
teknium1 Jun 28, 2026
c23f394
fix: satisfy ruff encoding + windows-footgun lints for cgroup reaper
teknium1 Jun 28, 2026
6a2958a
fix(environments): use atomic file replacement for snapshot writes
kyssta-exe Jun 3, 2026
9f17f16
fix(environments): use $BASHPID for atomic snapshot temp + harden fai…
teknium1 Jun 28, 2026
f646b82
docs: add infographic for #38249 atomic env-snapshot fix
teknium1 Jun 28, 2026
f3d8f20
Merge pull request #54116 from kshitijk4poor/fix/36658-gateway-drain-…
kshitijk4poor Jun 28, 2026
7e2ca7f
fix(telegram): reset send pool after pool timeouts
yungchentang Jun 27, 2026
dddaea0
chore(release): map yungchentang author for #53622 salvage
teknium1 Jun 28, 2026
9f0e64c
fix(gateway): force exit after graceful shutdown
LeonSGP43 Jun 26, 2026
6eec0d4
docs: add infographic for #53107 gateway force-exit fix
teknium1 Jun 28, 2026
fde1c85
fix(tui_gateway): suppress WS peer-hangup teardown error flood (#5000…
teknium1 Jun 28, 2026
14baeef
fix(matrix): record DM rooms in m.direct on invite to prevent group m…
liuhao1024 Jun 21, 2026
b6f592d
fix(cli): detect self-lock in update recovery to break infinite retry…
Icather Jun 13, 2026
7c9cdad
test(cli): cover Windows self-lock recovery guard + cmd-quote its hint
teknium1 Jun 28, 2026
0229246
fix(desktop): probe venv runtime health before trusting bootstrap marker
sweetcornna Jun 28, 2026
ba37c91
fix(desktop/windows): resolve real hermes over extensionless shim + p…
Cossackx Jun 25, 2026
fe89ce0
chore(release): map Cossackx in AUTHOR_MAP for #52528 salvage
teknium1 Jun 28, 2026
dcc6cd1
docs: add infographic for #52378 Windows update-loop salvage
teknium1 Jun 28, 2026
b508d42
test(ci): raise per-file timeout 140s → 300s to stop false timeouts (…
teknium1 Jun 28, 2026
aa50c1b
fix(prompt): repair backend probe import (get_environment never existed)
teknium1 Jun 28, 2026
ea5aaa7
fix(gateway): offload remaining inline agent cleanup off the event lo…
teknium1 Jun 28, 2026
c38dfba
docs: add infographic for #53175 gateway cleanup off-loop fix
teknium1 Jun 28, 2026
00d8c2c
fix(gateway): prune stale sessions.json entries on startup
teknium1 Jun 28, 2026
7c0a5de
fix(memory/holographic): close DB connection on shutdown instead of l…
teknium1 Jun 28, 2026
7a6fe9b
fix(browser): block snapshot from eval-navigated private pages
liuhao1024 Jun 12, 2026
48f5c42
fix(browser): extend private-network guard to browser_vision
liuhao1024 Jun 12, 2026
0ae6196
fix(browser): allow local sidecar sessions to bypass SSRF guard
liuhao1024 Jun 12, 2026
7ef04ae
fix(browser): close eval return-value SSRF bypass (sibling of #44731)
teknium1 Jun 28, 2026
6d879d4
fix(dashboard): close PTY WebSocket on child EOF to stop FD leak (#54…
teknium1 Jun 28, 2026
9844243
fix(gateway): gate quick_commands through slash access policy
teknium1 Jun 28, 2026
90c1dc0
test(kanban): cover write_txn BUSY retry (currently failing)
yoniebans Jun 27, 2026
204a67f
fix(kanban): retry write_txn on transient SQLITE_BUSY
yoniebans Jun 27, 2026
bbe1bf4
fix(agent): stop redacting tool-call args in history; fix auth-header…
teknium1 Jun 28, 2026
822b71c
docs: add infographic for #43083 secret-redaction fix
teknium1 Jun 28, 2026
d5ba374
fix(telegram): detect wedged getUpdates consumer via pending_update_c…
teknium1 Jun 28, 2026
c1c179a
fix(security): redact secrets in background process + foreground env-…
teknium1 Jun 28, 2026
546193a
fix(install): time-box desktop + node-deps installs so a stalled down…
kshitijk4poor Jun 28, 2026
135f235
docs: fix incorrect web search instructions
chrispersico Jun 28, 2026
7968c90
test(install): track run_with_timeout extraction after #39219 refacto…
teknium1 Jun 28, 2026
a06d019
fix(dashboard): reap PTY bridge on child EOF, not only in writer fina…
teknium1 Jun 28, 2026
5e7bca9
fix(tui): coalesce render frames while stdout backpressure is unresol…
teknium1 Jun 28, 2026
831d443
fix(gateway): honor --start-now/--start-on-login flags and support no…
liuhao1024 Jun 8, 2026
463225c
fix(gateway): bypass legacy-unit prompt in non-TTY systemd install
teknium1 Jun 28, 2026
acca526
fix(gateway): treat zombie PIDs as dead in _pid_exists to unblock --r…
MorAlekss Jun 28, 2026
9bb5a80
fix(gateway): make zombie check defensive against partial psutil stubs
teknium1 Jun 28, 2026
d7f655f
fix: accept typed clarify choice replies
tymrtn Jun 3, 2026
19cbbe3
docs: add infographic for clarify typed-replies fix
teknium1 Jun 28, 2026
de928bc
fix(redact): non-reusable sentinel for prefix secrets in file reads (…
kshitijk4poor Jun 26, 2026
091ce82
test(redact): fix file_read regression-guard for current-main YAML co…
teknium1 Jun 28, 2026
5c2c85c
fix(tui): start MCP discovery for websocket sessions
sweetcornna Jun 28, 2026
f22b9d3
docs: add infographic for MCP WS discovery fix (#38945)
teknium1 Jun 28, 2026
8e356ec
docs(readme): trim provider list to a few names plus docs link (#54169)
teknium1 Jun 28, 2026
52a853f
fix(test): pin monotonic clock in spinner-elapsed test to fix CI flak…
teknium1 Jun 28, 2026
c4719aa
fix(gateway): boot out stale launchd registration before restart boot…
izumi0uu Jun 8, 2026
e54bedd
docs: add infographic for #42006 launchd bootout fix
teknium1 Jun 28, 2026
376d021
fix(desktop): force app exit after update/uninstall handoff on macOS
bradhallett Jun 28, 2026
61622bb
fix(tui): use role=user for model switch marker to avoid HTTP 400 on …
teknium1 Jun 28, 2026
9d919da
fix(gateway): mark platform lock failure as retryable instead of perm…
liuhao1024 Jun 28, 2026
d05cc8f
fix(mcp): skip preflight content-type probe for OAuth servers
Jun 20, 2026
f25f235
chore: map salvaged PR #49845 author email for AUTHOR_MAP
teknium1 Jun 28, 2026
cb982ad
fix(windows): hide console-window flash on backend git/gh/wmic/bash s…
teknium1 Jun 28, 2026
1ffa01f
test(windows): cover no-window backend subprocess flags
teknium1 Jun 28, 2026
0c2e6c0
test: make active session cross-process race deterministic (#54248)
teknium1 Jun 28, 2026
eeca59f
fix(windows): hide remaining backend console-flash legs missed on main
OutThisLife Jun 28, 2026
0209665
Merge pull request #53892 from NousResearch/bb/windows-popup-spawn-legs
OutThisLife Jun 28, 2026
3e16176
fix(tools): reconcile agent.disabled_toolsets when a toolset is enabled
ygd58 Jun 21, 2026
23021be
Merge pull request #52656 from helix4u/fix-desktop-empty-resume-view
OutThisLife Jun 28, 2026
a10727a
fix(browser): extend first-open timeout and surface daemon errors
infinitycrew39 Jun 25, 2026
7bb8aa3
test(browser): cover open timeout diagnostics and failed navigate title
infinitycrew39 Jun 25, 2026
1ab5c3c
refactor(browser): drop redundant sandbox-hint substring check
OutThisLife Jun 28, 2026
7029259
feat(browser): auto-install Chromium binary on local cold-start failure
OutThisLife Jun 28, 2026
27868e5
Merge pull request #54353 from NousResearch/bb/browser-first-open-tim…
OutThisLife Jun 28, 2026
b699d27
Merge pull request #54357 from NousResearch/bb/browser-chromium-autoi…
OutThisLife Jun 28, 2026
be775a5
Merge upstream/main (v2026.6.28) into ClawPump fork
tomi204 Jun 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@
# Get your token at: https://huggingface.co/settings/tokens
# Required permission: "Make calls to Inference Providers"
# HF_TOKEN=
# HF_BASE_URL=https://router.huggingface.co/v1 # Override default base URL
# OPENCODE_GO_BASE_URL=https://opencode.ai/zen/go/v1 # Override default base URL

# =============================================================================
Expand Down Expand Up @@ -411,6 +412,9 @@ IMAGE_TOOLS_DEBUG=false
# Groq API key (free tier — used for Whisper STT in voice mode)
# GROQ_API_KEY=

# ElevenLabs API key (cloud STT/TTS — Scribe transcription)
# ELEVENLABS_API_KEY=

# =============================================================================
# STT PROVIDER SELECTION
# =============================================================================
Expand Down
2 changes: 1 addition & 1 deletion .envrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
watch_file pyproject.toml uv.lock
watch_file package-lock.json package.json web/package.json ui-tui/package.json website/package.json apps/shared/package.json apps/desktop/package.json ui-tui/packages/hermes-ink/package.json
watch_file flake.nix flake.lock nix/devShell.nix nix/tui.nix nix/package.nix nix/python.nix
watch_file flake.nix flake.lock nix/devShell.nix nix/tui.nix nix/package.nix nix/python.nix nix/hermes-agent.nix nix/desktop.nix

use flake
62 changes: 62 additions & 0 deletions .github/actions/detect-changes/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Detect affected areas
description: >-
Classify a PR's changed files into CI work lanes (python, frontend, site,
scan, deps, mcp_catalog) so the orchestrator can conditionally call only
the sub-workflows a PR can affect. Outputs are always "true" on push/dispatch
events and fail open (everything "true") when the diff cannot be computed.

outputs:
python:
description: Run Python tests / ruff / ty / windows-footguns.
value: ${{ steps.classify.outputs.python }}
frontend:
description: Run the TypeScript typecheck matrix + desktop build.
value: ${{ steps.classify.outputs.frontend }}
docker_meta:
description: Docker setup and meta files have changed.
value: ${{ steps.classify.outputs.docker_meta }}
site:
description: Build the Docusaurus docs site.
value: ${{ steps.classify.outputs.site }}
scan:
description: Run the supply-chain critical-pattern scanner.
value: ${{ steps.classify.outputs.scan }}
deps:
description: Check pyproject.toml dependency upper bounds.
value: ${{ steps.classify.outputs.deps }}
mcp_catalog:
description: Require MCP catalog security review label.
value: ${{ steps.classify.outputs.mcp_catalog }}

runs:
using: composite
steps:
- name: Classify changed files
id: classify
shell: bash
env:
GH_TOKEN: ${{ github.token }}
REPO: ${{ github.repository }}
EVENT_NAME: ${{ github.event_name }}
BASE_SHA: ${{ github.event.pull_request.base.sha }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
run: |
set -euo pipefail

# Only pull_request events are gated. Other events (push, release,
# dispatch) leave CHANGED empty, so the classifier fails open and every
# lane runs. Post-merge / on-demand validation is never weakened.
if [ "$EVENT_NAME" = "pull_request" ]; then
# Use the compare endpoint with the pinned base/head SHAs from the
# event payload instead of the "current PR files" endpoint. The SHAs
# are frozen at trigger time, so the file list is deterministic even
# if the PR receives a new push between trigger and detect.
CHANGED="$(gh api \
--paginate \
"repos/${REPO}/compare/${BASE_SHA}...${HEAD_SHA}" \
--jq '.files[].filename' || true)"
fi

echo "Changed files:"
printf '%s\n' "${CHANGED:-(none)}"
printf '%s\n' "${CHANGED:-}" | python3 scripts/ci/classify_changes.py
50 changes: 0 additions & 50 deletions .github/actions/hermes-smoke-test/action.yml

This file was deleted.

50 changes: 50 additions & 0 deletions .github/actions/retry/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Retry a flaky command
description: >-
Run a shell command, retrying on non-zero exit. For dependency installs
(npm ci, uv sync) whose only failures are transient network/toolchain
flakes — a node-gyp header fetch, a registry blip — so CI self-heals
instead of needing a manual re-run.

inputs:
command:
description: Shell command to run (and retry).
required: true
attempts:
description: Max attempts before giving up.
default: "3"
delay:
description: Seconds to wait between attempts.
default: "10"
working-directory:
description: Directory to run in.
default: "."

runs:
using: composite
steps:
- shell: bash
working-directory: ${{ inputs.working-directory }}
# command goes through env, never interpolated into the script body, so
# a command with quotes/specials can't break or inject into the runner.
env:
_CMD: ${{ inputs.command }}
_ATTEMPTS: ${{ inputs.attempts }}
_DELAY: ${{ inputs.delay }}
run: |
set -uo pipefail
n=0
while :; do
n=$((n + 1))
echo "::group::attempt $n/$_ATTEMPTS: $_CMD"
if bash -c "$_CMD"; then
echo "::endgroup::"
exit 0
fi
echo "::endgroup::"
if [ "$n" -ge "$_ATTEMPTS" ]; then
echo "::error::failed after $n attempts: $_CMD"
exit 1
fi
echo "::warning::attempt $n failed; retrying in ${_DELAY}s: $_CMD"
sleep "$_DELAY"
done
100 changes: 0 additions & 100 deletions .github/workflows/build-windows-installer.yml

This file was deleted.

Loading
Loading