- Add error handling for file read operations (getOSReleaseInfo, getCurrentMirrorDomain)
- Fix trailing slash bug: add slash before replacement, not after
- Escape special regex characters in domain names to prevent incorrect replacements
- Fix OS detection order: check Ubuntu before Debian to avoid misidentification
- Add escapeRegExp helper function for regex escaping
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
- Import updateLinuxMirrorFile function to support Debian, Ubuntu, and Alpine
- Add OS detection logic (detectOS, getOSReleaseInfo, isDebian, isUbuntu, isAlpine)
- Add mirror domain extraction and replacement functions
- Update SystemService.updateLinuxMirror to use new multi-OS implementation
- Save config only if mirror update succeeds (hasError flag)
- Support different source files: /etc/apt/sources.list.d for Debian/Ubuntu, /etc/apk/repositories for Alpine
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Initial plan
* Stop running tasks before starting new scheduled instance
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add multi-instance support and fix stop to kill all running instances
- Add allow_multiple_instances field to Crontab model (default: 0 for single instance)
- Add validation for new field in commonCronSchema
- Add getAllPids and killAllTasks utility functions
- Update stop method to kill ALL running instances of a task
- Update runCron to respect allow_multiple_instances config
- Backward compatible: defaults to single instance mode
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add UI support for allow_multiple_instances configuration
- Add allow_multiple_instances field to ICrontab interface
- Add instance mode selector in task creation/edit modal
- Add translations for instance mode in Chinese and English
- Default to single instance mode for backward compatibility
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add allow_multiple_instances column migration and optimize db.ts
- Add allow_multiple_instances column to Crontabs table migration
- Refactor migration code to use data-driven approach
- Replace 11 individual try-catch blocks with single loop
- Improve code maintainability and readability
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>