Commit graph

6187 commits

Author SHA1 Message Date
nesquena-hermes
efe72238bc chore(changelog): composer-footer export-button removal hotfix 2026-07-02 02:51:42 +00:00
nesquena-hermes
219615b5a7 fix(composer): remove Export-to-HTML button from composer footer (keep settings-panel export)
The #4968 export button was hard-inserted into the composer footer .composer-left
row, bypassing the configurable composer-control framework. On desktop it pushed the
footer over its overflow threshold, tripping _fitComposerFooter into cf-icons mode
which HIDES the model/workspace/profile text labels. Removing it restores label
visibility. Export stays available via the settings-panel HTML button (#btnExportHTML).
2026-07-02 02:48:45 +00:00
nesquena-hermes
d505b5b54a
Merge pull request #5395 from nesquena/gate-rebase/4968-export-html2
Release — export chat to self-contained themed HTML (#4968)
2026-07-01 19:41:31 -07:00
nesquena-hermes
a28b991ce3 chore(changelog): #4968 export chat to themed HTML 2026-07-02 02:38:01 +00:00
nesquena-hermes
b31f3fab3b #4968: export chat to self-contained themed HTML, rebased on master 2026-07-02 02:36:09 +00:00
nesquena-hermes
193723c7e0
Merge pull request #5393 from nesquena/gate-rebase/5390-blank-turn
Release — fix blank assistant turn after dropped stream (#5390)
2026-07-01 19:29:01 -07:00
nesquena-hermes
a7618555ac chore(changelog): #5390 blank assistant turn fix 2026-07-02 02:25:18 +00:00
nesquena-hermes
da03745b79 #5390: don't preserve dead empty live-turn shell across DOM wipe (blank assistant turn), rebased on master 2026-07-02 02:24:55 +00:00
nesquena-hermes
4e61f9a8ef
Merge pull request #5391 from nesquena/gate-rebase/5213-cc-toggle
Release — Show Claude Code sessions sidebar toggle (#5213, #4714)
2026-07-01 19:12:19 -07:00
nesquena-hermes
c34bc28b3f chore(changelog): #5213 Claude Code sidebar visibility toggle 2026-07-02 02:02:30 +00:00
nesquena-hermes
4bbb64bcc1 #5213: Claude Code sidebar visibility toggle (#4714), rebased on master 2026-07-02 01:40:19 +00:00
nesquena-hermes
f05679b09a
Merge pull request #5389 from nesquena/gate-rebase/5142-office-docs
Release — Office document preview + safe docx editing (#5142, #540)
2026-07-01 18:34:56 -07:00
nesquena-hermes
76d6cc7f74 #5142: office-doc preview + safe docx editing (#540), rebased on master; optional deps 2026-07-02 01:15:57 +00:00
nesquena-hermes
747e42e788
Merge pull request #5388 from nesquena/gate-rebase/4682-cross-profile-cron
Release — Tasks panel: read-only other-profile cron visibility (#4682, #3947)
2026-07-01 18:11:45 -07:00
nesquena-hermes
6af9cc3244 chore(changelog): #4682 cross-profile cron visibility 2026-07-02 01:08:12 +00:00
nesquena-hermes
728caf5ec6 #4682: surface read-only other-profile cron jobs in Tasks panel (#3947), rebased on master 2026-07-02 00:44:24 +00:00
nesquena-hermes
e8d2b9cfc7
Merge pull request #5387 from nesquena/gate-rebase/5228-ext-proxy
Release — opt-in extension loopback sidecar proxy (#5228, #4747)
2026-07-01 17:35:29 -07:00
nesquena-hermes
b709ae6fc2 #5228: require browser provenance on all proxy methods (close GET/POST asymmetry from gate); CHANGELOG 2026-07-02 00:23:10 +00:00
nesquena-hermes
3d99763f3a #5228: opt-in extension loopback proxy (#4747), rebased on master; union urllib imports 2026-07-01 23:49:25 +00:00
nesquena-hermes
086d082149
Merge pull request #5386 from nesquena/rel-p1-1782949053
Release — MoA fail-closed on gateway, ctl.sh .env load, push-to-talk hold gesture
2026-07-01 16:42:36 -07:00
nesquena-hermes
01520b8076 chore(changelog): Phase-1 batch — #5153 MoA fail-closed, #5309 ctl.sh .env, #5310 push-to-talk 2026-07-01 23:37:33 +00:00
nesquena-hermes
9fb2731848 #5310: push-to-talk hold gesture (#3700) 2026-07-01 23:26:15 +00:00
nesquena-hermes
b1a02bdb72 #5309: ctl.sh load ~/.hermes/.env 2026-07-01 23:24:38 +00:00
nesquena-hermes
36643867f4 #5153: MoA gateway fail-closed routing 2026-07-01 23:24:38 +00:00
nesquena-hermes
651c45614e
Merge pull request #5383 from nesquena/rel-5374
Release — manual title regen honors configured aux timeout (#5374)
2026-07-01 16:01:35 -07:00
nesquena-hermes
c49f451402 docs(changelog): manual title regen honors aux timeout (#5374) 2026-07-01 22:58:01 +00:00
nesquena-hermes
ffad5e4acd stage #5374 2026-07-01 22:57:37 +00:00
Stacey2911
6044eaa0cc fix: respect auxiliary title timeout for manual regenerate 2026-07-02 08:48:47 +10:00
nesquena-hermes
bd7e9d797c
Merge pull request #5382 from nesquena/rel-5301
Release — MoA picker + Copilot catalog fixes (#5301)
2026-07-01 15:45:21 -07:00
nesquena-hermes
cd576cdb25 docs(changelog): MoA picker + Copilot catalog fixes (#5301) 2026-07-01 22:42:36 +00:00
nesquena-hermes
d43618beca stage #5301 2026-07-01 22:42:35 +00:00
nesquena-hermes
af860647af
Merge pull request #5381 from nesquena/rel-5368
Release — fix profile skills-stats thundering herd at cold startup (#5364)
2026-07-01 15:21:30 -07:00
nesquena-hermes
2e98516b0a stage #5368 2026-07-01 22:18:28 +00:00
nesquena-hermes
8b8d5d990d test(#5364): fully restore sys.modules in the profiles import harness
The regression test re-imports api.profiles in isolation by stubbing
flask/yaml/agent in sys.modules and deleting+reloading the real api /
api.profiles modules. Teardown only popped api/api.* (never restoring the
real modules) and left the flask/yaml stubs behind, so the manipulation
LEAKED: subsequent tests re-imported api.config/api.routes against the stub
yaml (safe_load->None) and a half-populated api package, silently breaking
~120 unrelated tests in the full serial suite (e.g. MCP/provider/config
tests whose get_config patch no longer saw real config). Snapshot every
sys.modules key we touch and restore it exactly (real modules back, injected
stubs removed) in a finally block. Full suite now matches master baseline
(11537 passed, only the 2 known cron-isolation artifacts).
2026-07-01 22:12:30 +00:00
nesquena-hermes
c191141615 fix #5368 2026-07-01 21:35:11 +00:00
nesquena-hermes
d04bf7d805
Merge pull request #5380 from nesquena/rel-5326
Release — link EXTENSIONS.md to the vetted extension library repo (#5326)
2026-07-01 14:28:47 -07:00
nesquena-hermes
b43d1795ce stage #5326 2026-07-01 21:25:38 +00:00
nesquena-hermes
d7dcf16009
Merge pull request #5378 from nesquena/rel-5317
Release — repair bare custom-provider models from active config (#5314/#5127/#1855)
2026-07-01 14:13:37 -07:00
nesquena-hermes
2574e6bef9 stage #5317 2026-07-01 21:10:21 +00:00
nesquena-hermes
f79d52bddc
Merge pull request #5377 from nesquena/rel-5370
Release — stop wakeup from reverting picker model/provider (#4251)
2026-07-01 14:09:00 -07:00
nesquena-hermes
4a3b820e22 stage #5370 2026-07-01 21:06:10 +00:00
nesquena-hermes
5cbff743c4
Merge pull request #5376 from nesquena/rel-5373
Release — model catalog self-heals after upgrade (#4737)
2026-07-01 13:51:57 -07:00
nesquena-hermes
c8d9e4c1ad stage #5373 2026-07-01 20:49:03 +00:00
nesquena-hermes
0678f02b2e
Merge pull request #5375 from nesquena/rel-5365
Release — local-time pasted-text filenames (#5340)
2026-07-01 13:38:37 -07:00
nesquena-hermes
3673028a26 stage #5365 2026-07-01 20:35:45 +00:00
b3nw
6f9c648d23 fix(tests): more _read_profile_model_config stubs need 3-tuple 2026-07-01 20:33:09 +00:00
Rod Boev
feaf9a423e fix(#4737): retry even when the synth fallback is empty 2026-07-01 16:30:34 -04:00
b3nw
6d06001b6f fix(tests): update _read_profile_model_config callers/assertions for 3-tuple return 2026-07-01 20:24:57 +00:00
Rod Boev
c5378cb96a fix(#4737): skip stale live-model fetch before catalog retry 2026-07-01 16:23:36 -04:00
Rod Boev
f3c01812b7 fix(#4251): drop dead post-repair ownership writes 2026-07-01 16:20:31 -04:00