主要更新内容
- JS 运行时迁移至 MoeJS:插件引擎底层从
dop251/goja+goja_nodejs全面替换为Calcium-Ion/moejs,涉及插件路由、Hook、RPC、定时任务、通知通道、WebSocket Hook 及全部 Node.js 兼容模块(fs、http、net、crypto、fetch、child_process、console、events、os、path 等)。 - 插件可修改自身内建对象:每个插件运行时启用
MutableIntrinsics,插件可自由扩展Reflect、Array.prototype等内建对象,且修改不会泄漏到其他插件实例。 - 新增
pkg/jsruntime/buffer模块:基于原生 TypedArray 实现 Node.jsBufferAPI(alloc、from、concat、读写整数/浮点/BigInt、编码转换等)。 - 新增
pkg/jsruntime/loop包:封装 MoeJS 事件循环,提供RunOnLoop、SetTimeout/SetInterval、Terminate等宿主接口。 - 新增
pkg/jsruntime/native包:提供 MoeJS 值操作辅助函数(Get/Set/From/Run/Bind 等),统一宿主模块与 JS 值的交互方式。 - Ping 队列独立容量:Ping 记录批处理队列容量从与 Report 队列共享的 512 提升为独立的 4096,避免高频率 Ping 上报时阻塞指标写入。
- 指标查询性能优化:
legacy_records.go改用SeriesBatch批量查询替代逐指标Series调用;提取公共downsampleInterval函数,减少重复逻辑。 - Store 迁移与重构代码整理:提取
openWithoutMigration、awaitStoreMigrationStop等辅助函数,简化RestructureConfiguredStore和CancelStoreMigration流程。
Bug修复
- 修复 Ping 队列容量不足问题:此前 Ping 队列与 Report 队列共用 512 容量,高频 Ping 场景下可能丢数据;现 Ping 队列独立为 4096(PR #695)。
其他
- 数据库层(accounts、sessions、clients、tasks、oauth)及 metricstore 配置/存储代码进行简化,去除冗余错误处理和中间变量。
- 2FA 校验逻辑精简为单行返回。
- 移除已废弃的测试文件
cmd/flags/config_test.go和internal/sqlitetune/connector_test.go。 go.mod:移除 goja 相关依赖,引入Calcium-Ion/moejs v0.1.0-alpha.9;stretchr/testify升级至 v1.12.1。- README 新增 MooProxy 赞助商条目。
.gitignore新增.gocache/。
What's Changed
- fix(metricstore): give the ping queue its own capacity by @cristianchiriac in #695
Commits
- Update payment options in README (5006f55) @Akizon77
- Update README_zh-cn.md (4b24f1e) @Akizon77
- fix(metricstore): give the ping queue its own capacity (fa5a04d) @cristianchiriac
- 让opus5.5 简化、优化1下代码 (b38b0b2) @Akizon77
- 优化单次查询性能 (3cf8445) @Akizon77
- 查询时对象分配数量可以少一点 (48af63c) @Akizon77
- 感谢新的金主 MooProxy (dc7f4cb) @Akizon77
- 感谢新的金主 MooProxy (7468dcb) @Akizon77
- Merge main into PR 695 and remove added queue test (b704267) @Akizon77
- Merge pull request #695 from cristianchiriac/fix-ping-queue-size (528cea2) @Akizon77
- JS运行时换成moejs (d50cc0a) @Akizon77
- 允许插件修改自己的内建对象 (c24c4b9) @Akizon77
New Contributors
- @cristianchiriac made their first contribution in #695
Full Changelog: 1.6.0...Snapshot-2610221543