IanShaw027
|
cd0338fbae
|
fix frontend wechat oauth capability recovery
|
2026-04-21 01:48:23 +08:00 |
|
IanShaw027
|
7c6491c2d3
|
fix auth pending session hardening
|
2026-04-21 01:45:25 +08:00 |
|
IanShaw027
|
1d8432b8a4
|
fix: harden payment resume and wxpay webhook routing
|
2026-04-21 01:40:56 +08:00 |
|
IanShaw027
|
0a461d8248
|
fix: harden auth identity legacy migrations
|
2026-04-21 01:30:37 +08:00 |
|
IanShaw027
|
a70f7aca07
|
fix pending auth session restore
|
2026-04-21 01:05:59 +08:00 |
|
IanShaw027
|
ea27ac6fd7
|
fix: unify email identity sync and retry first-bind defaults
|
2026-04-21 01:00:59 +08:00 |
|
IanShaw027
|
7a9488ff37
|
Add legacy identity safety remediation migration
|
2026-04-21 00:59:20 +08:00 |
|
IanShaw027
|
c297d0112e
|
Keep pending payment results in processing state
|
2026-04-21 00:53:52 +08:00 |
|
IanShaw027
|
067eb23d8e
|
Tighten WeChat OAuth capability mode selection
|
2026-04-21 00:46:40 +08:00 |
|
IanShaw027
|
12f4af742f
|
fix auth pending adoption and turnstile flow
|
2026-04-21 00:45:56 +08:00 |
|
IanShaw027
|
e4fe9fae2a
|
Fix profile refresh identity compatibility
|
2026-04-21 00:42:55 +08:00 |
|
IanShaw027
|
030da8c2f6
|
fix: close admin settings review gaps
|
2026-04-21 00:41:29 +08:00 |
|
IanShaw027
|
55e8dd550a
|
Tighten WeChat payment resume flow
|
2026-04-21 00:33:23 +08:00 |
|
IanShaw027
|
1521d50399
|
fix: apply email first-bind defaults on legacy login
|
2026-04-21 00:31:52 +08:00 |
|
IanShaw027
|
bf3ef2d19a
|
add admin user last used support
|
2026-04-21 00:22:17 +08:00 |
|
IanShaw027
|
beeab54ae3
|
Implement latest-used user repo queries
|
2026-04-21 00:17:48 +08:00 |
|
IanShaw027
|
b79052aaf2
|
Decouple email sync tests from local stubs
|
2026-04-21 00:16:06 +08:00 |
|
IanShaw027
|
16be82b959
|
fix payment visible methods and resume recovery
|
2026-04-21 00:14:05 +08:00 |
|
IanShaw027
|
5d58c7c6fb
|
Add auth identity legacy backfill and email sync
|
2026-04-21 00:13:40 +08:00 |
|
IanShaw027
|
9204145746
|
Close profile identity and avatar loop
|
2026-04-21 00:11:03 +08:00 |
|
IanShaw027
|
f73117f9b1
|
feat: add admin auth migration reports view
|
2026-04-21 00:07:14 +08:00 |
|
IanShaw027
|
85fc54b205
|
fix(frontend): restore pending auth session flow
|
2026-04-21 00:05:44 +08:00 |
|
IanShaw027
|
4f6966d7b3
|
frontend: route wechat oauth entry by public settings
|
2026-04-21 00:05:42 +08:00 |
|
IanShaw027
|
9e84e2fd2b
|
fix: persist admin payment visibility and scheduler settings
|
2026-04-21 00:05:17 +08:00 |
|
IanShaw027
|
f83fd59dca
|
Refine payment UX for wallet flows
|
2026-04-21 00:05:09 +08:00 |
|
IanShaw027
|
4ebdfcd13a
|
test(admin): constrain payment visible method sources
|
2026-04-21 00:03:27 +08:00 |
|
IanShaw027
|
0fa47f18ed
|
feat: complete pending oauth account creation UI
|
2026-04-21 00:02:51 +08:00 |
|
IanShaw027
|
7ef7fd19e7
|
fix: restore wechat payment oauth and jsapi flow
|
2026-04-20 23:34:57 +08:00 |
|
IanShaw027
|
6f00efa350
|
fix: support legacy payment method aliases
|
2026-04-20 23:05:29 +08:00 |
|
IanShaw027
|
e1a28848fa
|
fix: clarify wechat existing account binding
|
2026-04-20 22:54:47 +08:00 |
|
IanShaw027
|
7fdede579a
|
fix: preserve wechat bind resume state
|
2026-04-20 22:52:56 +08:00 |
|
IanShaw027
|
4d10ba4297
|
fix: complete wechat pending auth callback flows
|
2026-04-20 22:50:41 +08:00 |
|
IanShaw027
|
bffcc2042e
|
fix: complete oidc pending auth callback flows
|
2026-04-20 22:37:25 +08:00 |
|
IanShaw027
|
724f8e89a1
|
feat: resolve auth identity migration reports
|
2026-04-20 22:29:21 +08:00 |
|
IanShaw027
|
452e55a53c
|
feat: add admin auth identity repair binding
|
2026-04-20 22:22:14 +08:00 |
|
IanShaw027
|
3bd3027251
|
feat: expose auth identity migration reports
|
2026-04-20 22:05:33 +08:00 |
|
IanShaw027
|
aaf4946b27
|
fix: normalize pending oauth email lookups
|
2026-04-20 21:59:03 +08:00 |
|
IanShaw027
|
31d0183d45
|
fix: normalize repository email lookups
|
2026-04-20 21:51:57 +08:00 |
|
IanShaw027
|
b309822199
|
fix: tighten legacy payment provider resolution
|
2026-04-20 21:46:24 +08:00 |
|
IanShaw027
|
422f60a145
|
fix: normalize legacy wechat auth identity keys
|
2026-04-20 21:42:35 +08:00 |
|
IanShaw027
|
f65429145e
|
fix: route legacy linuxdo users to account binding
|
2026-04-20 21:31:05 +08:00 |
|
IanShaw027
|
5adefb466b
|
fix: finalize oauth identity bindings
|
2026-04-20 21:24:33 +08:00 |
|
IanShaw027
|
bdcd3d87e5
|
fix: resolve unique legacy payment providers
|
2026-04-20 21:09:38 +08:00 |
|
IanShaw027
|
32059ae9d5
|
fix: backfill email identities on successful login
|
2026-04-20 20:58:19 +08:00 |
|
IanShaw027
|
9bebf1c1a6
|
feat: resolve payment results by resume token
|
2026-04-20 20:53:46 +08:00 |
|
IanShaw027
|
c0b24aefba
|
feat: snapshot payment provider keys on orders
|
2026-04-20 20:47:14 +08:00 |
|
IanShaw027
|
e3f69e0246
|
fix: tighten webhook provider resolution
|
2026-04-20 20:42:01 +08:00 |
|
IanShaw027
|
7c7924e9fa
|
fix: guard payment fulfillment provider mismatch
|
2026-04-20 20:31:19 +08:00 |
|
IanShaw027
|
97c9b992cb
|
fix: require wechat unionid for oauth identity
|
2026-04-20 20:27:15 +08:00 |
|
IanShaw027
|
58b2cc380f
|
test: harden payment result resume flow
|
2026-04-20 20:22:00 +08:00 |
|
IanShaw027
|
b51bc7ee24
|
feat: wire payment return url payloads
|
2026-04-20 20:19:23 +08:00 |
|
IanShaw027
|
7826e9880c
|
feat: support linuxdo pending bind 2fa callback
|
2026-04-20 19:53:22 +08:00 |
|
IanShaw027
|
fb6204ea8b
|
feat: apply oauth first-bind defaults and pending bind 2fa
|
2026-04-20 19:53:22 +08:00 |
|
IanShaw027
|
6ea3f42e2f
|
feat: add oauth callback email binding ui
|
2026-04-20 19:30:19 +08:00 |
|
IanShaw027
|
6a75bd77e3
|
feat: add pending oauth email onboarding flow
|
2026-04-20 19:30:09 +08:00 |
|
IanShaw027
|
d47580a144
|
test: pin email signup defaults in register tests
|
2026-04-20 18:42:28 +08:00 |
|
IanShaw027
|
0353c3870f
|
test: update user service stubs for identity summaries
|
2026-04-20 18:40:34 +08:00 |
|
IanShaw027
|
4e0e691546
|
feat: apply auth source signup defaults
|
2026-04-20 18:39:53 +08:00 |
|
IanShaw027
|
c6d8592484
|
feat: add profile auth identity binding flow
|
2026-04-20 18:28:44 +08:00 |
|
IanShaw027
|
13d9780df4
|
feat: expose user activity timestamps in admin list
|
2026-04-20 17:48:30 +08:00 |
|
IanShaw027
|
e9de839d87
|
feat: rebuild auth identity foundation flow
|
2026-04-20 17:39:57 +08:00 |
|
IanShaw027
|
fbd0a2e3c4
|
feat: carry suggested third-party profile through pending oauth
|
2026-04-20 16:27:23 +08:00 |
|
IanShaw027
|
d3d4267731
|
fix: harden oidc callback security
|
2026-04-20 16:23:42 +08:00 |
|
IanShaw027
|
584ded2182
|
docs: harden auth identity payment design
|
2026-04-20 14:41:12 +08:00 |
|
IanShaw027
|
b6751f7ebc
|
docs: add auth identity implementation plan
|
2026-04-20 13:47:00 +08:00 |
|
IanShaw027
|
721d7ab3ab
|
docs: add audit synthesis to auth identity spec
|
2026-04-20 13:40:31 +08:00 |
|
IanShaw027
|
e01c1eaceb
|
docs: add auth identity payment foundation design spec
|
2026-04-20 13:18:30 +08:00 |
|
IanShaw027
|
f480e57344
|
fix: align table defaults and preserve sidebar svg colors
|
2026-04-10 18:27:53 +08:00 |
|
IanShaw027
|
7dc7ff22d2
|
fix: preserve messages dispatch config in repository hydration
|
2026-04-10 18:13:18 +08:00 |
|
IanShaw027
|
67a05dfccd
|
fix: honor table defaults and preserve dispatch mappings
|
2026-04-10 17:55:37 +08:00 |
|
IanShaw027
|
b6bc042302
|
fix(frontend): 升级 axios 修复审计高危漏洞
|
2026-04-10 09:28:32 +08:00 |
|
IanShaw027
|
1312405966
|
fix(settings): 补齐公开设置中的表格分页字段返回
|
2026-04-10 09:18:48 +08:00 |
|
IanShaw027
|
57d0f9794f
|
fix(frontend): 补全 messages 调度国际化文案
|
2026-04-10 00:56:23 +08:00 |
|
IanShaw027
|
269c7a065c
|
fix(test): restore integration expectations
|
2026-04-09 22:08:42 +08:00 |
|
IanShaw027
|
b6946e78a2
|
fix(lint): restore repository sort helpers
|
2026-04-09 21:49:10 +08:00 |
|
IanShaw027
|
2b70d1d332
|
merge upstream main into fix/bug-cleanup-main
|
2026-04-09 21:35:48 +08:00 |
|
IanShaw027
|
b37afd68ec
|
fix(lint): format setting service
|
2026-04-09 21:31:48 +08:00 |
|
IanShaw027
|
62962c05f1
|
fix(lint): 修复 CI 中的 ineffassign 和 unused 代码告警,修正 group 排序集成测试兼容性
|
2026-04-09 19:25:08 +08:00 |
|
IanShaw027
|
5f8e60a1b7
|
feat(table): 表格排序与搜索改为后端处理
|
2026-04-09 18:14:28 +08:00 |
|
IanShaw027
|
66e15a54a4
|
fix(export): 导出逻辑与当前筛选条件对齐
|
2026-04-09 18:14:28 +08:00 |
|
IanShaw027
|
ad80606a44
|
feat(settings): 增加全局表格分页配置,支持自定义
|
2026-04-09 18:14:28 +08:00 |
|
IanShaw027
|
d8fa38d55a
|
fix(account): 修复账号管理中的状态筛选
|
2026-04-09 18:14:28 +08:00 |
|
IanShaw027
|
fe211fc563
|
fix(ui): 修复在 macOS 系统下数据表格横向滚动条闪隐和消失的问题
问题原因:
原本的 `style.css` 代码全局使用了 W3C 标准属性 (`scrollbar-width`)。而在 Chrome 121+ 以及 Safari 环境下,一旦匹配到 W3C 标准属性,浏览器就会放弃 WebKit 的定制样式,全面交由操作系统原生渲染。因为 macOS 原生的滚动条特性就是“不滚动时自动隐藏”,加之原本又配置了全局 hover 时才显色的透明度逻辑,最终导致在苹果系统下数据表常常无法明显看出横向滚动条。
修复方式:
1. 在 `style.css` 中增加 `@supports (-moz-appearance:none)`,将对全局 `scrollbar-width` 的干预严格隔离限制在 Firefox 浏览器内,防止误伤 Chrome 等 WebKit 系浏览器。
2. 移除旧版代码中对 `.table-wrapper` 直接定义的 `scrollbar-width` 和透明覆盖。
3. 在 `DataTable.vue` 内部,通过 `!important` 将 Webkit 专属定制外观(12px高度,实心圆角灰色轨道)的优先权推至最高,强制覆盖透明隐身规则。
4. 为底层 table 添加了 `min-w-max` 属性,强制阻止内容宽度受限于屏幕边界带来的收缩,充分保证合理超出范围而触发常驻横向溢出。
|
2026-04-09 15:13:16 +08:00 |
|
IanShaw027
|
7d008bd5b6
|
fix(test): 修正 admin service 分组测试平台字段赋值
|
2026-04-09 12:42:37 +08:00 |
|
IanShaw027
|
66ff2def8c
|
fix(test): 补充 admin service 分组测试字符串指针辅助函数
|
2026-04-09 12:39:05 +08:00 |
|
IanShaw027
|
de9b9c9dfb
|
feat(admin): 增加分组 messages 调度映射配置界面
|
2026-04-09 12:30:25 +08:00 |
|
IanShaw027
|
d765359f4b
|
test(admin): 增加messages调度表单状态转换测试
|
2026-04-09 12:30:06 +08:00 |
|
IanShaw027
|
4de4823a65
|
feat(openai): 支持messages模型映射与instructions模板注入
|
2026-04-09 12:29:49 +08:00 |
|
IanShaw027
|
23c4d592f8
|
feat(group): 增加messages调度模型映射配置
|
2026-04-09 12:29:28 +08:00 |
|
IanShaw027
|
686f890fbf
|
style: 修复 gofmt 格式问题
|
2026-03-15 18:42:32 +08:00 |
|
IanShaw027
|
90b3838173
|
fix: 移除 Gemini 不支持的 patternProperties 字段 #795
|
2026-03-15 17:46:58 +08:00 |
|
IanShaw027
|
19d3ecc76f
|
fix: 修复批量编辑账号时模型白名单显示与实际不一致的问题 #982
修复批量编辑账号时,UI 显示的是 plain 模型名(如 GPT-5),但实际落库的是 dated 模型名的问题。
核心改动:
1. 批量编辑白名单不再使用 BulkEditAccountModal.vue 中手写的过期模型列表
- 移除了 allModels 和 presetMappings 的硬编码列表(共 200+ 行)
- 直接复用 ModelWhitelistSelector.vue 组件
2. ModelWhitelistSelector 组件支持多平台联合过滤
- 新增 platforms 属性支持传入多个平台
- 添加 normalizedPlatforms 计算属性统一处理单平台和多平台场景
- availableOptions 根据选中的多个平台动态联合过滤模型列表
- fillRelated 功能支持一次性填充多个平台的相关模型
3. 模型映射预设改为动态生成
- filteredPresets 改用 getPresetMappingsByPlatform 从统一模型源按平台动态生成
- 不再依赖弹窗中的手写预设列表
现在的行为:
- UI 显示什么模型,勾选什么模型,传给后端的就是什么模型
- 彻底解决了批量编辑链路上"显示与实际不一致"的问题
- 模型列表和映射预设始终与系统定义保持同步
|
2026-03-15 17:46:58 +08:00 |
|
IanShaw027
|
6fba4ebb13
|
fix: 在 Dockerfile.goreleaser 中添加 pg_dump 和 psql 工具 #1002
为了支持容器内的数据库备份和恢复功能,在运行时镜像中添加 PostgreSQL 客户端工具。
变更内容:
- 使用多阶段构建从 postgres:18-alpine 镜像复制 pg_dump 和 psql 二进制文件
- 添加必要的依赖库(libpq, zstd-libs, lz4-libs, krb5-libs, libldap, libedit)
- 升级基础镜像到 alpine:3.21
- 复制 libpq.so.5 共享库以确保工具正常运行
这样可以在运行时容器中直接执行数据库备份和恢复操作,无需访问 Docker socket。
|
2026-03-15 17:46:58 +08:00 |
|
IanShaw027
|
c31974c913
|
fix: 兼容部分限额字段为空的情况 #1021
修复在填写限额时,如果不填写完整的三个限额额度(日限额、周限额、月限额)就会报错的问题。
变更内容:
- 后端:添加 optionalLimitField 类型处理空值和空字符串,兼容部分限额字段为空的情况
- 前端:添加 normalizeOptionalLimit 函数规范化限额输入,将空值、空字符串和无效数字统一处理为 null
|
2026-03-15 17:46:58 +08:00 |
|
ianshaw
|
7b46bbb628
|
fix(lint): 修复错误消息大写问题以符合 Go 惯例
|
2026-02-05 20:47:15 +08:00 |
|
ianshaw
|
d2527e36eb
|
feat(gemini): 增强 API 授权错误处理,自动提取并显示激活 URL
当 Gemini for Google Cloud API 未启用时(SERVICE_DISABLED 错误),
系统现在会:
- 自动检测 403 PERMISSION_DENIED 错误
- 从错误响应中提取 API 激活 URL
- 向用户显示清晰的错误消息和可点击的激活链接
- 提供操作指引(启用后等待几分钟)
新增文件:
- internal/pkg/googleapi/error.go: Google API 错误解析器
- internal/pkg/googleapi/error_test.go: 完整的测试覆盖
- GEMINI_API_ERROR_HANDLING.md: 实现文档
修改文件:
- internal/repository/geminicli_codeassist_client.go:
在 LoadCodeAssist 和 OnboardUser 中增强错误处理
这大大改善了用户体验,用户不再需要手动从错误日志中查找激活 URL。
|
2026-02-05 20:17:53 +08:00 |
|
柴叁
|
9985c4a344
|
fix(gemini): 优化 Gemini 接口认证兼容性,支持 Authorization: Bearer
调整 API key 提取优先级,让 /v1beta 接口同时支持 x-goog-api-key 和
Authorization: Bearer 两种认证方式,解决 OpenClaw 等使用 Bearer 认证
的客户端无法直接访问 Gemini 接口的问题。
|
2026-02-04 16:26:36 +08:00 |
|
ianshaw
|
2cd5037878
|
chore: 触发 CI 重新运行
|
2026-02-03 14:43:59 +08:00 |
|
ianshaw
|
03e94f9f53
|
fix(gemini): 为 Gemini 工具调用添加 thoughtSignature 避免 INVALID_ARGUMENT 错误
|
2026-02-03 06:01:29 +08:00 |
|
ianshaw
|
a55cfebd09
|
fix(ratelimit): 修复 OpenAI usage_limit_reached 错误的重置时间解析
- 问题:OpenAI 的 usage_limit_reached 错误(需 37 小时重置)被错误地设置为 5 分钟
- 原因:handle429 只检查 Anthropic 响应头,没有解析 OpenAI 响应体中的 resets_in_seconds
- 修复:新增 parseOpenAIRateLimitResetTime 函数解析 OpenAI 响应体
- 影响:避免调度器不断尝试已达配额上限的账户
|
2026-01-26 09:57:44 +08:00 |
|