whyour
15d54866a8
feat: migrate SQLite runtime and verify complete upgrade bundles
...
Use MikroORM's official Node SQLite dialect with bounded database isolation, preserve legacy schema and data for rollback, and require Node 22.17 or newer. Update Debian runtimes and retain ARMv6 musl compatibility without a SQLite addon.
Complete short archive writes, stop orphaned SQL workers after owner death, preserve buffered startup requests, and prestart the archived backend on every platform. Cover real package installation, migration, failure recovery, and legacy database compatibility.
Keep authentication storage failures distinct from expired sessions with a pinned Keyv runtime, propagated cache errors, and retryable HTTP 503 responses. Preserve genuine 401 failures and verify legacy cache bytes, initialization safety, and session recovery.
2026-10-22 13:47:26 +08:00
whyour
e435f6e886
fix(notify): audit system and JS/Python script notification results
2026-10-13 02:20:59 +08:00
whyour
1503f07c75
fix(notification): bound audit logs without breaking delivery
2026-10-12 00:23:20 +08:00
whyour
f051135fc4
fix: declare nullable subscription process id
2026-09-24 20:37:13 +08:00
Alone88
841740f19a
feat: add WPUSH notification provider ( #3066 )
...
Add WPUSH as a notification channel for Qinglong panel settings and
sample notify scripts (Python/JS), using POST https://api.wpush.cn/api/v1/send
with success code === 0. Supports optional channel and topic_code.
2026-09-13 00:50:56 +08:00
whyour
a94e665054
fix: 修复任务生命周期与调度就绪,优化执行和构建开销 ( #3069 )
...
* fix: harden task lifecycle and scheduler readiness
* fix: confine log writes to the configured log directory
* fix: verify complete build artifacts and untracked inputs
* fix: reconcile scheduler state and make stop win startup races
* fix: isolate cron generations and serialize scheduler recovery
2026-09-13 00:32:41 +08:00
whyour
4df52094f2
fix: harden authentication and file access security
2026-09-05 18:19:01 +08:00
whyour
276dfc2382
perf: bound runtime memory and storage usage
2026-08-16 16:29:06 +08:00
whyour
31f78e4d1f
feat: add client IP diagnostics and blocking
2026-08-16 13:57:33 +08:00
whyour
ddb3ab7ac3
Add configurable browser tab title for multi-instance QingLong deployments ( #3041 )
2026-07-10 02:07:11 +08:00
zjiecode and zjiecode
327c3a317b
Add WxPusher simple push support,Enhance user experience and reduce configuration complexity ( #3023 )
...
* 新增对WxPusher极简推送的支持,减小用户使用成本
* 新增脚本对WxPusher极简推送的支持
* 修复通知配置的枚举定义
---------
Co-authored-by: zjiecode <zjiecode@gmail.com >
2026-06-30 14:30:31 +08:00
whyour
3044f63f03
修复国际化文案
2026-06-21 23:53:32 +08:00
whyour
05f8fd3805
接口提示信息国际化
2026-06-11 02:19:04 +08:00
whyour
946731ac8d
增加运行实例
2026-06-10 01:53:10 +08:00
whyour
fd6b4e4cde
定时任务增加 work_dir 设置
2026-06-07 13:19:01 +08:00
whyour
e8ac195c96
增加任务统计
2026-06-01 18:20:18 +08:00
whyour
4bee3fbdf4
修复 getCronById api status
2026-05-31 15:53:24 +08:00
whyour
8bc0906949
feat: add environment variable labels
2026-05-23 23:21:38 +08:00
66700ebe1a
Add OpeniLink notification channel ( #2988 )
...
* Initial plan
* Add OpeniLink notification channel support
Agent-Logs-Url: https://github.com/whyour/qinglong/sessions/c80b4882-1bd7-4ffe-9180-cd3220da5986
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com >
* Add context_token and hub_url to OpeniLink notification channel
Agent-Logs-Url: https://github.com/whyour/qinglong/sessions/a5e66f5a-dab8-4a65-96ca-960d35fa9d50
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 >
2026-04-25 16:01:36 +08:00
copilot-swe-agent[bot] and whyour
79964f149c
feat: add notification audit log feature
...
Agent-Logs-Url: https://github.com/whyour/qinglong/sessions/4c9f0ab1-8b0e-4b94-b295-39c90ed942c2
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com >
2026-04-25 06:49:18 +00:00
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
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
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
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
06aa07329f
修复日志目录逻辑
2025-11-09 21:42:45 +08:00
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
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
87b934aafe
QLAPI.systemNotify 支持自定义通知类型和参数
2025-06-24 02:00:51 +08:00
憶夣
57939391b9
ntfy 增加可选的认证与用户动作 ( #2741 )
...
* feat:ntfy增加可选的认证
* feat:ntfy增加可选的用户动作
* fix:ntfy动作包含中文报错
2025-06-07 00:26:27 +08:00
whyour
f94582b68d
修复查询 python 依赖存在逻辑
2025-05-21 01:25:24 +08:00
whyour
710a107e73
邮箱通知支持多个收件人
2025-05-08 01:27:25 +08:00
whyour
1befa1bb8c
缓存 node 和 python 依赖
2025-04-23 02:10:39 +08:00
whyour
af3e358a6a
系统设置增加时区设置
2025-02-27 00:45:21 +08:00
whyour
496918131f
修复群晖通知参数,任务视图不属于筛选
2025-02-16 12:15:45 +08:00
whyour
e5b35273f9
修复更新环境变量
2025-01-11 17:14:30 +08:00
whyour
3f775a0e6c
修复创建系统应用
2025-01-05 22:03:41 +08:00
whyour
7d43b14f81
修复重置登录错误次数和 tfa
2025-01-02 23:50:20 +08:00
whyour
678e3e2dc6
修改认证信息存储方式,避免认证信息异常
2024-12-30 14:23:04 +08:00
FanchangWang
955c7377d7
新增 wxPusher 推送通道。wxPusher 官方文档: https://wxpusher.zjiecode.com/docs/ ( #2594 )
...
* 增加 wxPusher 推送方式
* 补全 wxPusher 推送方式代码
* fix js 方法多进行了一次 JSON 格式化
2024-12-13 14:13:34 +08:00
c71abd8c86
完善pushplus通知方式的代码逻辑 ( #2454 )
...
* 1. pushplus通知方式返回结果优化
2. pushplus通知方式适配更多参数
* 细节bug修改
* 删除没用的空格
---------
Co-authored-by: 陈思远 <chensiyuan@yiban.com.cn >
Co-authored-by: 陈大人 <chensiyuan@pushplus.plus >
2024-12-13 14:12:16 +08:00
qiaoyun680 and qiaoyun680 <qiaoyun680>
185fd2ff91
增加 ntfy 通知 ( #2537 )
...
Co-authored-by: qiaoyun680 <qiaoyun680>
2024-10-22 21:47:38 +08:00
whyour
c3908e956f
修复下载单文件订阅
2024-06-06 22:40:51 +08:00
陈大人 and chensiyuan
e77d4c4337
增加微加机器人消息通道 ( #2373 )
...
Co-authored-by: chensiyuan <chensiyuan@pushplus.plus >
2024-05-25 00:33:31 +08:00
雨思
8dd379b6b9
PushMe 通知支持自建服务 ( #2358 )
2024-05-15 22:38:25 +08:00
whyour
0b52e05af8
bark 推送增加 archive 参数
2024-05-05 20:10:57 +08:00
whyour
6dba8ae72d
依赖增加已取消状态
2024-02-14 21:54:53 +08:00
whyour
897b710527
通知 TG_API_HOST 参数移除默认 https 协议,参数包含协议
2023-12-01 09:21:27 +08:00
whyour
5afec03548
修改获取切换 node 和 linux 源日志
2023-11-30 23:39:14 +08:00
whyour
9ed107980c
系统设置增加依赖代理和镜像源设置
2023-11-06 23:55:16 +08:00
Bad Child
82c9978514
修复 chronocat 通知成功判断 ( #2166 )
2023-11-03 17:57:10 +08:00