Commit Graph

171 Commits

Author SHA1 Message Date
jxxghp
429ceca8c1 Merge pull request #6574 from dogodefi/codex/apev2-cover-art 2026-09-05 07:53:37 +08:00
jxxghp
ff01449cdd fix(api): humanize user-facing error messages 2026-09-04 17:55:56 +08:00
yanjunpu
16e5a161b4 feat(music): support APE metadata and cover art 2026-09-04 05:42:56 +08:00
InfinityPacer
b8fd1b9958 修复非模块组件配置变更未触发热重载 (#6569)
* fix(event): bind config reload lifecycle owners

* chore(architecture): update config reload dependency baseline

* fix(event): preserve config resolver type contracts
2026-09-04 03:43:49 +08:00
InfinityPacer
43af5b5282 fix(module): bind config reload to module manager (#6568) 2026-09-04 01:34:29 +08:00
jxxghp
71147c1d96 feat(classification): support multi-source media rules 2026-09-03 11:51:18 +08:00
jxxghp
3371925d55 fix: restore mypy ratchet after Windows updates 2026-09-02 20:44:57 +08:00
developer-wlj
089b007a00 refactor(state): 添加Windows重启逻辑
- 将Windows重启逻辑封装为_staticmethod
- 实现了独立的命令行执行方法cmd
- 添加了可执行文件存在性检查
- 统一了重启操作的返回格式
- 改进了错误处理和消息提示机制
2026-09-02 20:07:56 +08:00
Aqr-K
d7c5955031 fix(plugin): 插件自有数据库释放与销毁全程容错,并修正建表去重与 schema 命名
release/destroy 统一经 _close_handle 先清线程局部会话再 dispose,两步失败都
只记日志:单个插件的连接池故障不再让 close_database 跳过宿主同步与异步引擎的
释放,release_all_databases 也逐插件隔离。按模型建表对 __table__ 去重,单表
继承的父子类一并声明时不再对同一张表建两次。

卸载编排先删插件数据、后停插件,停机钩子里的 get_database() 会把刚销毁的库
重新建出来:注册表记下已销毁的插件标识,其后的 release 改为再次销毁并清除
标记,ensure 则撤销标记,宿主编排代码不动。PostgreSQL schema 名在归一改写过
标识或超长时追加插件标识哈希并截到 63 字节,My-Plugin、My_Plugin 与
my_plugin 不再折叠到同一个 schema 而在卸载时互相 DROP。

start 的失败分支释放已经建立、却进不了运行态的句柄,整体停止把只登记在
_classes 里的插件一并释放。声明的迁移目录不存在时在建句柄之前抛
FileNotFoundError,不再留下空库;SQLite 迁移 URL 改由引擎渲染;
_get_sqlite_engine 的连接参数下沉到实际使用它的异步分支。
2026-09-02 02:14:19 -04:00
Aqr-K
f4c5549a37 feat(plugin): 接线插件自有数据库生命周期
新增 app/runtime/extensions/plugin/database.py 运行时端口(零 app.db 依赖),
PluginLifecycle.start 在 init_plugin 之后建库、_finalize 只释放不销毁;
PluginConfigStore.delete_data 在删除宿主业务数据后销毁插件自有库;
组合根 app/startup/initializers/plugins.py 把端口装配到 db 层实现。
覆盖 start→ensure / stop·reload·remove→release / delete_data→destroy
三条接线与失败策略。
2026-09-02 02:14:19 -04:00
jxxghp
658fa473d8 feat: support staged site resource updates 2026-09-01 23:49:53 +08:00
jxxghp
c319cb6a83 feat: add configurable wallpaper settings 2026-08-31 09:18:06 +08:00
jxxghp
9146c75941 feat(auth): add first-run administrator initialization 2026-08-30 09:05:23 +08:00
jxxghp
0c05956814 refactor(architecture): enforce module naming policy 2026-08-29 22:17:17 +08:00
jxxghp
fb5d7fc593 refactor(torrent): group application capability 2026-08-29 21:28:18 +08:00
jxxghp
d3d007b1a4 fix(runtime): reopen shared thread pool per lifespan 2026-08-29 20:19:13 +08:00
jxxghp
c1f50f6d3f refactor(runtime): unify paired decision flows 2026-08-29 19:58:33 +08:00
jxxghp
2116ccecf9 refactor(startup): enforce symmetric lifecycle cleanup 2026-08-29 18:59:14 +08:00
jxxghp
6d8a4667ee refactor(runtime): clear capability callback type debt 2026-08-29 18:35:54 +08:00
jxxghp
95606801af refactor(startup): complete provider reset contracts 2026-08-29 18:33:01 +08:00
jxxghp
0d62822132 refactor(runtime): unify capability lifecycle state decisions 2026-08-29 18:31:44 +08:00
jxxghp
808f2439ef refactor(startup): add provider reset contracts 2026-08-29 17:57:01 +08:00
jxxghp
d2a860d89a refactor(startup): govern composition lifecycle ownership 2026-08-29 16:57:53 +08:00
InfinityPacer
dba4ddc168 fix(plugin): 增加插件市场元数据边界 (#6495)
* fix(plugin): bound market metadata inputs

* test(architecture): sync plugin metadata baseline

* fix(plugin): narrow validated metadata identifiers

* test(architecture): sync coverage baseline
2026-08-29 15:23:33 +08:00
jxxghp
dbdf7d0582 refactor(agent): narrow package compatibility surfaces 2026-08-29 14:29:42 +08:00
jxxghp
3a33da0b38 refactor(agent): split manager runtime owners 2026-08-29 14:26:12 +08:00
jxxghp
fa40f29dfd refactor(plugin): converge runtime ownership and compatibility 2026-08-29 12:55:52 +08:00
jxxghp
13fba96fd8 refactor(runtime): govern dependency module naming 2026-08-29 08:14:21 +08:00
jxxghp
7941fd921d refactor(chain): split download orchestration package 2026-08-29 06:41:15 +08:00
InfinityPacer
92066dfad4 feat: 完成插件原生依赖重启激活闭环 (#6491)
* feat(plugins): track native dependency activation

* fix(plugins): finalize native restart state lifecycle
2026-08-29 02:10:50 +08:00
jxxghp
92e745fc97 refactor(architecture): split chain owners and close runtime boundaries 2026-08-28 22:26:19 +08:00
jxxghp
2fe39d856c refactor(architecture): invert application adapter boundaries 2026-08-28 18:45:47 +08:00
jxxghp
9bff18739d refactor(runtime): own lifecycle and adapter boundaries 2026-08-28 18:18:07 +08:00
jxxghp
7a10964526 refactor(subscription): close typed persistence boundary 2026-08-28 13:56:42 +08:00
jxxghp
c656da1e28 refactor(site): close typed persistence boundary 2026-08-28 12:37:30 +08:00
jxxghp
017fecabd6 refactor(history): close transfer history boundary 2026-08-28 11:57:38 +08:00
jxxghp
aa8751f775 refactor: close transactional boundary debt batch 2026-08-28 10:36:12 +08:00
jxxghp
17d8be2af2 refactor(workflow): isolate legacy execution writes 2026-08-28 02:10:40 +08:00
jxxghp
b4f8736541 refactor(workflow): enforce typed query boundary 2026-08-28 01:16:08 +08:00
InfinityPacer
513d867dd6 fix(plugin): suppress delayed install reloads (#6484) 2026-08-27 23:28:09 +08:00
jxxghp
988b425510 fix(plugin): preserve market package generation 2026-08-27 22:46:03 +08:00
jxxghp
f134e068e7 refactor: normalize capability module paths 2026-08-27 22:20:38 +08:00
InfinityPacer
011ebfbe5f fix: 协调本地插件与绑定仓库的版本选择 (#6482)
* fix(plugin): reconcile local and bound payload versions

* fix(plugin): preserve bound source on updates

* fix(plugin): normalize source reconciliation ids

* fix(plugin): defer local payload activation

* fix(plugin): centralize startup source admission

* fix(plugin): derive sync mode from admitted source
2026-08-27 20:03:30 +08:00
jxxghp
a62c541ec0 refactor: add fenced transfer recovery leases 2026-08-27 14:39:38 +08:00
jxxghp
23bff6b2bb refactor: add durable transfer planning checkpoints 2026-08-27 13:16:33 +08:00
InfinityPacer
3b7f8c357d fix: 增加插件 V3t 运行时兼容门禁 (#6475)
* fix(plugin): enforce declared runtime compatibility

* chore(ci): record plugin runtime compatibility edges

---------

Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-08-27 07:06:16 +08:00
InfinityPacer
627775c090 fix(plugin): 按绑定仓库保留更新候选 (#6474)
* fix(plugin): preserve repository update candidates

* chore(ci): sync architecture ratchet baselines

* chore(ci): align canonical coverage baseline

* chore(ci): align coverage ratchet baseline
2026-08-27 06:56:33 +08:00
InfinityPacer
d24c52ea97 fix(plugin): 按绑定仓库处理插件更新 (#6472) 2026-08-26 21:35:16 +08:00
InfinityPacer
7c81fb357f fix(plugin): 收敛市场安装与运行态错误处理 (#6470) 2026-08-26 18:00:49 +08:00
jxxghp
9dbe424c3d refactor(config): retire RuntimeSettingsCompat host usage 2026-08-26 15:55:21 +08:00