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
whyour
45fac29804
移除用户判断
2025-11-15 17:02:00 +08:00
whyour
72d4c8bfd4
修复 homedir 权限
2025-11-15 02:27:27 +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
Copilot
1f2fd8ac02
Fix URIError from malformed cookies causing white screen on load ( #2811 )
...
* Initial plan
* Fix decodeURIComponent error in cookie parsing by adding try-catch
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Add type annotation and logging to catch block per code review
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Fix TypeScript errors in deps.ts - remove unused path parameter
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
* Revert pnpm-lock.yaml to avoid unnecessary lockfile version upgrade
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 21:53:06 +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
399728b433
修复 jwt 认证
2025-11-02 22:28:58 +08:00
whyour
18f27a9a69
移除 nginx
2025-11-02 19:29:59 +08:00
whyour
07951964a1
修复模块注入
2025-10-26 22:32:03 +08:00
whyour
a7baeba755
修复 task 命令可能软链失败
2025-10-11 23:15:54 +08:00
whyour
1a185f5682
修复创建脚本可能失败
2025-05-20 01:00:08 +08:00
whyour
472a3088df
修复启动逻辑
2025-05-17 17:25:50 +08:00
whyour
d871585eee
修改服务启动逻辑
2025-05-07 09:30:00 +08:00
whyour
729b405b0f
修复 bootAfter 目录
2025-04-26 23:26:11 +08:00
whyour
71a7c1b9d3
boot 任务改为在依赖安装完成后执行
2025-04-25 23:52:33 +08:00
whyour
280085668e
修复未初始化时区设置
2025-02-28 00:56:40 +08:00
whyour
f9f78b4e05
修改系统内置通知模块名称,避免重复
2025-02-25 00:32:13 +08:00
whyour
8173075b67
定时任务支持 @once 和 @boot 任务
2025-02-20 02:18:59 +08:00
whyour
af97543918
修改错误提示
2025-01-14 23:20:53 +08:00
whyour
f1ca2134b7
移除 nedb 和 sentry
2025-01-14 00:24:25 +08:00
whyour
51ef4e7476
修改任务状态更新失败提示,重复运行提示
2025-01-12 00:19:14 +08:00
whyour
647ed3b66c
QLAPI 支持操作环境变量和系统通知
2025-01-11 01:59:46 +08:00
whyour
ffa8b25a66
优化初始化文件操作
2025-01-05 00:28:08 +08:00
whyour
05f8bbd26e
写入文件增加文件锁,避免竞争条件引起文件内容异常
2025-01-04 01:22:29 +08:00
whyour
7d43b14f81
修复重置登录错误次数和 tfa
2025-01-02 23:50:20 +08:00
whyour
cecc5aeb15
修复初始化 SystemConfig 数据
2025-01-01 21:33:43 +08:00
whyour
678e3e2dc6
修改认证信息存储方式,避免认证信息异常
2024-12-30 14:23:04 +08:00
whyour
ab27a4c908
更新 node 依赖
2024-12-12 00:26:11 +08:00
whyour
4244502949
增加 log 图标样式
2024-10-13 21:24:17 +08:00
whyour
53ef0fe296
修复订阅任务参数
2024-09-01 23:42:36 +08:00
whyour
c573186e34
修复启动无法创建订阅任务
2024-09-01 22:47:29 +08:00
whyour
65f7483688
修复任务频繁运行通知
2024-08-25 16:28:32 +08:00
whyour
4e5ad6d5f3
定时服务区分系统、订阅、脚本任务
2024-08-23 23:06:50 +08:00
whyour
8218d4ba94
修复 Dockerfile
2024-08-18 17:26:33 +08:00
whyour
af5de8372c
修复 shell 变量初始化检查,更新 sentry 版本
2024-08-18 14:19:45 +08:00
whyour
e694570f1a
增加 task_before.js 和 task_before.py 文件,在执行任务前执行,避免环境变量过大报错
2024-07-22 01:07:00 +08:00
whyour
eb5cc3943d
Javascript 和 Python 增加内置函数 QLAPI.notify
2024-07-21 01:15:16 +08:00
whyour
e191aca41f
修改环境变量加载逻辑
2024-07-10 23:29:44 +08:00
whyour
7efe81df9e
修复 data 目录判断逻辑
2024-06-25 22:25:36 +08:00
whyour
46e71d8213
修复系统设置数据未初始化
2024-06-12 13:53:45 +08:00
whyour
70f2bef5d2
修改 ql 和 task 命令生成逻辑
2024-05-29 22:09:01 +08:00
whyour
7a8a8ab9b3
修改系统重启逻辑
2024-03-14 17:37:52 +08:00
whyour
68ad01e0e8
增加 update 服务
2024-03-10 22:07:06 +08:00
whyour
9c258ab113
修复初始化更新镜像源配置
2024-02-11 21:46:27 +08:00
whyour
7f3e60423b
修复启动时依赖配置未初始化
2024-01-24 22:55:21 +08:00