feat: update check (#561)

feat(update-check): add robust update check with interval support, state management, and CLI integration

- Implement version and interval-based update checks with configurable settings
- Add CLI command `kleinanzeigen-bot update-check` for manual checks
- Introduce state file with versioning, UTC timestamps, and migration logic
- Validate and normalize intervals (1d–4w) with fallback for invalid values
- Ensure correct handling of timezones and elapsed checks
- Improve error handling, logging, and internationalization (i18n)
- Add comprehensive test coverage for config, interval logic, migration, and CLI
- Align default config, translations, and schema with new functionality
- Improve help command UX by avoiding config/log loading for `--help`
- Update documentation and README with full feature overview
This commit is contained in:
Jens Bergmann
2025-06-27 07:52:40 +02:00
committed by GitHub
parent 4d4f3b4093
commit 5430f5cdc6
13 changed files with 1358 additions and 26 deletions

View File

@@ -344,6 +344,32 @@
},
"title": "PublishingConfig",
"type": "object"
},
"UpdateCheckConfig": {
"description": "Configuration for update checking functionality.",
"properties": {
"enabled": {
"default": true,
"title": "Enabled",
"type": "boolean"
},
"channel": {
"default": "latest",
"enum": [
"latest",
"preview"
],
"title": "Channel",
"type": "string"
},
"interval": {
"default": "7d",
"title": "Interval",
"type": "string"
}
},
"title": "UpdateCheckConfig",
"type": "object"
}
},
"properties": {
@@ -384,6 +410,10 @@
},
"captcha": {
"$ref": "#/$defs/CaptchaConfig"
},
"update_check": {
"$ref": "#/$defs/UpdateCheckConfig",
"description": "Update check configuration"
}
},
"title": "Config",