BonyFish
ea3d4ec0b3
feat(cron): dynamic delivery options from API instead of hardcoded select
...
Replace the hardcoded 4-option deliver dropdown (local/discord/telegram/slack)
with a dynamic select populated from a new GET /api/crons/delivery-options
endpoint that reads _KNOWN_DELIVERY_PLATFORMS from hermes-agent.
Key changes:
- Add GET /api/crons/delivery-options endpoint returning all known platforms
- Frontend loads options asynchronously on first cron form open, with caching
- Enable deliver editing for existing jobs (was previously disabled)
- Include deliver in update payload when editing cron jobs
- Fallback to local-only if API unavailable
- Custom deliver values (e.g. feishu:oc_xxx) shown with * suffix
- Add cron_deliver_custom i18n key to all 12 locales
- Add 5 integration tests for the new endpoint
2026-05-27 10:58:49 +08:00
nesquena-hermes
08e9ce3d8a
Merge pull request #2992 from nesquena/release/stage-batch23
...
Release DM — stage-batch23 — 4-PR second hold-bucket pass (v0.51.141)
v0.51.141
2026-05-26 17:46:00 -07:00
nesquena-hermes
3a32660739
stage-batch23: stamp v0.51.141 / Release DM
2026-05-27 00:42:38 +00:00
nesquena-hermes
2d7d2cb31d
Merge pull request #2958
...
# Conflicts:
# CHANGELOG.md
2026-05-27 00:38:58 +00:00
nesquena-hermes
ad4a4e2d62
Merge pull request #2506
...
# Conflicts:
# CHANGELOG.md
2026-05-27 00:38:40 +00:00
nesquena-hermes
aa6cd48318
Merge pull request #2888
...
# Conflicts:
# CHANGELOG.md
# tests/test_webui_prefill_context.py
2026-05-27 00:38:24 +00:00
nesquena-hermes
e0dfa0c586
Merge pull request #2792
2026-05-27 00:37:48 +00:00
nesquena-hermes
83862e67aa
Merge pull request #2990 from nesquena/release/stage-batch22
...
Release DL — stage-batch22 — 5-PR hold-bucket reassessment (v0.51.140)
v0.51.140
2026-05-26 17:27:19 -07:00
nesquena-hermes
8b505e8ece
stage-batch22: stamp v0.51.140 / Release DL
2026-05-27 00:23:54 +00:00
nesquena-hermes
b5856f76ec
stage-batch22: backfill CHANGELOG entries for #2964 , #2986 , #2899 , #2970
2026-05-27 00:20:03 +00:00
nesquena-hermes
6c619f9e81
Merge pull request #2970
2026-05-27 00:19:20 +00:00
nesquena-hermes
858a250319
Merge pull request #2899
2026-05-27 00:19:20 +00:00
nesquena-hermes
52e785a2d8
Merge pull request #2902
...
# Conflicts:
# CHANGELOG.md
2026-05-27 00:19:20 +00:00
nesquena-hermes
244258aa89
Merge pull request #2986
2026-05-27 00:19:00 +00:00
nesquena-hermes
2db584969c
Merge pull request #2964
2026-05-27 00:19:00 +00:00
nesquena-hermes
8bc3404932
Merge pull request #2989 from nesquena/release/stage-batch21
...
Release DK — stage-batch21 — 5-PR tier-2 batch (v0.51.139)
v0.51.139
2026-05-26 17:10:22 -07:00
nesquena-hermes
eeff76bec7
stage-batch21: stamp v0.51.139 / Release DK
2026-05-27 00:07:03 +00:00
nesquena-hermes
485ad85203
stage-batch21: backfill CHANGELOG entry for #2954 (session index churn)
2026-05-27 00:03:31 +00:00
nesquena-hermes
80a9b0fa68
Merge pull request #2985
...
# Conflicts:
# CHANGELOG.md
2026-05-27 00:03:02 +00:00
nesquena-hermes
f3fbb49ce4
Merge pull request #2983
...
# Conflicts:
# CHANGELOG.md
2026-05-27 00:02:47 +00:00
nesquena-hermes
f061733c91
Merge pull request #2969
...
# Conflicts:
# CHANGELOG.md
2026-05-27 00:02:32 +00:00
nesquena-hermes
825288a590
Merge pull request #2967
...
# Conflicts:
# CHANGELOG.md
2026-05-27 00:02:09 +00:00
nesquena-hermes
272bfa9612
Merge pull request #2954
2026-05-27 00:01:54 +00:00
nesquena-hermes
a6c65de2e8
Merge pull request #2988 from nesquena/release/stage-batch20
...
Release DJ — stage-batch20 — 7-PR ultra-safe batch (v0.51.138)
v0.51.138
2026-05-26 16:58:47 -07:00
nesquena-hermes
56ae08d9f2
stage-batch20: stamp v0.51.138 / Release DJ
2026-05-26 23:55:38 +00:00
nesquena-hermes
68abe36050
stage-batch20: backfill CHANGELOG entries for #2975 and #2982
2026-05-26 23:52:00 +00:00
nesquena-hermes
c7e7029ab4
Merge pull request #2950
...
# Conflicts:
# CHANGELOG.md
2026-05-26 23:51:39 +00:00
nesquena-hermes
12fb9cac7e
Merge pull request #2948
...
# Conflicts:
# CHANGELOG.md
2026-05-26 23:51:25 +00:00
nesquena-hermes
cdc197aeec
Merge pull request #2982
2026-05-26 23:51:10 +00:00
nesquena-hermes
9dc1c87cd8
Merge pull request #2949
...
# Conflicts:
# CHANGELOG.md
2026-05-26 23:51:10 +00:00
nesquena-hermes
de2ab4f5d3
Merge pull request #2975
2026-05-26 23:50:51 +00:00
nesquena-hermes
ac64f5c7fc
Merge pull request #2972
...
# Conflicts:
# CHANGELOG.md
2026-05-26 23:50:51 +00:00
nesquena-hermes
f89aa4458a
Merge pull request #2960
2026-05-26 23:50:28 +00:00
ai-ag2026
815df9de76
fix: vendor math and yaml assets for CSP
2026-05-26 23:49:02 +02:00
ai-ag2026
fceb255252
fix(session): anchor message windows on renderable tail rows
2026-05-26 23:37:08 +02:00
george-andraws
65cae8f1a5
Improve sidebar chat search highlighting
2026-05-26 14:17:59 -07:00
xolom
e210c4855c
fix: include client addresses in webui request logs
2026-05-26 21:45:27 +02:00
Ed
9bb5842530
chore: address audit findings — module docstring + consistent section separators
2026-05-26 16:56:02 +02:00
Ed
38db6199b8
chore: clean up test_issue1894_provider_overlap — remove vestigial noqa, add docstrings
2026-05-26 16:56:02 +02:00
Ed
e46072c699
fix: update opencode-go base_url in provider overlap tests
...
api.opencode.ai/v1 -> opencode.ai/zen/go/v1 (canonical per hermes_cli/auth.py)
2026-05-26 16:56:02 +02:00
dobby-d-elf
b74df67726
Make session index pruning explicit
2026-05-26 07:43:16 -06:00
weiwei83
d0235b7f5a
fix: remove dead #composerAttach selector (actual ID is #attachTray)
2026-05-26 21:29:18 +08:00
weiwei83
1c7dfc85b3
refactor: code review cleanup
...
- Rename _escHandler to _keyHandler (now handles nav keys too)
- Store counter reference (lb._counterEl) to avoid DOM query on every nav
- Remove dead 'let counter = null' and 'hasNav' closure variable
- Use lb._navImages directly in keyboard handler for consistency
- Add null guard on lb.querySelector('img') in _navigateLightbox
- Inline _updateLightboxCounter one-liner
- Fix CSS section comment 'Image lightbox close' → 'Image lightbox'
- Fix CHANGELOG placeholder (#PR → #2967 )
2026-05-26 21:28:38 +08:00
weiwei83
84d0d56f53
refactor: address PR review — fix event listener churn and dead code
...
- _navigateLightbox now reads lb._navIndex / lb._navImages directly
instead of receiving a closure-captured index and rebuilding the
keyboard handler on every navigation. No more removeEventListener /
addEventListener churn.
- Button onclick handlers also read the live lb._navIndex.
- Removed dead backward-compat string-type shim and its unused oldEl
querySelector.
- Composer attach-tray chips now open single-image lightboxes (no
sibling detection across staged uploads).
2026-05-26 21:21:30 +08:00
Frank Song
2ff73c9954
Document truncation watermark metadata intent
2026-05-26 20:13:01 +08:00
Michael Lam
1b05d6031e
docs(runtime): define runner client backend gate
2026-05-26 04:06:12 -07:00
Frank Song
9db0d6869a
fix: keep session switch metadata non-blocking
2026-05-26 16:40:35 +08:00
AlexeyDsov
08277fcd9c
perf(ui): cache visWithIdx to skip O(N) scan on render window expansion
2026-05-26 11:24:23 +03:00
AlexeyDsov
f0dfe116ca
perf(ui): limit renderMessages O(N) passes to visible window
2026-05-26 11:24:11 +03:00
AlexeyDsov
755ecb94cd
perf(ui): cache renderMd output and lazy Prism.js highlighting
2026-05-26 11:23:50 +03:00