Copilot
02a05f06bd
Add signature verification support for Feishu bot notifications ( #2856 )
...
* Initial plan
* Add signature verification support for Feishu bot notifications
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add clarifying comments about Feishu signature algorithm
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add i18n translations for larkSecret configuration field
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>
2025-11-27 01:10:04 +08:00
Copilot
6a3dd4f83c
Fix null log_name issue by omitting it from shell command when not set ( #2849 )
...
* Initial plan
* Fix null log_name handling in runSingle method
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Update cron.log_name before makeCommand to avoid passing null to shell
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Fix: Only pass log_name to shell when it has a value
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Fix uniqPath calculation in runSingle for null log_name
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Improve comment clarity in makeCommand
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Refactor: Move no_tee and ID to initial commandVariable declaration
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Refactor: Simplify uniqPath ternary expression
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>
2025-11-22 12:06:01 +08:00
Copilot
d473c3ae88
Fix SSH global private key matching before subscription-specific keys ( #2845 )
...
* Initial plan
* Fix SSH global private key loading order by using zzz_ prefix
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Use tilde (~) prefix for global SSH config to ensure it loads last
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>
2025-11-21 01:53:58 +08:00
Copilot
ee2fbe5335
Add global SSH key configuration in system settings ( #2840 )
...
* Initial plan
* Add backend support for global SSH keys
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add frontend UI for global SSH keys management
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add SshKeyModel to database initialization
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add SSH config generation for global SSH keys
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add internationalization support for SSH key management UI
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Simplify to single global SSH key in system settings
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>
2025-11-20 10:09:01 +08:00
Copilot
48abf44ceb
feat: Support multiple concurrent login sessions per platform ( #2816 )
...
* Initial plan
* Implement multi-device login support - allow multiple concurrent sessions
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Address code review feedback - extract constants and utility functions
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add validation and logging improvements based on code review
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Revert unnecessary file changes - keep only multi-device login feature files
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>
2025-11-19 00:18:29 +08:00
Copilot
03c7031a3c
Fix task duplication: add single/multi-instance support with UI configuration and stop all running instances ( #2837 )
...
* 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>
2025-11-19 00:10:27 +08:00
Copilot
08ef509e27
Optimize log file writes using stream pooling ( #2835 )
...
* Initial plan
* Implement LogStreamManager for optimized log writing
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Fix error handler in LogStreamManager to avoid race conditions
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>
2025-11-16 21:11:10 +08:00
Copilot
8f23c61fee
Add non-root Docker user support with automatic command setup ( #2830 )
...
* Initial plan
* Add non-root user guide and improve error messages
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add PM2_HOME configuration to fix non-root user permission errors
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Fix PM2 socket error by using /tmp for PM2_HOME instead of mounted volume
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Document symlink permission limitation for non-root users
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Clarify that scheduled tasks auto-adapt to use full paths when symlinks unavailable
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add error handling for symlink creation to prevent worker crashes
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add practical solutions for non-root users to use ql and task commands
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Modify linkCommand to create symlinks in ~/bin for non-root users
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* 修复链接 task 命令
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
Co-authored-by: whyour <imwhyour@gmail.com>
2025-11-15 01:46:24 +08:00
whyour
1deb264913
升级 cron-parser
2025-11-11 00:37:03 +08:00
whyour
06aa07329f
修复日志目录逻辑
2025-11-09 21:42:45 +08:00
Copilot
4cb9f57479
环境变量支持置顶 ( #2822 )
...
* Initial plan
* Add pin to top feature for environment variables
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Format code with prettier
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add database migration for isPinned column in Envs table
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Use snake_case naming (is_pinned) for database column
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>
Co-authored-by: whyour <imwhyour@gmail.com>
2025-11-09 19:43:33 +08:00
Copilot
c369514741
定时任务支持自定义日志文件或者 /dev/null ( #2823 )
...
* Initial plan
* Add log_name field to enable custom log folder naming
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add database migration for log_name column
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add security validation to prevent path traversal attacks
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Apply prettier formatting to modified files
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Support absolute paths like /dev/null for log redirection
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Restrict absolute paths to log directory except /dev/null
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>
2025-11-09 19:32:40 +08:00
whyour
07951964a1
修复模块注入
2025-10-26 22:32:03 +08:00
涛之雨
a1f888af59
Add validation to dependencies GET endpoint and update service logic ( #2778 )
...
* Add validation to dependencies GET endpoint and update service logic
* fix 6063bc3a67 (r2266494581)
* remove default condition type
* fix query mistakes
2025-10-11 23:23:13 +08:00
whyour
50769c43dd
修复 command-run 接口日志绑定
2025-07-12 20:29:44 +08:00
whyour
87b934aafe
QLAPI.systemNotify 支持自定义通知类型和参数
2025-06-24 02:00:51 +08:00
whyour
7a92e7c6ab
修复取消安装依赖
2025-06-22 21:47:39 +08:00
whyour
ef9e38f167
备份数据支持选择模块,支持清除依赖缓存
2025-06-22 14:25:19 +08:00
憶夣
57939391b9
ntfy 增加可选的认证与用户动作 ( #2741 )
...
* feat:ntfy增加可选的认证
* feat:ntfy增加可选的用户动作
* fix:ntfy动作包含中文报错
2025-06-07 00:26:27 +08:00
whyour
7d65d96ebd
修复 demo 环境提示
2025-05-24 14:56:49 +08:00
whyour
f94582b68d
修复查询 python 依赖存在逻辑
2025-05-21 01:25:24 +08:00
whyour
eb1c00984c
修复任务视图状态包含筛选
2025-05-20 23:40:18 +08:00
whyour
1a185f5682
修复创建脚本可能失败
2025-05-20 01:00:08 +08:00
whyour
95459c33ed
修改 import undici
2025-05-15 01:19:24 +08:00
whyour
05db2b1df8
修复重置用户名失败
2025-05-15 01:12:01 +08:00
whyour
c3072e7712
got 替换为 uudici
2025-05-15 01:01:39 +08:00
whyour
3fafe4d24d
修复依赖强制删除未移除队列
2025-05-13 02:00:37 +08:00
whyour
ac04478d1d
修复重用户名
2025-05-11 18:59:15 +08:00
whyour
8a18baa921
修复登录通知失败造成服务重启
2025-05-11 14:36:16 +08:00
whyour
8174762c18
demo 环境不自动运行任务
2025-05-08 01:43:14 +08:00
whyour
710a107e73
邮箱通知支持多个收件人
2025-05-08 01:27:25 +08:00
whyour
d871585eee
修改服务启动逻辑
2025-05-07 09:30:00 +08:00
whyour
71a7c1b9d3
boot 任务改为在依赖安装完成后执行
2025-04-25 23:52:33 +08:00
whyour
1befa1bb8c
缓存 node 和 python 依赖
2025-04-23 02:10:39 +08:00
whyour
cf94ecfb11
脚本管理和日志管理支持下载
2025-03-13 00:22:24 +08:00
whyour
bae4073a64
增加重置密码命令
2025-02-27 23:57:26 +08:00
whyour
af3e358a6a
系统设置增加时区设置
2025-02-27 00:45:21 +08:00
whyour
64fcbff715
脚本管理增加可预览检查
2025-02-26 01:17:11 +08:00
whyour
fa83761d27
修改定时规则类型
2025-02-21 01:35:08 +08:00
whyour
8173075b67
定时任务支持 @once 和 @boot 任务
2025-02-20 02:18:59 +08:00
whyour
496918131f
修复群晖通知参数,任务视图不属于筛选
2025-02-16 12:15:45 +08:00
whyour
25e8e8198d
修改 QLAPI 调用校验
2025-01-30 00:55:48 +08:00
whyour
6df651aa63
更新 ts-proto 版本
2025-01-29 23:29:45 +08:00
whyour
ad6e08525c
修改 QLAPI 系统通知
2025-01-12 15:39:28 +08:00
whyour
51ef4e7476
修改任务状态更新失败提示,重复运行提示
2025-01-12 00:19:14 +08:00
whyour
e5b35273f9
修复更新环境变量
2025-01-11 17:14:30 +08:00
whyour
647ed3b66c
QLAPI 支持操作环境变量和系统通知
2025-01-11 01:59:46 +08:00
whyour
3f775a0e6c
修复创建系统应用
2025-01-05 22:03:41 +08:00
whyour
fa79de3f05
修复 status 类型
2025-01-05 12:23:13 +08:00
whyour
05f8bbd26e
写入文件增加文件锁,避免竞争条件引起文件内容异常
2025-01-04 01:22:29 +08:00