Skip to content
This repository was archived by the owner on Aug 17, 2026. It is now read-only.

fix: scope Routines pane to each bot's own cron store (#37) - #63

Merged
teknium1 merged 1 commit into
mainfrom
feat/routines-profile-scoped
Aug 15, 2026
Merged

fix: scope Routines pane to each bot's own cron store (#37)#63
teknium1 merged 1 commit into
mainfrom
feat/routines-profile-scoped

Conversation

@teknium1

Copy link
Copy Markdown
Contributor

Fixes #37.

The Routines pane queried cron.manage without a profile, so it only saw the launch/default gateway's cron store. A bot whose profile keeps cron in ~/.hermes/profiles/<name>/cron/ (especially when that profile runs a separate gateway) showed 'no cron jobs'.

Core hermes-agent#86796 added an optional profile param to cron.manage. This threads the active bot through it:

  • loadRoutines(profile) / useRoutines(profile): pass profile on list + legacy-pause, and key the query by profile so switching bots refetches.
  • RoutineRow: forward profile on pause/resume/remove.
  • CreateRoutineDialog: pass profile: bot on add.

Graceful degradation: older gateways ignore the unknown param and return the launch store, where the existing [bot:] tag filter (selectRoutineJobs) remains the fallback — so the plugin just works on any gateway.

Requires the core RPC (hermes-agent#86796, merged) + a gateway restart to take full effect. Source-assertion tests cover all four call sites. Full suite 49/49.

The Routines pane queried cron.manage without a profile, so it only ever saw
the launch/default gateway's cron store. A bot whose profile keeps cron in
~/.hermes/profiles/<name>/cron/ (esp. when that profile runs a separate gateway)
showed 'no cron jobs'.

Core hermes-agent#86796 added an optional profile param to cron.manage. This
plugin change threads the active bot through it:
- loadRoutines(profile) / useRoutines(profile): pass profile on list + legacy-
  pause, and key the query by profile so switching bots refetches.
- RoutineRow: forward profile on pause/resume/remove.
- CreateRoutineDialog: pass profile: bot on add.

Feature-detected by omission: older gateways ignore the unknown param and return
the launch store, where the existing [bot:] tag filter (selectRoutineJobs)
remains the graceful fallback. Source-assertion tests cover all four call sites.
Full suite 49/49.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: Routines/CRONJOBS pane shows 'no cron jobs' for bots whose profile runs a separate gateway (per-profile cron store invisible)

1 participant