Commit Graph

  • c85373ff47 unparam 死代码清理 12→2(保留 2 处 objectstore 构造函数统一签名):移除 10 处恒 nil error / 从未使用的结果(getPoWConfigForRoute 的恒 nil *PoWConfig、getSQLiteOverview/getPostgresOverview/getStatus/loadKumaConfig/filterExpectedRoutes 的恒 nil error、rawJSONString/parsePositiveInt 的弃用 bool、buildProxyRoute 的弃用 []ZoneDomain、getLocked 的恒 nil error),同步简化 12+ 处调用方与死错误检查。9 个受影响包测试通过。metric 持平 8(改进在基准之外)。 ryan 2026-08-16 18:29:51 +08:00
  • d7b8f44f90 修复 geoip/runtime.go 真死代码:ensureServerMMDB 的 os.Stat 错误被 if-init 遮蔽,err != nil && !os.IsNotExist(err) 恒为 false(外层 err 恒 nil),防御检查从未生效;改为显式捕获 statErr,stat 非 not-exist 错误现在正确返回。基准新增第 4 维度 govet nilness+unusedwrite(文档化扩展),当前 0。 ryan 2026-08-16 18:25:49 +08:00
  • 85321888e0 chore(quality): 会话收尾 — 更新 prompt/ideas 记录 14 个实验结论与刻意保留项 ryan 2026-08-16 18:21:01 +08:00
  • 65c02ef7a5 基准扩展 exhaustive(文档化)+ 12→0:枚举 switch 补显式 case(全部与现有 default 行为等价,fail-explicit 防未来枚举静默落入 default);source_tasks.go 为控制复杂度合并两个等价校验条件。 ryan 2026-08-16 18:19:08 +08:00
  • 63a24da9ee 测试代码质量 25→0:assert↔require 一致性(fail-fast)、float 精确比较→InDelta、Equal("",x)→Empty、Equal(len)→Len、errors.Is/As→ErrorIs/ErrorAs、JSON 字符串→JSONEq、handler goroutine 内 require→assert(真健壮性修复)、t.Helper()、os.MkdirTemp→t.TempDir()(符合 repo AGENTS 约束)。 ryan 2026-08-16 18:12:58 +08:00
  • e5f6b0ad90 基准扩展(文档化):新增测试代码质量维度 25 处(testifylint 20 + thelper 3 + usetesting 2),生产代码 8 处刻意保留不变。新基线 total=33。 ryan 2026-08-16 18:05:44 +08:00
  • 111d2900d7 eslint 1→0:pages-source-card useEffect 补 t 依赖(next-intl 稳定引用)。modernize 补 1 处 time.Time omitzero。剩余 8 全部为刻意保留项。 ryan 2026-08-16 18:02:58 +08:00
  • 73d8173018 recvcheck 7→1:6 个 GORM 模型 TableName 改为指针接收者(GORM 源码确认 reflect.New 判定 Tabler,兼容;模型单测通过)。MillisecondDuration 刻意保留(encoding/json 要求 Marshal 值/Unmarshal 指针的混合)。 ryan 2026-08-16 18:00:45 +08:00
  • 4ecec2cf1b forcetypeassert 6→0(缓存 list 断言、relay/flared 中间件契约断言、图片压缩 flight 断言,全部带检查+安全失败路径);errname 1→0;prealloc 2 处(另 1 处与 repo mnd 冲突,用命名常量解决)。nilnil 保留(not-found/可选结果惯例,含接口契约注释)。 ryan 2026-08-16 17:58:03 +08:00
  • 86fad02c41 errorlint 12→1:3 处 cmd 入口 err!=context.Canceled→errors.Is(防御性,当前 runner 不 wrap 语义不变);2 处 strconv.NumError 断言、1 处 viper 断言、2 处 ==io.EOF、2 处 ==redis.Nil、1 处 ==gorm.ErrRecordNotFound→errors.As/Is;8 处 %v→%w 保留错误链。刻意保留 telegram.go 单处 %v(原始错误仅作上下文文本,wrap 会改变 errors.Is 匹配语义)。 ryan 2026-08-16 17:52:03 +08:00
  • 600a7acdfb docs: 核查并润色文档,对齐项目实际实现 ryan 2026-08-16 17:49:57 +08:00
  • 288b74d104 intrange 3→0 + modernize 5→3:for i:=0;i<len/N;i++ → range len/N(8 处);time.Time 字段 omitempty→omitzero(wire 输出一致);SplitSeq;min() 简化。刻意保留 lark.go omitzero(会改变 wire 行为)。 ryan 2026-08-16 17:47:09 +08:00
  • ce28f63659 wastedassign 7→0:删除 7 处死初始化(snapshot.go 三连、push 三件套 content、format.go numStr),改 var 声明,零行为变化。 ryan 2026-08-16 17:44:45 +08:00
  • d0414b402a canonicalheader 8→0 + usestdlibvars 3→0:header key 改为 Go 规范大小写(wire 格式本就如此,纯代码修正)、HTTP 方法常量替代字符串字面量。 ryan 2026-08-16 17:38:18 +08:00
  • 699e95f12c perfsprint 18→0:strconv.Itoa/FormatInt/FormatUint/FormatBool 替代 fmt.Sprintf、无动词 fmt.Errorf→errors.New、纯字符串拼接。全部语义等价(已核对 diff)。修正 fixer 遗留的 import 问题(引入 goimports 统一整理)。 ryan 2026-08-16 17:34:44 +08:00
  • 4e3d79c001 fix(frontend): 修复 useEffect 缺失依赖导致 code-check 失败 ryan 2026-08-16 17:29:14 +08:00
  • 5aaaf8f197 fix(frontend): 修复静态导出下切换语言无效的问题 ryan 2026-08-16 17:29:14 +08:00
  • b76f707c8b modernize 37→5(-32):interface{}→any、内置 max/min、slices/maps 辅助、strings.Cut/SplitSeq、strings.Builder(修复 mail.go O(n²) 拼接)。逐 hunk 核对语义等价;omitzero 冲突修复被自动跳过(wire 格式不变);手动清 4 处遗留 sort import + 2 处 QF1012。 ryan 2026-08-16 17:28:22 +08:00
  • f1f6bb858a 修复 internal/apps/edge/observability/linux.go 的 2 个 gosec G115 整数溢出转换:helper 改为接收 int64 b,用 gosec 认可的饱和乘法模式(uint64 域乘积 + 上界比较),去掉原 //nolint:gosec,语义不变(Bsize 恒为正)。repo 自带 gate 首次全绿。 ryan 2026-08-16 17:21:04 +08:00
  • 305d609d0d chore(quality): 启动代码质量 autoresearch 会话 ryan 2026-08-16 17:10:28 +08:00
  • 5a8722ff07 feat(frontend): 控制台 next-intl 中英双语 ryan 2026-08-16 16:49:16 +08:00
  • b66cf3ae9c feat(log): PG 分区清理与 logstore import-lint ryan 2026-08-16 16:48:15 +08:00
  • a8fcf6087a chore(message-gateway): swagger and format ryan 2026-08-16 12:27:03 +08:00
  • 30acdb91e8 feat(message-gateway): add profile bot pairing card ryan 2026-08-16 12:23:44 +08:00
  • 124ce9bebb feat(message-gateway): add admin channel cards and per-type forms ryan 2026-08-16 12:22:28 +08:00
  • 635c1760ad feat(message-gateway): add user bind and unbind APIs ryan 2026-08-16 12:19:32 +08:00
  • 69d39d906f feat(message-gateway): add admin channel CRUD APIs ryan 2026-08-16 12:17:05 +08:00
  • 09ec9d0af3 feat(message-gateway): run adapters on worker and handle pairing inbound ryan 2026-08-16 12:14:17 +08:00
  • 7ca6dbe272 feat(message-gateway): add QQ official C2C botgo adapter ryan 2026-08-16 12:10:15 +08:00
  • ef97ca5c7e feat(message-gateway): add Telegram private-chat telebot adapter ryan 2026-08-16 12:06:03 +08:00
  • cc86370e50 feat(message-gateway): emit message_gateway.inbound domain events ryan 2026-08-16 12:04:55 +08:00
  • 60afdf7c7b feat(message-gateway): add channel, binding, and pairing repositories ryan 2026-08-16 12:04:14 +08:00
  • 9b1ef1cf7f feat(message-gateway): add w_message_* models and goose migrations ryan 2026-08-16 12:03:23 +08:00
  • 8ea4c7e13e feat(message-gateway): add channel types, registry, and pairing codes ryan 2026-08-16 12:01:52 +08:00
  • a4db79e9bd chore: ignore local git worktrees directory ryan 2026-08-16 12:00:42 +08:00
  • 8b1eb9ca0d docs(message-gateway): add Wavelet message gateway implementation plan ryan 2026-08-16 11:59:59 +08:00
  • e36db8a56c docs(message-gateway): add Wavelet inbound channel gateway design spec ryan 2026-08-16 11:55:57 +08:00
  • 37d5a87c9b chore: docs ryan 2026-08-16 11:32:46 +08:00
  • 64fbaa7ef1 chore: docs ryan 2026-08-16 11:32:13 +08:00
  • e52592b16d feat(log): 解耦用户访问日志存储,支持切换日志主库 ryan 2026-08-16 11:17:55 +08:00
  • 6a53619dd2 feat(framework): 回灌 OpenFlare 分层、安全与运行时改进 ryan 2026-08-16 11:07:20 +08:00
  • fa689aedbc feat(sync): 同步 Wavelet 推送审计、OTel schema 与前端字体 ryan 2026-08-16 11:06:54 +08:00
  • b9b42e3174 ci: make canary ryan 2026-08-16 10:13:39 +08:00
  • 20830d31bd chore: guideline ryan 2026-08-16 10:01:56 +08:00
  • f960511cc0 chore(release): v3.5.3 v3.5.3 ryan 2026-08-13 11:36:44 +08:00
  • 465440fa5b fix(access-logs): 修复状态码自定义 ryan 2026-08-13 11:29:15 +08:00
  • a4dd5ca9e1 feat(dashboard): 首页请求趋势拆分状态码并合并容量到业务流量 ryan 2026-08-13 10:57:21 +08:00
  • a9e4237bbf feat(access-logs): 状态码支持手动输入,新增时间范围筛选 ryan 2026-08-13 10:27:40 +08:00
  • 75d1fcf345 feat(access-logs): 日志明细支持按状态码筛选并折叠次要搜索项,修复首页来源分布无数据 ryan 2026-08-13 09:59:32 +08:00
  • 284eec54f7 chore: guideline ryan 2026-08-12 12:40:06 +08:00
  • a3ad0d2c97 chore: rename .agent to .agents and update skill path references ryan 2026-08-12 12:39:15 +08:00
  • 92322c7a22 feat(push): log upstream webhook response in task history ryan 2026-08-12 12:22:09 +08:00
  • f499645cdc chore: guideline ryan 2026-08-12 12:02:14 +08:00
  • f1577bf092 fix(openresty): 修复源站错误页「仅针对 GET 请求」覆盖非 GET 原始报错数据 ryan 2026-08-09 19:38:44 +08:00
  • 01ed2c5e36 chore(release): v3.5.2 v3.5.2 ryan 2026-08-09 14:08:04 +08:00
  • 80696c12fa fix: lint ryan 2026-08-09 13:47:40 +08:00
  • 3d4d99081e fix(log): PG 日志库批量写入为零 ID 行生成雪花 ID ryan 2026-08-09 13:47:13 +08:00
  • 0639855653 fix(openresty): 修复源站错误页「仅针对 GET 请求」未生效 ryan 2026-08-09 13:42:38 +08:00
  • 0524ae1da4 chore(release): v3.5.1 v3.5.1 ryan 2026-08-09 11:27:42 +08:00
  • adee4f7b27 docs: update ryan 2026-08-09 11:22:35 +08:00
  • 1d0f2d6342 fix(log): hard-set log retention days default to 30, drop legacy inheritance ryan 2026-08-09 10:48:45 +08:00
  • e3f603f72a fix(security): stop logging UptimeKuma socket payload content ryan 2026-08-09 10:42:21 +08:00
  • 3b010bb15e feat(log): disable user access log recording ryan 2026-08-09 10:35:39 +08:00
  • f530cd4025 perf(log): optimize PG log store queries and expired partition cleanup ryan 2026-08-09 10:20:58 +08:00
  • 08d28c2c8e feat(log): drop empty old-month PG partitions during cleanup ryan 2026-08-09 09:33:59 +08:00
  • 34a0896ff8 chore(task): run system garbage cleanup once daily ryan 2026-08-09 09:25:30 +08:00
  • 0c22e76f4b fix(frontend): optimization ryan 2026-08-09 09:14:54 +08:00
  • bd2183c8bb feat(log): add independent short retention for performance metrics ryan 2026-08-09 09:04:33 +08:00
  • 9df2437e47 fix(config): set ClickHouse to disabled by default and update related documentation ryan 2026-08-09 08:54:26 +08:00
  • e8c414aa12 fix: ch migrate ryan 2026-08-09 08:47:56 +08:00
  • 7e8aa5fa0f Merge branch 'codex/log-database-decoupling' ryan 2026-08-09 08:37:37 +08:00
  • 7e518987de chore(release): v3.5.0 v3.5.0 ryan 2026-08-08 23:06:30 +08:00
  • 61484090f9 fix: 修复源站错误页「仅针对 GET 请求」导致配置发布失败并回滚 ryan 2026-08-08 22:37:40 +08:00
  • 94b74d72f6 fix(frontend): fallback empty offline page html in editor workspace preview ryan 2026-08-08 21:56:44 +08:00
  • 6487ce666d fix(security): harden PoW XSS, email header injection and UptimeKuma log redaction ryan 2026-08-08 21:52:46 +08:00
  • c4be34b214 fix(frontend): fallback empty offline page html to default template in preview ryan 2026-08-08 21:52:02 +08:00
  • fda727cf53 docs: rename contact page references to offline page in changelog ryan 2026-08-08 21:27:21 +08:00
  • f083da20f2 feat(frontend): add dedicated edit and preview routes for response pages and sync tab state to url ryan 2026-08-08 21:18:53 +08:00
  • 9797fcdb2f fix(openflare): improve SWOfflineDomains validation and snapshot diff logic ryan 2026-08-08 20:52:07 +08:00
  • 93ec3096f3 Potential fix for pull request finding Ryan 2026-08-08 20:48:54 +08:00
  • 0e34301c92 Potential fix for pull request finding Ryan 2026-08-08 20:48:37 +08:00
  • 12b5271f92 Potential fix for pull request finding Ryan 2026-08-08 20:47:33 +08:00
  • 8ee966434d Potential fix for pull request finding Ryan 2026-08-08 20:46:54 +08:00
  • 6882481a56 Merge remote-tracking branch 'origin/feature/service-worker' into feature/service-worker ryan 2026-08-08 20:44:27 +08:00
  • b675038bba refactor(frontend): unify error pages into responses page and remove error-pages route ryan 2026-08-08 20:43:58 +08:00
  • d17ec9d17d fix(docs): resolve vitepress build error by escaping raw tags and excluding superpowers dir ryan 2026-08-08 20:43:56 +08:00
  • 8758f9a061 refactor(frontend): unify error pages into responses page and remove error-pages route ryan 2026-08-08 20:39:51 +08:00
  • 7d93d3d2a1 fix(log): address remaining CodeRabbit suggestions for log database switch and migrations ryan 2026-08-08 20:36:04 +08:00
  • 074edf17a1 Potential fix for pull request finding Ryan 2026-08-08 20:30:36 +08:00
  • 6faf525af0 Potential fix for pull request finding Ryan 2026-08-08 20:30:17 +08:00
  • a6fc2b7737 fix(log): address CodeRabbit review findings for log database decoupling ryan 2026-08-08 20:15:36 +08:00
  • ca21ff3a5b feat(option): add sw offline ryan 2026-08-08 12:22:21 +08:00
  • 7d71f1e4e1 feat(log): decouple log storage from ClickHouse with switchable logstore ryan 2026-08-08 11:36:56 +08:00
  • 734fe45baa chore(release): v3.4.5 v3.4.5 ryan 2026-08-08 11:22:11 +08:00
  • ef22ecc5dc refactor(error-pages): merge trigger policy into one card ryan 2026-08-06 22:29:09 +08:00
  • 6738abdec1 feat(openresty): add origin error page GET-only option ryan 2026-08-06 20:22:44 +08:00
  • d17d8457f3 chore: upgrade dependence ryan 2026-08-06 17:41:06 +08:00
  • 16f34928c9 chore: AGENTS.md ryan 2026-08-06 16:33:43 +08:00
  • 3328d3d121 refactor(agent): stop embedding GeoIP MMDB in agent binary ryan 2026-08-06 16:24:57 +08:00
  • fb08002e99 chore(release): v3.4.4 v3.4.4 ryan 2026-08-06 15:50:32 +08:00