 耗子andClaude Fable 5
|
a2e46faab9
|
feat(task): 任务队列支持取消运行中与等待中的任务
任务执行接入 context 并放入独立进程组,取消时整组杀死;
新增可选 CancelShell 清理钩子,远程下载、压缩、备份任务
取消后自动清理残留文件,备份改用独享临时目录避免误伤并发备份;
防重改为按语言无关的任务标识 Key 匹配
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 23:16:49 +08:00 |
|
 耗子andClaude Fable 5
|
8fa5c6d881
|
feat(file): 文件分享下载支持面板间互传
生成免登录的临时下载链接,强制设置有效期并支持下载次数限制,
过期分享由定时任务每小时清理,链接可直接用于其他面板的远程下载。
Closes #1641
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 22:47:11 +08:00 |
|
 耗子andClaude Fable 5
|
874abf005d
|
feat(app): 应用安装支持自定义编译参数
编译型应用与 PHP/Python 环境支持持久化的前置脚本与 configure 参数,
保存在 storage/customize 随安装更新自动生效,并接入面板备份与修复
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 06:27:39 +08:00 |
|
h2zi
|
2b28b16338
|
chore: update mocks
|
2026-07-19 20:21:37 +00:00 |
|
 耗子andClaude Fable 5
|
90b37f5e6a
|
feat(ssh): 终端支持主机间 SFTP 文件互传
终端窗口新增文件传输标签页,双栏浏览任意主机(含面板本机)目录,
选中文件后通过面板中转互传,传输队列实时展示进度速度并支持取消
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 03:05:51 +08:00 |
|
 耗子andClaude Fable 5
|
1ca986e779
|
feat(container): 支持查看容器详情与编辑容器
详情弹窗双 Tab:格式化展示挂载/端口/网络/环境变量等基本信息,原始 Tab 直接展示 inspect 输出
编辑复用创建表单,由 inspect 回填配置,确认后删除旧容器按新配置重建
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-20 02:15:53 +08:00 |
|
 耗子andClaude Opus 4.8
|
5efb32a661
|
refactor(biz): 用例层承载业务编排,data 层退为数据/外部原语
将压在 data 层胖 repo 的业务逻辑上移到 biz 用例层,让三层名副其实:
- 34 个 XxxUsecase 从纯透传空壳变为承载领域规则、跨 repo 编排、操作审计的
真正业务层;data 层 repo 退为数据访问与外部系统原语
- 24 条原压在 repo 层的跨 repo 编排上移为 usecase→usecase/repo 依赖,仅保留
3 处嵌在外部原语内无法剥离的 repo→repo(backup→setting/website、website→setting)
- 新增 internal/biz/helper.go:operatorID / IsNotFound / containerSock
- 表现层(service/job/command/apps/middleware)零改动,用例对外签名冻结
经全部 34 域逐语句对抗审查确认行为等价,7 处漂移已修复或知情接受。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-10 14:16:10 +08:00 |
|
 耗子andClaude Opus 4.8
|
443516a2cf
|
refactor!: 迁移至 samber/do 依赖注入与三层架构
依赖注入:
- 移除 google/wire(含 wire.go/wire_gen.go 与全部 ProviderSet),
改用 samber/do v2 单注入器 + 双入口惰性构建
- 贡献模型替代命令式注册:路由 routes:、命令 commands:、
任务 jobs: 前缀经 internal/registry 收集与校验
- 构造函数统一 func NewXxx(i do.Injector) (T, error)
三层架构:
- 补全用例层:每个 biz.XxxRepo 配 XxxUsecase,
service/command/job 表现层只依赖用例,不再直接引用仓储
路由与文档:
- route/http.go 按域拆为声明式 Endpoint 贡献,
Endpoint 承载登录白名单与端点限流语义
- 调试模式下提供 OpenAPI 3.1 文档:/openapi.json 与 /docs(Scalar),
从 validate 标签生成
目录与依赖:
- internal/http/{middleware,request,rule} 拍平至 internal/*
- CLI 命令拆至 internal/command
- 日志轮转 timberjack 换为 libtnb/logrotate
- 升级 validator/cron/sessions/gormstore/sqlite/securecookie
- 数据库迁移保持 gormigrate 不变
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-09 21:54:22 +08:00 |
|
h2zi
|
79fa002bd6
|
chore: update mocks
|
2026-07-02 18:15:21 +00:00 |
|
h2zi
|
75c4f44262
|
chore: update mocks
|
2026-06-05 11:43:55 +00:00 |
|
h2zi
|
b5bdcaded6
|
chore: update mocks
|
2026-05-27 15:56:25 +00:00 |
|
h2zi
|
f1cc5bb7d6
|
chore: update mocks
|
2026-04-27 12:31:25 +00:00 |
|
h2zi
|
13e5771445
|
chore: update mocks
|
2026-04-21 19:07:46 +00:00 |
|
h2zi
|
522d78569a
|
chore: update mocks
|
2026-04-06 18:20:12 +00:00 |
|
h2zi
|
4c6347d6c3
|
chore: update mocks
|
2026-03-27 09:00:20 +00:00 |
|
h2zi
|
60052aac09
|
chore: update mocks
|
2026-03-07 16:28:46 +00:00 |
|
h2zi
|
4ff7ce18cd
|
chore: update mocks
|
2026-02-26 15:51:13 +00:00 |
|
h2zi
|
d4c853db01
|
chore: update mocks
|
2026-02-25 10:07:42 +00:00 |
|
半岛的蒟蒻bddjr
|
e947259b86
|
fix: go.mod module github.com/acepanel/panel/v3 (#1423)
|
2026-02-25 18:07:00 +08:00 |
|
h2zi
|
4130b8b314
|
chore: update mocks
|
2026-02-22 11:59:00 +00:00 |
|
h2zi
|
cb2180fbdb
|
chore: update mocks
|
2026-02-19 20:47:41 +00:00 |
|
h2zi
|
6fc7b34882
|
chore: update mocks
|
2026-02-19 16:31:54 +00:00 |
|
h2zi
|
4c468e9aca
|
chore: update mocks
|
2026-02-18 11:19:40 +00:00 |
|
h2zi
|
1403c65d37
|
chore: update mocks
|
2026-02-18 10:18:09 +00:00 |
|
devhaozi
|
5407c53619
|
chore: update mocks
|
2026-02-17 20:03:22 +00:00 |
|
devhaozi
|
da9d95284c
|
chore: update mocks
|
2026-02-17 18:53:59 +00:00 |
|
devhaozi
|
c731125534
|
chore: update mocks
|
2026-02-17 15:31:28 +00:00 |
|
devhaozi
|
6c703bf94d
|
chore: update mocks
|
2026-02-17 12:28:53 +00:00 |
|
耗子
|
2f2f17b1c7
|
refactor: 重构任务队列
|
2026-02-17 17:47:25 +08:00 |
|
devhaozi
|
2536dfe933
|
chore: update mocks
|
2026-02-17 09:17:03 +00:00 |
|
devhaozi
|
205d95a591
|
chore: update mocks
|
2026-02-11 11:13:50 +00:00 |
|
devhaozi
|
58ddd55b7c
|
chore: update mocks
|
2026-02-02 16:05:24 +00:00 |
|
devhaozi
|
ce83fdd4db
|
chore: update mocks
|
2026-01-30 09:27:20 +00:00 |
|
devhaozi
|
a060ba136e
|
chore: update mocks
|
2026-01-24 11:23:22 +00:00 |
|
devhaozi
|
4dd06f5812
|
chore: update mocks
|
2026-01-23 17:38:07 +00:00 |
|
devhaozi
|
4c6daf5028
|
chore: update mocks
|
2026-01-23 13:57:38 +00:00 |
|
devhaozi
|
11e56631b8
|
chore: update mocks
|
2026-01-22 21:45:06 +00:00 |
|
devhaozi
|
ba1f5b284d
|
chore: update mocks
|
2026-01-21 20:15:38 +00:00 |
|
耗子
|
0aebdd08e1
|
refactor: 重命名备份存储
|
2026-01-22 04:14:29 +08:00 |
|
devhaozi
|
c189cd6eb5
|
chore: update mocks
|
2026-01-21 19:40:40 +00:00 |
|
devhaozi
|
5fd50feab4
|
chore: update mocks
|
2026-01-21 17:10:32 +00:00 |
|
devhaozi
|
8f1b69bd4b
|
chore: update mocks
|
2026-01-19 18:19:07 +00:00 |
|
devhaozi
|
b058d851fe
|
chore: update mocks
|
2026-01-19 15:50:48 +00:00 |
|
devhaozi
|
86ff6bb88a
|
chore: update mocks
|
2026-01-19 15:06:10 +00:00 |
|
devhaozi
|
9f52671ca3
|
chore: update mocks
|
2026-01-15 22:29:55 +00:00 |
|
devhaozi
|
8f85ac8c28
|
chore: update mocks
|
2026-01-13 19:16:39 +00:00 |
|
devhaozi
|
ff476aeed5
|
chore: update mocks
|
2026-01-13 15:33:28 +00:00 |
|
devhaozi
|
cd85032ecb
|
chore: update mocks
|
2026-01-12 15:31:53 +00:00 |
|
devhaozi
|
1012e5a246
|
chore: update mocks
|
2026-01-12 14:18:01 +00:00 |
|
devhaozi
|
b5203b194a
|
chore: update mocks
|
2026-01-10 21:31:26 +00:00 |
|