Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
6168 commits
Select commit Hold shift + click to select a range
4e520f0
fix(desktop): guard the profile publication on its activation result too
jackulau Aug 17, 2026
f0f4f29
docs(desktop): state one fallthrough contract at the agent seam
jackulau Aug 17, 2026
c70e152
fix(tests): goal-verdict tests stop flaking when SessionDB init overr…
teknium1 Aug 18, 2026
b359db7
feat(bot-mode): group chats accept image attachments every responding…
teknium1 Aug 18, 2026
5ce09b3
perf(desktop): Bot Mode wakes paint-first — transcript paint complete…
teknium1 Aug 18, 2026
f8767d1
perf(desktop): durable transcript-tail cache — bot wakes paint at ~0ms
teknium1 Aug 18, 2026
a77ee88
feat: Bot Mode avatars default to deterministic blob faces drawn from…
teknium1 Aug 18, 2026
246477a
fix(gateway): /goal no longer lies when state.db init is slow
ethernet8023 Aug 18, 2026
46d8cf0
fix(gateway): /loop paths warm the SessionDB cache off-loop
ethernet8023 Aug 18, 2026
6e67841
refactor(goals): share one dropped-write warning across managers
ethernet8023 Aug 18, 2026
9d86ac6
test: shrink the goal-DB timing tests to sub-second wall time
teknium1 Aug 18, 2026
97b41f8
feat(bot-mode): group chats accept PDFs, files, and drag & drop
teknium1 Aug 18, 2026
0ee9bc8
fix(agent): give interrupted-turn hidden placeholder a neutral provid…
andrexibiza Aug 18, 2026
693c0e1
chore: remove case-colliding agent@Agents-Mac-mini.local contributor …
andrexibiza Aug 18, 2026
210cdb0
fix(agent): legacy hidden redirect placeholders get the neutral wire …
teknium1 Aug 18, 2026
0c5f195
docs: document one-click plugin install links (hermes://plugin/install)
teknium1 Aug 18, 2026
0cc2677
fix(gateway): persist resume recovery notes
andyst-dev Aug 15, 2026
c69b647
fix(gateway): real user text stays clean in the transcript on resume-…
teknium1 Aug 18, 2026
34d1aed
fix(desktop): hide close affordance on navigation tabs
calvinnwq Aug 18, 2026
4ac938d
feat(desktop): sessions/bots tabs are show/hide chrome — no close ges…
teknium1 Aug 19, 2026
2163f7f
fmt(js): `npm run fix` on merge (#89580)
hermes-seaeye[bot] Aug 19, 2026
f709bd8
fix(aux): translate response_format to output_config.format for anthr…
Soju06 Aug 12, 2026
8f2d61e
fix(aux): translate top-level response_format kwarg on the Anthropic …
ethernet8023 Aug 19, 2026
3c67501
fix(aux): retry once without response_format when a provider rejects it
ethernet8023 Aug 19, 2026
d5a9c2b
feat(nix): home-manager module, shared with the NixOS module
ethernet8023 Aug 12, 2026
1dbe469
refactor(ci): hoist docker detect-changes into the .py file
ethernet8023 Aug 18, 2026
00c3872
feat(ci): add nix flake check as unrequired job
ethernet8023 Aug 18, 2026
1f234a1
fix(nix): let the install-method stamp name a home-manager install
ethernet8023 Aug 19, 2026
bd8b658
feat(clarify): accept a questions batch in the clarify tool core
ethernet8023 Aug 18, 2026
879d6a4
feat(tui_gateway): batch clarify bridge with per-question locks
ethernet8023 Aug 18, 2026
e0d8a2e
feat(desktop): multi-question clarify card with per-question locks
ethernet8023 Aug 18, 2026
a9b8d69
feat(tui): compact multi-question clarify prompt
ethernet8023 Aug 18, 2026
b4526d4
feat(cli): compact multi-question clarify panel
ethernet8023 Aug 18, 2026
86a6865
docs: describe multi-question clarify batches per surface
ethernet8023 Aug 18, 2026
838c469
fix(desktop): merge duplicate batch clarify cards
ethernet8023 Aug 18, 2026
25c6516
feat(desktop): single confirm for the batch clarify card
ethernet8023 Aug 19, 2026
100380b
feat(cli): batch clarify back-navigation and answer visibility
ethernet8023 Aug 19, 2026
96b1778
feat(tui): Tab cycles batch clarify questions directly
ethernet8023 Aug 19, 2026
9a9015d
test(desktop): batch clarify E2E spec and mock trigger
ethernet8023 Aug 19, 2026
d9f98fe
feat(tui): restore the earlier answer when a batch question is re-vis…
ethernet8023 Aug 19, 2026
66bb77c
docs(clarify): advertise the questions batch in the tool description
ethernet8023 Aug 19, 2026
b7bed24
fmt(js): `npm run fix` on merge (#89619)
hermes-seaeye[bot] Aug 19, 2026
74f99af
feat(desktop): agent-applied layout presets — apply_layout joins the …
OutThisLife Aug 19, 2026
23c1c98
fix(desktop): Bots sidebar highlight and Cronjobs tile now follow the…
teknium1 Aug 18, 2026
51013e9
fix(desktop): /goal clear removes the Goal paused card immediately
teknium1 Aug 18, 2026
bdd0a79
fix(goals): /goal resume actually restarts work after budget exhaustion
teknium1 Aug 18, 2026
0b588cb
MCP CIMD auth
rob-maron Aug 11, 2026
5dd1587
fix: never evict pinned CIMD sockets from the callback reservation FIFO
teknium1 Aug 18, 2026
1314a53
refactor(desktop): custom translated context menus across the app
ethernet8023 Aug 19, 2026
0b87929
feat(desktop): browser-bar controls for the address and the page
ethernet8023 Aug 19, 2026
395c70d
fmt(js): `npm run fix` on merge (#89703)
hermes-seaeye[bot] Aug 19, 2026
cb0fd83
feat: Bot Mode blob avatars gain 4 new silhouettes via blobatar 2.0.0
teknium1 Aug 19, 2026
104ec97
fix(bot-mode): group room preview shows the bot handle, not @default
johnsonAyo Aug 18, 2026
00e9a32
fix(desktop): keep Bot Mode routines docked
dokterdok Aug 18, 2026
35078e8
docs: surface Bot Mode in docs landing paths
jaimedhenriques Aug 18, 2026
3809f74
fix(bot-mode): reseed $selectedBot on register so re-enabling never l…
chelsealong Aug 19, 2026
80f080b
fix(bot-mode): highlight selected group chat
enwaiax Aug 18, 2026
af3373f
test: follow-up for salvaged PR #89020 — focused-highlight contract i…
teknium1 Aug 19, 2026
ed47d41
fix(desktop): bot navigation no longer forces the all-profiles sideba…
marketing2981 Aug 19, 2026
d440891
test(desktop): update canonical-chat-identity expectation for salvage…
teknium1 Aug 19, 2026
a6bada2
feat(mcp): per-server oauth.user_agent for token-endpoint requests (#…
teknium1 Aug 19, 2026
589bee9
fix(bot-mode): never resubmit into a still-running stranded group member
pierrenode Aug 18, 2026
8e5f55f
feat(hermes-bots): add a collapsible group activity view
amanning3390 Aug 18, 2026
7245b02
feat(desktop): route REST through registered sources
dokterdok Aug 17, 2026
0ca7443
feat(desktop): switch sources from the Sessions rail
dokterdok Aug 17, 2026
fa73b45
fix(desktop): isolate state across source switches
dokterdok Aug 17, 2026
4ea516b
docs(desktop): explain multi-source session scoping
dokterdok Aug 17, 2026
0ab0ed5
feat(desktop): clarify active and default connections
dokterdok Aug 17, 2026
ccd30f9
feat(desktop): distinguish sources from profiles
dokterdok Aug 17, 2026
2228bc7
feat(desktop): remember the last used source
dokterdok Aug 17, 2026
3095ac5
docs(desktop): clarify connection settings copy
dokterdok Aug 17, 2026
72fc5ab
fix(desktop): use gateway terminology in connection UI
dokterdok Aug 18, 2026
0a36fa7
fix(desktop): keep remote bot identity visible
dokterdok Aug 18, 2026
2c6dcf9
feat(desktop): keep large gateway registries searchable
dokterdok Aug 18, 2026
6e9e120
refactor(desktop): keep gateway details contextual
dokterdok Aug 18, 2026
e999df4
fix(desktop): keep gateway search shortcut local
dokterdok Aug 18, 2026
c41ec9c
refactor(desktop): scope gateway context to Sessions
dokterdok Aug 18, 2026
9ed738f
fix(desktop): stabilize gateway settings interactions
dokterdok Aug 18, 2026
292d0df
fmt(js): `npm run fix` on merge (#89759)
hermes-seaeye[bot] Aug 19, 2026
1190825
fix(bot-mode): DM protocol no longer shell-interpolates message bodies
teknium1 Aug 19, 2026
4903993
test: enforce -q/--query-file exclusivity at parse time
teknium1 Aug 19, 2026
5d3c15a
restore profile switching
jquesnelle Aug 19, 2026
5dc20eb
build(desktop): add driver.js for guided tours
OutThisLife Aug 19, 2026
0181769
feat(desktop): tour engine — highlight and narrate any DOM
OutThisLife Aug 19, 2026
ec69940
feat(desktop): run tours inside the preview pane
OutThisLife Aug 19, 2026
0d572e0
feat(desktop): answer tour.request from the renderer
OutThisLife Aug 19, 2026
23d88c2
feat(tools): tour — let the agent walk a user through the UI
OutThisLife Aug 19, 2026
93b50ea
test+docs(tour): cover the engine and document the API
OutThisLife Aug 19, 2026
98bbfbd
fix(desktop): keep a tour bound to its target across navigation and r…
OutThisLife Aug 19, 2026
d433a45
feat(desktop): give tours a themed spotlight and directional motion
OutThisLife Aug 19, 2026
702d7ba
feat(desktop): name the app's shared surfaces for tours
OutThisLife Aug 19, 2026
f0d0971
feat(desktop): add a dev-only tour demo
OutThisLife Aug 19, 2026
bbd6607
docs(tour): document navigating steps and the handle vocabulary
OutThisLife Aug 19, 2026
d23a487
docs: cover hermes chat --query-file and the file-based Bot Mode DM t…
teknium1 Aug 19, 2026
6cf6ad4
Merge pull request #89620 from NousResearch/bb/agent-tours
OutThisLife Aug 19, 2026
f82f2db
fmt(js): `npm run fix` on merge (#89795)
hermes-seaeye[bot] Aug 19, 2026
7c3c2d1
refactor(desktop): give each chat surface its own turn clock
OutThisLife Aug 19, 2026
ccaa487
fix(desktop): time the gaps a working turn spends producing nothing
OutThisLife Aug 19, 2026
ff8c415
chore(desktop): drop the dev-only tour demo
OutThisLife Aug 19, 2026
443c104
fix(desktop): treat profile=default as this process's own home
OutThisLife Aug 19, 2026
e4771b9
Merge pull request #89808 from NousResearch/bb/turn-activity-timer
OutThisLife Aug 19, 2026
38f79e2
Merge pull request #89798 from NousResearch/bb/tour-demo-remove
OutThisLife Aug 19, 2026
649c206
Merge pull request #85429 from NousResearch/jb/yolo-settings-session-…
yoniebans Aug 19, 2026
0e980e8
fix(desktop): keep mark-all flush with the sessions header actions
OutThisLife Aug 19, 2026
0228988
fix(tool-search): keep GUI surface tools directly available
OutThisLife Aug 19, 2026
c12d296
test(tool-search): cover mixed MCP assembly and the HUD note
OutThisLife Aug 19, 2026
b44871d
Merge pull request #89819 from NousResearch/bb/keep-gui-surface-direct
OutThisLife Aug 19, 2026
2507bc6
fix(desktop): atomic profile-switch publication v2 — fail open, lease…
teknium1 Aug 19, 2026
6907c97
fix(update): don't report success when the Desktop rebuild failed
OutThisLife Aug 19, 2026
b82f8b0
Merge pull request #89257 from xxxigm/fix/desktop-files-panel-remote-…
OutThisLife Aug 19, 2026
0223710
test(desktop): compare get-windows installer path via realpath
OutThisLife Aug 19, 2026
ff3dbed
ci: retrigger workflows after the orchestrator died before scheduling…
OutThisLife Aug 19, 2026
d2433c1
Merge pull request #89838 from NousResearch/bb/update-desktop-rebuild…
OutThisLife Aug 19, 2026
ca4a0c4
Merge pull request #88233 from helix4u/fix/get-windows-recovery-command
OutThisLife Aug 19, 2026
70e818c
Merge pull request #89814 from NousResearch/bb/session-group-icon-fix
OutThisLife Aug 19, 2026
4180c3f
Merge pull request #89623 from NousResearch/fix/tui-focus-regain-atom…
austinpickett Aug 19, 2026
63565fa
fix(desktop): keep auto-speak silent across the stream-id rewrite
OutThisLife Aug 19, 2026
afa4f4c
fix: 7 GitHub-adjacent tests no longer fail on developer machines
teknium1 Aug 19, 2026
c6b680c
fix(image-gen): handle stale OpenRouter model defaults
zhuermu Aug 3, 2026
e6ff4ea
fix(tools-config): widen stale-model picker guard to legacy image and…
teknium1 Aug 19, 2026
ac0a8cd
feat(image-gen): xAI Grok image catalog goes live-driven; grok-imagin…
teknium1 Aug 19, 2026
b154046
chore: map contributor email for zhuermu
teknium1 Aug 19, 2026
0f73adb
chore(ci): touch ci.yml to bust poisoned workflow-parse cache
teknium1 Aug 19, 2026
9162ea6
Revert "chore(ci): touch ci.yml to bust poisoned workflow-parse cache"
teknium1 Aug 19, 2026
ceabb03
feat(image-gen): add Grok Imagine Image 2.0 to the FAL image catalog
teknium1 Aug 16, 2026
a787bfe
fix(desktop): restore profile/agent switching in release builds (nano…
royzhrxy-glitch Aug 19, 2026
5a3410e
chore: map contributor email for salvage attribution
teknium1 Aug 19, 2026
21260c3
fix(gateway): carry the profile in adapter-derived session keys (#88404)
69k4xmdfm2-blip Aug 17, 2026
008d469
fix(xai): forward image_gen.model kwarg to _resolve_model in generate()
srojk34 Jun 30, 2026
9c6ecf2
feat(image-gen): OpenRouter image picker lists every live image-outpu…
teknium1 Aug 19, 2026
ab173e2
ci: force workflow re-parse after zero-job dispatch window
teknium1 Aug 19, 2026
43e67f1
ci: move orchestrator to ci.yaml — ci.yml workflow identity is wedged…
teknium1 Aug 19, 2026
dc77f2c
Revert "ci: force workflow re-parse after zero-job dispatch window"
teknium1 Aug 19, 2026
ac3d7dd
fix(desktop): skill hub installs on non-default profiles no longer 40…
teknium1 Aug 19, 2026
1a19fed
fix(desktop): Bot Mode chats no longer paint blank when switching bet…
teknium1 Aug 19, 2026
13ce0c5
fmt(js): `npm run fix` on merge (#89914)
hermes-seaeye[bot] Aug 19, 2026
ca20ee9
fix(desktop): wrap toast titles so long errors stay readable
xxxigm Aug 19, 2026
ab6e7b9
test(desktop): keep long toast titles readable
xxxigm Aug 19, 2026
0599b66
fix(desktop): stop re-entrant pin-sync reconcile from overflowing nan…
dcdexhome Aug 19, 2026
b5455fd
Merge pull request #84645 from rroverin/feat/add-nemotron-lightning-3…
jquesnelle Aug 19, 2026
d959ba5
fix(desktop): scope session lookup to the active profile
OutThisLife Aug 19, 2026
aa20dbe
refactor(desktop): split src/hermes.ts into src/api/ domain modules
OutThisLife Aug 19, 2026
eb52328
feat(desktop): back window glass with Windows 11 system materials
OutThisLife Aug 19, 2026
759d320
fix(desktop): keep recents when ALL-profiles scope has one profile
OutThisLife Aug 19, 2026
0553a06
refactor(desktop): split gateway-event.ts into per-family handler mod…
OutThisLife Aug 19, 2026
149ef3e
refactor(desktop): split lib/chat-messages.ts into concern modules
OutThisLife Aug 19, 2026
f6e6323
refactor(desktop): extract IPC clusters from electron/main.ts
OutThisLife Aug 19, 2026
8a918bd
feat(desktop): scope the translucency controls to what each OS can do
OutThisLife Aug 19, 2026
5a027a0
refactor(desktop): give duplicated helpers one owner
OutThisLife Aug 19, 2026
a8d87ac
fix(desktop): keep the preload bridge alive under the sandbox
OutThisLife Aug 19, 2026
7ed3a5c
docs(desktop): repoint comments at the modules that now own the code
OutThisLife Aug 19, 2026
9ab5d92
fix(desktop): sort translucency named exports for eslint
OutThisLife Aug 19, 2026
808fde1
test(desktop): share the duplicated fixtures
OutThisLife Aug 19, 2026
70743bc
chore: kick CI
OutThisLife Aug 19, 2026
8e9342b
chore: kick CI
OutThisLife Aug 19, 2026
3f33bb8
Merge pull request #89833 from NousResearch/bb/scope-session-lookup
OutThisLife Aug 19, 2026
1087381
Merge pull request #89817 from NousResearch/bb/sidebar-all-profiles-s…
OutThisLife Aug 19, 2026
d697457
Merge pull request #89837 from NousResearch/bb/glass-acrylic
OutThisLife Aug 19, 2026
04956c1
fix(desktop): isolate composer submit to one visible surface
OutThisLife Aug 19, 2026
830108c
fix(desktop): send review agent-ship to the composer that opened it
OutThisLife Aug 19, 2026
2725d32
fix(tui): stop the composer placeholder from sticking Terminal.app in…
OutThisLife Aug 18, 2026
6a3d50c
fix(tui): allow the ESC byte in the SGR param matcher
OutThisLife Aug 19, 2026
00e5a36
Merge pull request #89611 from NousResearch/bb/desktop-godfiles
OutThisLife Aug 19, 2026
9b5e7a3
fix(image_gen): Grok Imagine 2.0 no longer upscales by default — opt-…
teknium1 Aug 19, 2026
28803e6
Merge pull request #90113 from NousResearch/bb/review-submit-isolation
OutThisLife Aug 19, 2026
84d81d2
fix(tour): an unanswered tour bridge no longer costs 45s per action
OutThisLife Aug 19, 2026
6c6c17e
Merge pull request #90112 from NousResearch/bb/tour-unanswered-bridge
OutThisLife Aug 19, 2026
0a04970
Merge pull request #90014 from xxxigm/fix/desktop-wrap-toast-titles
OutThisLife Aug 19, 2026
d21cd51
Merge pull request #88887 from helix4u/fix/desktop-repair-missing-venv
OutThisLife Aug 19, 2026
eab087c
fmt(js): `npm run fix` on merge (#90140)
hermes-seaeye[bot] Aug 19, 2026
00888e8
test: drop the upscale-defaults-off catalog invariant
teknium1 Aug 19, 2026
cd3f9b6
feat(skills): add --yes/-y flag to hermes skills uninstall
noahingh Jun 30, 2026
9551df1
test(skills): add CLI regression tests for skills uninstall --yes/-y …
noahingh Aug 7, 2026
bdc5b1f
chore: map contributor email for noahingh
teknium1 Aug 19, 2026
a45d854
fix(docs): index every docs page in llms.txt, not a hand-picked 98
OutThisLife Aug 19, 2026
dc8481b
feat(skill): route hermes-agent's unknown-feature questions to llms.txt
OutThisLife Aug 19, 2026
3a03435
ci: run the Python lane for docs and website script changes
OutThisLife Aug 19, 2026
87e32b6
Merge pull request #90070 from dcdexhome/fix/desktop-pin-sync-reentra…
OutThisLife Aug 19, 2026
1075315
fix(update): show live Desktop update progress
helix4u Aug 17, 2026
7a94b1f
fix(update): resolve the project venv as venv or .venv
OutThisLife Aug 19, 2026
867ab54
fix(update): re-run Windows updates off the console shim
OutThisLife Aug 19, 2026
a9eb99d
fix(update): stop deferring shim renames to next boot
OutThisLife Aug 19, 2026
3f6d4c6
fix(gateway): run Windows /update as a module, not through the shim
OutThisLife Aug 19, 2026
cf2ab85
fix(update): one elapsed clock, served to the shim by both orchestrators
OutThisLife Aug 19, 2026
e602225
test(update): cover the progress contract without a test hook in the …
OutThisLife Aug 19, 2026
268615c
test(update): cover the Windows shim self-lock class
OutThisLife Aug 19, 2026
73a1d58
Merge pull request #90192 from NousResearch/bb/windows-update-shim-se…
OutThisLife Aug 19, 2026
6284afb
Merge pull request #90194 from NousResearch/review/88767
OutThisLife Aug 19, 2026
73243b0
feat(config): per-provider reasoning_echo opt-in for custom providers
yingliang-zhang Aug 2, 2026
663fa68
fix: add reasoning_echo_flag to init snapshot and switch rollback
yingliang-zhang Aug 2, 2026
4ee8a9a
test: production-shape resolver + init-read coverage for reasoning_echo
SolshineCode Aug 4, 2026
8d0e3ab
chore: map contributor email for yingliang-zhang
Aug 8, 2026
7e3775d
chore: map contributor emails
yingliang-zhang Aug 12, 2026
b2057c1
refactor: extract duplicated load_config_readonly try/except into helper
kshitijk4poor Aug 19, 2026
ae6c973
fix(update): run the Windows update hand-off unattended
OutThisLife Aug 19, 2026
df9e225
test(agent): give the MoA switch fake a reasoning_echo reader
OutThisLife Aug 19, 2026
6c0f354
Merge pull request #90212 from NousResearch/bb/fix-moa-switch-test-re…
OutThisLife Aug 19, 2026
52d9f30
Merge main for the MoA switch test fix (#90212)
OutThisLife Aug 19, 2026
78ffd71
Merge pull request #90205 from NousResearch/bb/windows-update-reexec-…
OutThisLife Aug 19, 2026
fdf6f1d
feat(desktop): add an Appearance toggle that disables the intro splash
ethernet8023 Aug 19, 2026
16af3be
fix(approval): route check_execute_code_guard through the CLI fall-th…
pierrenode Aug 14, 2026
f0ffcbc
fix(approval): align the execute_code CLI fall-through with its sibli…
kshitijk4poor Aug 19, 2026
60e9ed1
feat(tools): close_preview so the agent can dismiss the pane it opened
OutThisLife Aug 19, 2026
7f73978
feat(desktop): close preview tabs on preview.close
OutThisLife Aug 19, 2026
fe2752a
Merge pull request #90239 from NousResearch/bb/close-preview
OutThisLife Aug 19, 2026
6575507
fmt(js): `npm run fix` on merge (#90248)
hermes-seaeye[bot] Aug 19, 2026
49cc370
fix(dashboard): coalesce repeat gateway restarts for a short window
jackulau Aug 18, 2026
d6e6e8b
feat(plugins): add OpenRouter Image API surface to openrouter image_g…
sergeyveys Aug 9, 2026
aba96d5
feat(image-gen): route live-catalog models to the Image API; merge pi…
teknium1 Aug 19, 2026
ce9d48c
chore: map contributor email for Haik-G
teknium1 Aug 19, 2026
8e29494
fix(codex): strip unsupported cache retention at wire
thacid22 Aug 19, 2026
c7b6854
chore: map contributor email for #89969 salvage
kshitijk4poor Aug 19, 2026
ba4bc39
test(codex): pin the retention drop to real endpoints
kshitijk4poor Aug 19, 2026
26530e7
fix(codex): strip nested extra_body retention at the consumer Codex wire
kshitijk4poor Aug 19, 2026
f6d1d77
refactor(codex): name the dropped shape in the wire-guard warning
kshitijk4poor Aug 19, 2026
8430c1b
test(codex): cover nested retention entry paths
thacid22 Aug 19, 2026
7b25941
fix(bot-mode): unwrap connections registry object so 'Create on' pick…
TomSpoct Aug 19, 2026
010c992
fix(bot-mode): roster age, pulse, unread, and sort now see canonical …
teknium1 Aug 19, 2026
a664429
fix(agent): cap the ultra reasoning level at the wire vocabulary
liuhao1024 Aug 18, 2026
9ec5750
fix: widen reasoning-effort wire translation to sibling sites (#89503…
teknium1 Aug 19, 2026
2dea073
fix(tools): dispatch image/video FAL strictly on the stored hermes to…
teknium1 Aug 19, 2026
d7119ea
fix(web): honor the stored web backend selection; no silent backend s…
teknium1 Aug 19, 2026
099258e
fix(voice): route TTS/STT OpenAI audio on the stored selection, not c…
teknium1 Aug 19, 2026
7f83d38
fix(browser): strict cloud-provider selection; camofox becomes a sele…
teknium1 Aug 19, 2026
b10c5a8
fix(cli): persist one provider string per picker row; mirror strict r…
teknium1 Aug 19, 2026
89e75f4
test(tools): pin strict provider-string selection per category
teknium1 Aug 19, 2026
aa3c5e5
fix(tools): honor raw stt.provider: local; finish _reconfigure_provid…
teknium1 Aug 19, 2026
19113b3
test(tools): repin selector/picker tests to the provider-string contract
teknium1 Aug 19, 2026
6ad5872
fix(sdk): return registered connection list
huklaa Aug 19, 2026
c825be4
test(sdk): cover connection registry list contract
huklaa Aug 19, 2026
aa2cec7
test(sdk): cover registry primary connection mapping
huklaa Aug 19, 2026
b40d201
fix(sdk): preserve primary in registered connections
huklaa Aug 19, 2026
a46fe01
chore(sdk): remove unrelated session helper from #89893
huklaa Aug 19, 2026
271e49a
fix(bot-mode): accept both host.connections() shapes in the Create-on…
teknium1 Aug 19, 2026
d762ed9
feat: execution-discipline guidance now reaches all tool-capable mode…
teknium1 Aug 19, 2026
09e6577
feat: MCP tool results spill at 50K and carry upstream-elision warnings
teknium1 Aug 19, 2026
4a83b03
fix: read tool_budget config via load_config_readonly (config read gu…
teknium1 Aug 19, 2026
2473e56
fix(desktop): stand the terminal overlay down when its tab loses focus
OutThisLife Aug 19, 2026
7f3d255
test(desktop): cover the terminal overlay hiding on an unfocused tab …
OutThisLife Aug 19, 2026
803397e
feat: wall-clock run budget — wrap-up injection at 80% and deadline-s…
teknium1 Aug 19, 2026
449471c
feat: runtime stall guards — identical-call loop breaker and continue…
teknium1 Aug 19, 2026
2eb0b3b
Merge pull request #90351 from NousResearch/bb/terminal-tab-trap
OutThisLife Aug 19, 2026
7f9e79b
feat(desktop): back the HUD band with the same window material the ap…
OutThisLife Aug 19, 2026
cba8efc
feat(desktop): paint the HUD band as the app's thread surface under G…
OutThisLife Aug 19, 2026
701314c
feat(desktop): fold the HUD's voice controls into one menu
OutThisLife Aug 19, 2026
de32244
feat(desktop): move the HUD's way out onto the bar and drop the strip…
OutThisLife Aug 19, 2026
5e74cc7
fix(kanban): workers get mutation toolsets despite interactive least-…
Aug 19, 2026
91fa015
Merge branch 'main' into sync/upstream-catchup-20260819
Aug 20, 2026
3f073ad
chore(contributors): map kanban-fix author + verified upstream emails…
Aug 20, 2026
dcf9281
fix(cli): restore parse_config_string_list import clobbered by kanban…
Aug 20, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
18 changes: 18 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# CodeRabbit configuration.
#
# Auto-review is DISABLED repo-wide: the app was enabled at the org level on
# 2026-08-14 and immediately began reviewing every opened PR. This repo's
# merge gate is CI ("All required checks pass") plus maintainer review —
# CodeRabbit reviews carry no merge weight (protect-main ruleset requires
# 0 approving reviews), so auto-firing on the full PR firehose adds comment
# noise without gating value.
#
# The bot stays installed and summonable on demand: comment
# `@coderabbitai review` on any PR to request a one-off review, or
# `@coderabbitai ignore` to mute it on a PR it has already joined.
#
# To re-enable auto-review, flip `enabled: true` below (or delete this file —
# the app default is on).
reviews:
auto_review:
enabled: false
24 changes: 24 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,27 @@ web/package-lock.json linguist-generated=true
Dockerfile text eol=lf
*.dockerfile text eol=lf
docker/entrypoint.sh text eol=lf

# Enforce LF for all source/text files. Windows editors and tools default to
# CRLF; without normalization a Windows contributor's edit turns into a
# whole-file phantom diff (every line "changed" by its ending), breaks
# string-match patch tooling, and pollutes review. `text` normalizes to LF
# at check-in; `eol=lf` also checks out as LF so the working tree matches
# the index on every platform. PowerShell files are the deliberate
# exception (PS 5.1 tooling expects CRLF).
*.py text eol=lf
*.ts text eol=lf
*.tsx text eol=lf
*.js text eol=lf
*.mjs text eol=lf
*.cjs text eol=lf
*.jsx text eol=lf
*.json text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
*.toml text eol=lf
*.md text eol=lf
*.css text eol=lf
*.html text eol=lf
*.svg text eol=lf
*.ps1 text eol=crlf
15 changes: 15 additions & 0 deletions .github/actions/detect-changes/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,21 @@ outputs:
python:
description: Run Python tests / ruff / ty / windows-footguns.
value: ${{ steps.classify.outputs.python }}
python_prod:
description: Python changes outside tests/ — gates product jobs (Desktop E2E, Docker).
value: ${{ steps.classify.outputs.python_prod }}
frontend:
description: Run the TypeScript testing matrix + desktop build.
value: ${{ steps.classify.outputs.frontend }}
docker_meta:
description: Docker setup and meta files have changed.
value: ${{ steps.classify.outputs.docker_meta }}
docker:
description: Files included in the docker image have changed.
value: ${{ steps.classify.outputs.docker }}
nix:
description: Run `nix flake check` (flake inputs, or any product Python change).
value: ${{ steps.classify.outputs.nix }}
site:
description: Build the Docusaurus docs site.
value: ${{ steps.classify.outputs.site }}
Expand All @@ -30,9 +39,15 @@ outputs:
deps:
description: Check pyproject.toml dependency upper bounds.
value: ${{ steps.classify.outputs.deps }}
uv_lock:
description: Run `uv lock --check` (pyproject.toml / uv.lock changes only).
value: ${{ steps.classify.outputs.uv_lock }}
npm_lock:
description: Post/update the semantic package-lock.json diff PR comment.
value: ${{ steps.classify.outputs.npm_lock }}
installer:
description: Run the PowerShell installer tests on a Windows runner.
value: ${{ steps.classify.outputs.installer }}
mcp_catalog:
description: Require MCP catalog security review label.
value: ${{ steps.classify.outputs.mcp_catalog }}
Expand Down
Binary file removed .github/pr-screenshots/39327/providers-collapsed.png
Binary file not shown.
Binary file removed .github/pr-screenshots/39327/providers-expanded.png
Binary file not shown.
Binary file removed .github/pr-screenshots/39327/tools-collapsed.png
Binary file not shown.
Binary file removed .github/pr-screenshots/39327/tools-expanded.png
Binary file not shown.
Binary file removed .github/pr-screenshots/45449/billing-confirm.png
Binary file not shown.
Binary file removed .github/pr-screenshots/45449/billing-overview.png
Binary file not shown.
Binary file not shown.
80 changes: 80 additions & 0 deletions .github/workflows/ci-review-comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: CI review comment

# Live-updating PR review comment.
#
# The poller runs for up to 40 minutes.
# This run lives in its own workflow.
# A run stays in progress until its last job ends, and GitHub refuses
# ``gh run rerun`` on a run that is in progress.
#
# ``workflow_run`` starts this when CI starts. It always reads the workflow
# and the scripts from the default branch, never from the PR head.
# It makes a write token safe here.
#
# The poller reads job results through the API. Thus it watches the CI run
# and the separate docker run, and it depends on neither.

on:
workflow_run:
workflows: [CI]
# ``in_progress``, not ``requested``: a first-time contributor's run
# sits in ``action_required`` until a maintainer approves it, and
# ``requested`` fires at creation — the poller would wait out its
# whole timeout on a run that never starts. ``in_progress`` fires
# when the run actually starts, and it also fires on re-runs, which
# ``requested`` does not.
types: [in_progress]

permissions:
contents: read
actions: read
pull-requests: write

# One poller per CI run. A new push starts a new CI run, and its poller
# cancels the poller of the run that GitHub superseded. The group keys
# on the head repository too: fork PRs often share a branch name
# (``main``, ``patch-1``), and two PRs must not cancel each other.
concurrency:
group: ci-review-comment-${{ github.event.workflow_run.head_repository.full_name }}-${{ github.event.workflow_run.head_branch }}
cancel-in-progress: true

jobs:
comment:
name: CI review comment (live)
# Fork PRs get no comment: the poller needs a write token, and the
# ``pull_requests`` payload is empty for a fork run.
if: >-
github.event.workflow_run.event == 'pull_request' &&
github.event.workflow_run.head_repository.full_name == github.repository
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Checkout trusted default branch
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ github.event.repository.default_branch }}
persist-credentials: false

- name: Run live comment poller
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# The CI run to report on — not this run. The name must not be
# GITHUB_RUN_ID: the runner sets the GITHUB_* defaults itself and
# ignores an env: override, so that name silently resolves to THIS
# run. The poller then watches itself, which stays in_progress for
# as long as the poller runs, and it waits out its whole timeout.
CI_RUN_ID: ${{ github.event.workflow_run.id }}
# Sibling runs for the same commit that the comment also covers,
# one workflow name per line (a name can contain a comma).
# The poller resolves each name to its runs through the API.
WATCH_WORKFLOWS: |
Docker Build, Test, and Publish
PR_NUMBER: ${{ github.event.workflow_run.pull_requests[0].number }}
RUN_URL: ${{ github.event.workflow_run.html_url }}
# Commit info for the review comment header.
COMMIT_SHA: ${{ github.event.workflow_run.head_sha }}
COMMIT_MESSAGE: ${{ github.event.workflow_run.head_commit.message }}
run: |
python3 -u scripts/ci/live_comment.py \
--interval 15 \
--timeout 3000
Loading
Loading