dependabot[bot]
395a8e016e
chore(deps): bump the npm_and_yarn group across 1 directory with 8 updates
...
Bumps the npm_and_yarn group with 8 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [body-parser](https://github.com/expressjs/body-parser ) | `1.20.3` | `1.20.6` |
| [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware ) | `3.0.3` | `3.0.7` |
| [js-yaml](https://github.com/nodeca/js-yaml ) | `4.1.0` | `4.3.2` |
| [multer](https://github.com/expressjs/multer ) | `2.1.1` | `2.3.0` |
| [nodemailer](https://github.com/nodemailer/nodemailer ) | `8.0.1` | `9.1.1` |
| [undici](https://github.com/nodejs/undici ) | `7.9.0` | `7.29.0` |
| [axios](https://github.com/axios/axios ) | `1.7.8` | `1.18.0` |
| [brace-expansion](https://github.com/juliangruber/brace-expansion ) | `1.1.12` | `1.1.21` |
Updates `body-parser` from 1.20.3 to 1.20.6
- [Release notes](https://github.com/expressjs/body-parser/releases )
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md )
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.3...1.20.6 )
Updates `http-proxy-middleware` from 3.0.3 to 3.0.7
- [Release notes](https://github.com/chimurai/http-proxy-middleware/releases )
- [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v3.0.7/CHANGELOG.md )
- [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v3.0.3...v3.0.7 )
Updates `js-yaml` from 4.1.0 to 4.3.2
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.2/CHANGELOG.md )
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.3.2 )
Updates `multer` from 2.1.1 to 2.3.0
- [Release notes](https://github.com/expressjs/multer/releases )
- [Changelog](https://github.com/expressjs/multer/blob/main/CHANGELOG.md )
- [Commits](https://github.com/expressjs/multer/compare/v2.1.1...v2.3.0 )
Updates `nodemailer` from 8.0.1 to 9.1.1
- [Release notes](https://github.com/nodemailer/nodemailer/releases )
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nodemailer/nodemailer/compare/v8.0.1...v9.1.1 )
Updates `undici` from 7.9.0 to 7.29.0
- [Release notes](https://github.com/nodejs/undici/releases )
- [Commits](https://github.com/nodejs/undici/compare/v7.9.0...v7.29.0 )
Updates `axios` from 1.7.8 to 1.18.0
- [Release notes](https://github.com/axios/axios/releases )
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md )
- [Commits](https://github.com/axios/axios/compare/v1.7.8...v1.18.0 )
Updates `brace-expansion` from 1.1.12 to 1.1.21
- [Release notes](https://github.com/juliangruber/brace-expansion/releases )
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.12...v1.1.21 )
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.18.0
dependency-type: direct:development
- dependency-name: body-parser
dependency-version: 1.20.6
dependency-type: direct:production
- dependency-name: brace-expansion
dependency-version: 1.1.21
dependency-type: indirect
- dependency-name: http-proxy-middleware
dependency-version: 3.0.7
dependency-type: direct:production
- dependency-name: js-yaml
dependency-version: 4.3.2
dependency-type: direct:production
- dependency-name: multer
dependency-version: 2.3.0
dependency-type: direct:production
- dependency-name: nodemailer
dependency-version: 9.1.1
dependency-type: direct:production
- dependency-name: undici
dependency-version: 7.29.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-27 14:23:18 +00:00
whyour
f168efcdae
refactor: migrate cron scheduling to node-cron ( #3079 )
...
* refactor: migrate cron scheduling to node-cron
* feat: support annually midnight and minutely cron macros
* fix: harden cron recovery and system scheduler compatibility
2026-09-27 22:18:39 +08:00
whyour
bf63425805
fix: isolate invalid cron rules during scheduler recovery
v2.22.0
2026-09-27 16:45:09 +08:00
whyour
a8310e7d51
fix: restore legacy cron schedules and shell diagnostics ( #3078 )
2026-09-27 16:16:22 +08:00
whyour
a67d44cde5
fix: pin Debian Python 3.10 base for full release matrix
2026-09-26 01:40:39 +08:00
whyour
6c487018c2
fix: drain completed task logs and prepare 2.22.0 release ( #3076 )
2026-09-26 01:17:28 +08:00
whyour
801a71d740
feat(cli): cover OpenAPI with a remote npm CLI and internal panel tools ( #3074 )
...
* feat(cli): add unified Commander CLI for QingLong 2.x
* fix(cli): publish via npm and address security review feedback
* ci(cli): package npm artifacts and remove evaluation collateral
* test(cli): use a fixed shell fixture for log retention
* refactor(cli): separate remote npm client from panel tools
* feat(cli): cover active panel OpenAPI resources
* docs(cli): unify authentication and skill guidance
* refactor(cli): isolate internal commands and generate Commander help
* refactor(cli): organize remote and internal modules by responsibility
* ci(cli): publish verified npm archives from master
* fix(cli): publish under the whyour npm scope
* ci: use npm trusted publishing for both packages
* docs: introduce the published CLI on the project homepage
* fix(cli): preserve server log truncation and correct login hints
* fix(cli): accept dashboard record request bodies
* fix(cli): preserve stdin for local task execution
* fix(cli): resolve task executables after changing directory
* fix(cli): preserve shell function tasks and sanitize test failures
* fix(cli): preserve shell hook state and resolve workdir after hooks
* fix(cli): preserve cleanup across shared shell task timeouts
* fix(cli): isolate shell control descriptors and reap timed-out descendants
2026-09-25 23:24:41 +08:00
whyour
f051135fc4
fix: declare nullable subscription process id
2026-09-24 20:37:13 +08:00
whyour
2d6c2206b3
fix: verify task termination and preserve startup configuration
2026-09-22 22:23:18 +08:00
whyour
6acb665369
fix: prevent expired-token login refresh loop
2026-09-19 13:23:28 +08:00
whyour
d9833c17d5
perf: reduce resident dependencies and duplicate WebSocket authentication ( #3071 )
...
* perf: load HTTP dependencies only in the HTTP worker
* docs: record 30-minute idle resource comparison
* perf: isolate database initialization from the cluster primary
* docs: record isolated database startup resource comparison
* perf: avoid an extra shell child in Docker health probes
* perf: load notification dependencies only when needed
* perf: retain queue cleanup after notification loading comparison
* fix: stop page polling after unmount and avoid duplicate fetches
* perf: share WebSocket session polling across connections
* docs: measure real WebSocket container CPU and memory
* perf: reuse JWT validation within each WebSocket session check
* perf: bound login IP lookup allocations with an address cache
* refactor: limit resource optimization PR to three core changes
* docs: benchmark the three core optimizations against develop
* chore: remove documentation and benchmark artifacts from PR
2026-09-18 20:22:18 +08:00
whyour
a60ec5587a
feat: show today's successful tasks from dashboard ( #3072 )
2026-09-18 02:16:54 +08:00
whyour
4eb27427f8
fix: 修复 develop 调度锁、运行恢复与 Alpine 缓存并发 ( #3070 )
...
* fix: repair develop scheduler locks and runtime recovery
* test: wait for child reaping after verified termination
* fix: abort cron mutations when scheduler deletion fails
2026-09-13 13:44:44 +08:00
whyour
041a437453
fix: support WPUSH notifications over gRPC
2026-09-13 01:08:14 +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
d62d8f3025
fix: support Chinese cron log names ( #3068 )
2026-09-12 03:03:25 +08:00
whyour
4df52094f2
fix: harden authentication and file access security
2026-09-05 18:19:01 +08:00
whyour
be2580d0e8
feat: show today's failed tasks from dashboard
...
Add a failure list with task names, commands, accumulated failure counts and latest log links. Keep recovered and deleted tasks visible in today's statistics.
Fixes #3065
2026-09-05 17:03:31 +08:00
whyour
5f6049d80a
fix: secure file routes and dependency management
2026-08-29 19:10:30 +08:00
whyour
0e975d1d6d
fix: show cron validation field errors
2026-08-22 01:20:04 +08:00
whyour
134cd8337c
fix: read ql runtime logs from syslog
2026-08-20 09:41:42 +08:00
whyour
88200f2805
feat: add ql service log command
2026-08-20 00:56:59 +08:00
whyour
decdab093f
perf: speed up large file tree listings
2026-08-19 01:05:18 +08:00
whyour
dfa73af104
fix: preserve container startup diagnostics
2026-08-18 00:40:40 +08:00
whyour
f71fd5ebd6
fix: propagate initialization errors and reduce request metrics
2026-08-17 08:55:53 +08:00
whyour
afe9b5702b
chore: remove internal performance triage report
2026-08-16 22:41:46 +08:00
whyour
02e02491c4
fix: avoid duplicate container stdout logging
2026-08-16 17:03:15 +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
83e4490b57
fix: pin Python base for multi-arch builds
2026-08-11 00:12:47 +08:00
whyour
2ac4f07fca
fix: address dashboard scope and preview interactions
2026-08-10 23:40:53 +08:00
Kobi Hikri
6618240c61
ci: attach provenance and SBOM attestations to the published images ( #3048 )
...
* ci: attach provenance and SBOM attestations to the published images
* ci: restore trailing newline at end of file
2026-08-01 20:11:55 +08:00
whyour
0bb41ebe96
新版本 v2.21.0
v2.21.0
2026-07-25 13:28:44 +08:00
whyour
d67f33df39
fix: 防止 task_before 污染 Node.js 依赖路径
2026-07-24 22:33:48 +08:00
whyour
24d539fc05
fix: 使用 npm 包安装 sqlite3
2026-07-19 00:40:40 +08:00
whyour
214e23a63d
fix: 恢复 linux/s390x 镜像支持
2026-07-18 11:02:07 +08:00
whyour
ddb3ab7ac3
Add configurable browser tab title for multi-instance QingLong deployments ( #3041 )
2026-07-10 02:07:11 +08:00
whyour
da6dac8bf1
ts-node 异常,锁定 typescript 版本
2026-07-10 01:36:31 +08:00
whyour
9b17a41987
修复 dashboard 接口地址
2026-07-08 00:28:35 +08:00
whyour
cdfa6c3c3c
增加启动错误日志
2026-07-04 21:36:11 +08:00
whyour
1953022b99
修复识别系统默认语言
2026-07-04 01:13:59 +08:00
whyour
38d84f9f31
修复订阅链接正则判断
2026-07-02 00:08:39 +08:00
whyour
e92ddb0aed
修复添加任务有可能失败
2026-07-01 00:37:42 +08:00
Copilot and copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
a0d57c78c5
Fix "Validation failed" when editing env variables with null labels ( #3026 )
...
* Initial plan
* Fix env variable edit validation error when labels is null
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-06-30 23:51:21 +08:00
Martha Ramirez
a942a5686f
修复删除定时任务后 crontab.list 残留导致订阅更新无法重新注册 ( #3021 )
...
* 修复删除定时任务后 crontab.list 未同步导致订阅更新无法重新注册脚本
crontab.list 作为数据库的文件镜像,其同步 setCrontab() 此前串行在尽力而为
的 gRPC addCron/delCron 调用之后:当调度 worker 重启等导致 gRPC 短暂不可用、
addCron/delCron reject 时,setCrontab() 会被跳过,crontab.list 与数据库脱节。
而 shell/update.sh 的 gen_list_repo() 将 crontab.list 作为"已有任务"真源,
于是订阅更新误判脚本已存在、跳过新增注册(前端再也看不到这些脚本)。
将 create/update/remove/disabled/enabled/autosave_crontab 中的 gRPC 调用改为
尽力而为(try/catch + 告警日志),保证 setCrontab() 总是执行;autosave_crontab
额外将 setCrontab 提前到 addCron 之前,确保启动/调度器重启时文件总是同步,
并避免 gRPC 失败导致应用启动崩溃。
调度器内存中的任务注册与 crontab.list/系统 crontab 同步是两个相互独立的关注点:
gRPC 失败时内存调度可能在调度器重启后由 autosave_crontab 重新注册,但文件同步
不应因此被阻断。修复后既有的 crontab.list 残留会在下次重启或任意增删改时自愈。
可能与 #2422(订阅更新重复添加任务)同根因。
* 过滤 delCron 中 scheduleStacks 的 null job
nodeSchedule.scheduleJob() 对无效 cron 表达式(如 "0 * /6 * * *",
空格分开了 * /6)会返回 null,原代码原样存入 scheduleStacks 数组。
delCron 取消时对 null 调 cancel() 抛出 UNKNOWN 错误,导致 gRPC
handler 中断、HTTP 端 cronService.remove() 跳过 setCrontab(),
crontab.list 残留已删任务的记录,导致订阅更新时 gen_list_repo()
误判脚本已存在、不再重新注册。
过滤 null 并对每个 cancel 调用加 try/catch 容错。
2026-06-30 23:48:51 +08:00
magicJie
a1ccd9947d
Add Kubernetes deployment manifests ( #3025 )
2026-06-30 22:24:03 +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
d3016431ce
定时任务显示完整运行历史
2026-06-28 15:48:58 +08:00
whyour
5fbff0e1c8
修复 openapi 鉴权提示
2026-06-26 15:31:25 +08:00