v1.1.0 — /schedule UI, silence timeout, recording cleanup
Added
- Standing-call schedule UI —
/schedule list | add | edit | remove | pause | resumeto manage multiple auto-record schedules at runtime (no restart). Schedules persist todata/schedules.json, referenced by short id with autocomplete. Admin-gated (Manage Server); grantable to a role via Discord's native command permissions. - Silence timeout — the bot auto-leaves a voice channel after a configurable period with no voice activity (
SILENCE_TIMEOUT_MINUTES, default 20), so a cancelled call doesn't leave it recording indefinitely. Cleans up the empty session and skips transcription/summary. - Automatic recording cleanup — old, already-transcribed audio files are pruned on a retention schedule (
RECORDING_RETENTION_DAYS, default 7) to keep disk usage bounded; transcripts/summaries are preserved.
Changed
- Scheduler refactored from a single env-var-driven cron job to managing N jobs from the schedule store. Legacy
SCHEDULED_*env vars now seed the store once on first run, then are ignored (the JSON store is canonical).
Full changelog: https://github.com/The-Yak-Collective/openrecapper/blob/main/CHANGELOG.md