Commit Graph
6039 Commits
Author SHA1 Message Date
nesquena-hermes 38ca286acc docs(changelog): honor busy input mode on first send (#5170) 2026-07-01 06:54:46 +00:00
nesquena-hermes 3d780836d3 stage #5170 2026-07-01 06:54:07 +00:00
nesquena-hermes cde6e0a5a2 Merge pull request #5323 from nesquena/stage-5024
Release — gate reasoning_content replay (#5024)
2026-06-30 23:53:08 -07:00
nesquena-hermes f942b712ad docs(changelog): gate reasoning_content replay for provider-facing history (#5024) 2026-07-01 06:50:23 +00:00
nesquena-hermes d6c01245c5 stage #5024 2026-07-01 06:49:44 +00:00
nesquena-hermes f5af681eee Merge pull request #5322 from nesquena/stage-5012
Release — native OIDC login for WebUI (#5012)
2026-06-30 23:48:42 -07:00
nesquena-hermes 6095f639ba docs(changelog): native OIDC login for WebUI (#5012) 2026-07-01 06:45:55 +00:00
nesquena-hermes 36436c9397 stage #5012 2026-07-01 06:45:22 +00:00
nesquena-hermes df20e3f7d8 Merge pull request #5321 from nesquena/stage-5268
Release — embedded-terminal access hardening (#5268)
2026-06-30 23:44:26 -07:00
nesquena-hermes 578e70c2bc docs(changelog): gate embedded-terminal endpoints to local origins (#5268) 2026-07-01 06:41:41 +00:00
nesquena-hermes 9973b36cce stage #5268 2026-07-01 06:41:09 +00:00
nesquena-hermes ef02ffec6d Merge pull request #5319 from nesquena/stage-5316
Release — Docker build reliability fix (#5316)
2026-06-30 23:40:10 -07:00
nesquena-hermes 0533871ef5 docs(changelog): docker rsync .playwright exclude (#5316) 2026-07-01 06:35:55 +00:00
nesquena-hermes b4bfda5504 stage #5316 2026-07-01 06:35:35 +00:00
nesquena-hermes e2b4b90ca7 Merge pull request #5318 from nesquena/stage-5075
Release — composer footer control reordering (#5075)
2026-06-30 23:26:41 -07:00
nesquena-hermes 948e8bfc67 docs(changelog): composer footer control reordering (#5075) 2026-07-01 06:23:51 +00:00
nanw 4b202d1267 fix(docker): exclude .playwright from rsync staging to avoid error 23
The agent source at /opt/hermes inside the container may contain a
.playwright/ directory with browser dependency files that have restricted
permissions. rsync fails with exit code 23 when attempting to read them,
which kills the container build ("Failed to stage hermes-agent source").

- Add --exclude=.playwright to rsync in docker_init.bash
- Add rm -rf .playwright to cp -a fallback path for symmetry
- Update test_docker_init_excludes_egg_info_during_staging to assert
  both the rsync --exclude and a broad .playwright presence check
- Add a brief note in AGENTS.md Contribution style about mirroring
  directory exclusions in both rsync and cp paths

Fixes #5315
2026-07-01 14:21:09 +08:00
nesquena-hermes 04191939d2 stage #5075 2026-07-01 06:13:17 +00:00
nanw 2a40893730 Add Agents 2026-07-01 12:48:38 +08:00
Paladin173 d8f0f8f97f Fix composer control reorder rebase collision
Reapply footer control ordering on current upstream/master while preserving the required situational chip renderer. Persist composer_control_order with backend validation, keep the settings descriptions reorder-aware, and make primary/situational chip renderers participate in same-group drag ordering.

Verified with: node --check static/boot.js; node --check static/panels.js; git diff --check; ./scripts/test.sh tests/test_issue4598_composer_control_visibility.py
2026-06-30 21:11:54 -05:00
nesquena-hermes adb528cfcb fix(#5170): persist busy-input-mode mirror on Settings autosave + panel-load (Codex: mirror only written on boot-apply, so a Settings change didn't survive the boot race) 2026-07-01 01:45:44 +00:00
nesquena-hermes 2ec7df8a27 rebase #5170 onto current master (union-resolved busy-mode boot conflicts: keep persisted pref on settings-load-fail + preserve placeholder-hint/showBusyPlaceholderHint) 2026-07-01 01:40:53 +00:00
Rod Boev 2ea5fe06fa fix(#3825): harden oidc endpoint and claim validation 2026-06-30 20:59:19 -04:00
nesquena-hermes d257e5f36c fix(security): gate embedded-terminal endpoints to local origins when auth disabled
The embedded workspace terminal spawns a PTY shell that runs arbitrary
commands as the server-process user. check_auth() returns True
unconditionally when no password/passkey is configured (the default
out-of-the-box state), so without a network-scope gate the terminal
endpoints were reachable by any unauthenticated caller able to hit the
port — which on a passwordless public bind is remote code execution.

Apply the same local-origin gate the onboarding/bootstrap endpoints use
(_onboarding_gate_allows) to /api/terminal/{start,input,resize,close} and
/api/terminal/output: with auth disabled, accept only loopback/private
origins, ignore spoofable X-Forwarded-For/X-Real-IP unless
HERMES_WEBUI_TRUST_FORWARDED_FOR=1, and honor HERMES_WEBUI_ONBOARDING_OPEN=1
as the explicit opt-out for a deliberately-exposed server. Auth-enabled
servers (cookie already verified upstream) and genuine same-host clients
are unaffected.

Also fixes a latent test-isolation leak in
test_extension_route_remains_behind_webui_auth: it set HERMES_WEBUI_PASSWORD
but never invalidated the process-wide password-hash cache, so its result
depended on suite execution order (exposed when the new test file shifted
ordering). Invalidate before+after so it reads the env var deterministically.

12 new gate tests in tests/test_cvd3_terminal_local_origin_gate.py.
2026-07-01 00:40:25 +00:00
nesquena-hermes 05aa473141 Merge pull request #5304 from nesquena/release/stage-4988
Release v0.51.785 — prune orphan zero-message sidebar sessions (#4988)
2026-06-30 17:31:20 -07:00
nesquena-hermes 7298d91dec docs(changelog): prune orphan zero-message sidebar sessions (#4988) 2026-07-01 00:20:13 +00:00
nesquena-hermes 9bd71e9bae Merge #4988 (enihcam prune orphan zero-msg sessions) into stage
# Conflicts:
#	CHANGELOG.md
2026-07-01 00:19:56 +00:00
nesquena-hermes f1d5709cc9 Merge pull request #5303 from nesquena/release/stage-5271b
Release v0.51.784 — extension skins declare base scheme (#5271)
2026-06-30 17:12:29 -07:00
nesquena-hermes 1dfdf6a2c1 docs(changelog): extension skin base scheme (#5271) 2026-07-01 00:09:37 +00:00
nesquena-hermes a17df9fd22 Merge #5271 into stage 2026-07-01 00:08:40 +00:00
Frank SongandPaperclip 4643d3520e Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 08:07:51 +08:00
nesquena-hermes 358e24b740 Merge pull request #5302 from nesquena/release/stage-5279b
Release v0.51.783 — expand zhCN localization (#5279)
2026-06-30 17:07:18 -07:00
nesquena-hermes 39a3a6e703 docs(changelog): expand zhCN localization (#5279) 2026-07-01 00:04:24 +00:00
nesquena-hermes 14bb0ae31a Merge #5279 into stage 2026-06-30 23:58:46 +00:00
nesquena-hermes e4b901da53 fix(i18n): restore large_text_paste keys dropped in zh during rebase resolution 2026-06-30 23:55:15 +00:00
Loukky 0d4a68a136 Update notification permission status message 2026-06-30 23:47:04 +00:00
Loukky 6048ec42a0 Update curator description and transcript settings text 2026-06-30 23:47:04 +00:00
Loukky d32d88a3ef Fix translation for goal paused message 2026-06-30 23:47:04 +00:00
Loukky 915f448f38 Unified translation vocabulary 2026-06-30 23:47:04 +00:00
Loukky 8d9f99de37 Restore sort 2026-06-30 23:47:04 +00:00
Loukky e7ca5b6ef2 fix the wrong word 2026-06-30 23:44:58 +00:00
Loukky c388f74bec Update i18n.js 2026-06-30 23:44:58 +00:00
Loukky 54d40c4b56 [locale]Add zhCN unlocalized text 2026-06-30 23:43:56 +00:00
nesquena-hermes fc7763d1b8 Merge pull request #5300 from nesquena/release/stage-5217b
Release v0.51.782 — SSE-recovery follow-intent sticky guard (#5217)
2026-06-30 16:38:10 -07:00
nesquena-hermes c80311a5db docs(changelog): SSE-recovery follow-intent sticky guard (#5217) 2026-06-30 23:35:00 +00:00
nesquena-hermes e0f42ca900 Merge #5217 into stage 2026-06-30 23:35:00 +00:00
Frank SongandPaperclip af7da472d2 Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 07:27:27 +08:00
nesquena-hermes 82e401362a Merge pull request #5299 from nesquena/release/stage-4969b
Release v0.51.781 — deep-link ?q= composer prefill, converged (#4969)
2026-06-30 16:18:47 -07:00
nesquena-hermes f7ec3c7b39 test(#5217): scope follow-intent ordering assertion to _handleStreamError + strip EOF blank line (Codex gate nits) 2026-06-30 23:18:00 +00:00
nesquena-hermes 740a3a693e docs(changelog): deep-link ?q= composer prefill, converged (#4969) 2026-06-30 23:08:16 +00:00