Summary
When a cron (scheduled) task fires and creates a new conversation, the generated conversation title should include the trigger timestamp. Currently:
- Manual trigger ("Run now") → the new conversation title includes the time.
- Automatic trigger (scheduler fires at the scheduled time) → the title does not include the time.
The two trigger paths produce inconsistent conversation titles.
Reported by a user via AionUi in-app feedback (AionUi @ 2.1.37, bundled AionCore v0.1.27).
Root cause (from investigation on the AionUi side)
This is a backend divergence in the aionui-cron crate — the AionUi TypeScript layers never compose the cron conversation title, they only display it (title comes from the backend and is stored in cron_jobs.conversation_title).
There appear to be two independent "create new conversation for cron job" code sites that each build the title on their own, rather than sharing one helper:
- Run-now path —
aionui-cron/src/routes.rs, the /api/cron/jobs/{id}/run handler. This branch builds the title and appends the trigger timestamp.
- Scheduler tick path —
aionui-cron/src/scheduler.rs / executor.rs. This branch builds the title on its own and does not append the timestamp (appears to use the raw job name / conversation_title only).
Both branches log Created new conversation for cron job, but only the run-now branch runs the timestamp-append step.
Suggested fix
Factor the new-conversation title construction (including the timestamp-append step) into a single shared helper, and have both the run-now handler and the scheduler tick call it, so automatic and manual triggers produce identical titles.
Notes
- Not reproducible/fixable from the AionUi (
packages/desktop) repo — the fix must land in this crate and ship in a rebuilt aioncore binary.
- Low severity (cosmetic title inconsistency), but it's a user-visible inconsistency between the two trigger modes.
Summary
When a cron (scheduled) task fires and creates a new conversation, the generated conversation title should include the trigger timestamp. Currently:
The two trigger paths produce inconsistent conversation titles.
Reported by a user via AionUi in-app feedback (AionUi @ 2.1.37, bundled AionCore v0.1.27).
Root cause (from investigation on the AionUi side)
This is a backend divergence in the
aionui-croncrate — the AionUi TypeScript layers never compose the cron conversation title, they only display it (title comes from the backend and is stored incron_jobs.conversation_title).There appear to be two independent "create new conversation for cron job" code sites that each build the title on their own, rather than sharing one helper:
aionui-cron/src/routes.rs, the/api/cron/jobs/{id}/runhandler. This branch builds the title and appends the trigger timestamp.aionui-cron/src/scheduler.rs/executor.rs. This branch builds the title on its own and does not append the timestamp (appears to use the raw job name /conversation_titleonly).Both branches log
Created new conversation for cron job, but only the run-now branch runs the timestamp-append step.Suggested fix
Factor the new-conversation title construction (including the timestamp-append step) into a single shared helper, and have both the run-now handler and the scheduler tick call it, so automatic and manual triggers produce identical titles.
Notes
packages/desktop) repo — the fix must land in this crate and ship in a rebuiltaioncorebinary.