docs(docker): give the cron 'Gateway not configured' banner a real fix link#2950
Conversation
Scheduled cron jobs created in the Tasks panel never tick on a single-container Docker install because the WebUI doesn't run the gateway daemon itself. The maintainer's analysis on nesquena#2785 spells this out: the gateway ticks the scheduler every 60s, and without it 'Gateway not configured' just sits there. The Tasks panel already shows a banner explaining this, but doesn't give the user anywhere to go. Two small docs-shaped changes: 1. Add a 'Scheduled jobs require a gateway daemon' section to docs/docker.md under 'What goes wrong' with the two-container compose command and a verify step. Cross-linked from the existing short paragraph higher up so both entry points land on the same fix. 2. Append a 'How to enable scheduled jobs in Docker' link to the cron panel banner (loadCronGatewayNotice) pointing at the new docs anchor when the gateway is unconfigured. The banner text itself is unchanged. Verified locally by serving the WebUI without a gateway, opening Tasks, and confirming the banner now shows the new link; clicked it and confirmed it lands on the new docs section. With the gateway running the banner stays hidden as before. Refs nesquena#2785
SummaryThanks @Sanjays2402 — this is the right shape for the #2785 docs follow-up. The banner currently dead-ends users; an inline anchor to the docs is minimum-viable and well-scoped. I read Two small things to address, plus a couple optional polish points. Code referencePR head at const docsHref = 'https://github.com/nesquena/hermes-webui/blob/master/docs/docker.md#scheduled-jobs-require-a-gateway-daemon';
const helpLink = notConfigured
? `<p><a href="${docsHref}" target="_blank" rel="noopener">How to enable scheduled jobs in Docker ↗</a></p>`
: '';The cron tick the docs describe at def _start_cron_ticker(stop_event, adapters=None, loop=None, interval: int = 60):
"""Background thread that ticks the cron scheduler at a regular interval.
Runs inside the gateway process so cronjobs fire automatically without
needing a separate `hermes cron daemon` or system cron entry."""So the "gateway daemon ticks every 60s" framing matches the agent code. Diagnosis1. Section numbering breaks visual flowYou inserted Options:
2. The verify command names a container the user doesn't have yetThe verify step: docker exec -it <gateway-container> hermes gateway statusAnyone landing here doesn't have a gateway container yet — the banner is what brought them. The gateway service name in Optional polish
Test planAfter the two fixes:
LGTM in concept — the user-facing improvement is real and the docs section is well-written. Just want the numbered-flow + copy-pasteable verify step tightened up before merge. |
…command (review feedback from @nesquena-hermes)
|
Fixed in cf94f2f. Promoted the section to its own H2 ( |
a6c65de
# Conflicts: # CHANGELOG.md
Picks up the docs-PR follow-up the maintainer suggested in #2785: single-container Docker installs surface a 'Gateway not configured' banner in the Tasks panel but don't tell the user where to go next.
Two small changes:
docs/docker.mdunder 'What goes wrong' with the two-container compose command and a verify step. The existing short blurb higher up now cross-links to it, so both entry points land on the same fix.loadCronGatewayNoticeinstatic/panels.jsappends a 'How to enable scheduled jobs in Docker ↗' link to the banner when the gateway is unconfigured. Banner text itself is unchanged; the link is hidden in the 'configured but not running' branch where the message is different and the next step is just to start the daemon.Verified locally by running the WebUI with no gateway, opening Tasks, and confirming the new link appears and lands on the new docs section. Started
hermes gatewayand confirmed the banner goes away.Refs #2785