Skip to content

feat(accounts): 支持设置账号不自动签到 - #89

Merged
changexbc merged 4 commits into
changexbc:mainfrom
Mintimate:feat/support-account-auto-checkin
Sep 22, 2026
Merged

changexbc merged 4 commits into
changexbc:mainfrom
Mintimate:feat/support-account-auto-checkin

Conversation

@Mintimate

Copy link
Copy Markdown
Contributor

为不支持签到或不希望自动签到的账号提供独立开关,减少后台和刷新积分时不必要的签到请求(尤其是企业版本 WorkBuddy 账号不支持签到)。

  • 账号菜单新增“允许自动签到”开关,按账号 ID 保存,兼容旧配置。
  • 关闭后,后台调度、页面签到状态查询和刷新附带签到均跳过该账号。
  • 积分照常刷新,并提示“已忽略 N 个关闭自动签到的账号”。
  • 保留单账号手动签到,以及设置页、托盘的“全部立即签到”能力。
  • 桌面端和 Web 端保持一致,保存失败时回滚界面状态。

按稳定账号 ID 保存排除列表,兼容旧配置并校验无效输入。后台调度、页面状态查询和刷新附带签到遵守账号开关,主动手动签到保持可用。

为桌面端和 Web 端接入刷新跳过参数,返回逐账号忽略原因;Web 状态查询支持指定账号并保留旧批量响应。补充排除、恢复、手动签到及配置兼容性测试。
在账号菜单提供独立的自动签到开关和关闭状态标识,保存失败时回滚。页面状态查询及刷新附带签到遵守排除设置,所有账号继续刷新积分并汇总忽略数量。

保留主动手动签到入口,同步桌面端和 Web 端调用参数,补充设置页、演示配置及 README 使用说明。
保留 main 的新安装默认关闭、全局开关移至设置页及旅行状态门控,继续支持单账号排除和刷新忽略提示。

按新版配置读取流程合并排除列表,保留双方测试并补充新老安装默认值兼容测试;同步精简后的 README 说明。

验证:前端构建和桌面端编译检查通过,Core 618 项及 Web 8 项测试通过;会话路径基线测试仍按此前已确认的问题失败。
@changexbc

changexbc commented Sep 22, 2026 •

Copy link
Copy Markdown
Owner

@Mintimate 设置里一直都有,哦,看错了,是支持跳过账号是吧。

@Mintimate

Copy link
Copy Markdown
Contributor Author

对的。设置里没看到单独账号关闭签到。导致企业版一直在接口尝试😂
Clipboard_Screenshot_1790061154

@changexbc

Copy link
Copy Markdown
Owner

企业版一直在接口尝试😂

好的,我合并下稍后提交下

- 账号级开关移到设置页常驻行,展开后逐账号切换,切换即落盘、失败回滚
- 账号卡片保留只读状态标记与手动入口,移除下拉菜单里的开关项
- 核心层按名单过滤后台轮次、唤醒规划、状态查询与刷新附带请求,手动入口不受影响
- 刷新提示合并为一条,按失败/未开放/成功分档并带忽略数量
- README 与 npm README 同步说明
@changexbc
changexbc merged commit 60ad002 into changexbc:main Sep 22, 2026
3 checks passed
czhua1993 pushed a commit to czhua1993/workbuddy-switch that referenced this pull request Sep 23, 2026
commit 62ca24b
Author: zhangjia <zhangjia1991@qq.com>
Date:   Wed Sep 23 15:24:52 2026 +0800

    chore: 发布 0.1.47

commit f3cd38d
Author: zhangjia <zhangjia1991@qq.com>
Date:   Wed Sep 23 15:08:36 2026 +0800

    fix(credits): 积分查询入口对加密信封凭据短路

    信封形态的 access_token 解不出明文,请求只会发出空 Bearer 并换回网关 401。
    在积分查询唯一入口前置判断,覆盖新三路接口与旧接口回退两条取数链路,
    直接返回可读错误(ok:false + error),不再空跑请求。

    新增回归测试覆盖该短路路径。

commit ae3f56a
Merge: 70cc973 2ec290f
Author: zhangjia <306644419@qq.com>
Date:   Wed Sep 23 14:56:47 2026 +0800

    Merge pull request changexbc#95 from magicapple123/fix/issue-94-envelope-credentials

    fix(api): 信封凭据请求前置短路,非 JSON 错误体归一化

commit 70cc973
Merge: de4fa18 778f6de
Author: zhangjia <306644419@qq.com>
Date:   Wed Sep 23 14:56:43 2026 +0800

    Merge pull request changexbc#93 from magicapple123/fix/issue-91-readonly-probe

    fix(ide): 只读探测不再创建目录,installed 收敛为客户端存在性

commit 2ec290f
Author: Magicapple <1540796514@qq.com>
Date:   Wed Sep 23 12:28:33 2026 +0800

    fix(api): 信封凭据请求前置短路,非 JSON 错误体归一化

    - 新增 account::envelope_token_error:access_token 为 WorkBuddy 5.6
      加密信封形态时返回可读错误;签到 / 积分 / 旅行三条请求链路入口
      短路,不再发出空 Bearer(此前 get_str 取不到值经 unwrap_or_default
      兜底为空串,被网关 401 后错误页原样回显)
    - http_request_with_proxy 非 JSON 错误响应体归一化:HTML 提取
      <title> 作为可读信息,不再把整页 <html>… 塞进通知与界面卡片
    - 补回归测试 5 个(信封识别、HTML 归一化、三条链路短路)

    Fixes changexbc#94

commit 778f6de
Author: Magicapple <1540796514@qq.com>
Date:   Wed Sep 23 12:00:05 2026 +0800

    fix(ide): 只读探测不再创建目录,installed 收敛为客户端存在性

    - read_secret_for 改走新增的 find_existing_state_db_path(只挑已存在候选),
      不再复用带 create_dir_all 副作用的 resolve_state_db_path_for;
      has_secret_row_for 一并复用,消除重复候选列表
    - 国内版/国际版 status() 的 installed 收敛为 app_path.is_some(),
      是否有残留数据由 dataDir / dbExists 表达,避免空目录误报「已接入」
    - 补回归测试:read_secret_probe_creates_nothing(三类无 db 场景断言
      root/User/globalStorage/state.vscdb 均未被创建)、
      inject_still_prepares_directory(写入路径不受影响)

    Fixes changexbc#91

commit de4fa18
Author: zhangjia <zhangjia1991@qq.com>
Date:   Tue Sep 22 19:44:46 2026 +0800

    refactor(settings): 设置页折叠交互整理与账号名单语义统一

    - 折叠面板统一为 Accordion,展开内容改用内嵌卡片
    - 新增 accordion / alert-dialog 组件封装
    - 通知历史清空增加二次确认
    - 手动触发路径与后台轮次统一遵循同一份账号名单

commit a97c285
Author: zhangjia <zhangjia1991@qq.com>
Date:   Tue Sep 22 17:05:23 2026 +0800

    chore(settings): 设置页保存交互与提示通道整理

    - 参数与开关改为控件级即时落盘,移除卡片内的保存入口
    - 数字输入按失焦/回车提交:越界按输入框边界收敛,空值回退到已落盘值
    - 时间段仅在两端完整合法或整体清空时提交,半填状态给出未保存提示
    - 同一卡片的连续提交合并为最新快照后串行发送,避免旧值覆盖新值
    - 操作结果提示统一走应用内通知,需要就地照做的失败引导仍留在卡片内

commit 60ad002
Merge: c7e8015 a93e1e6
Author: zhangjia <306644419@qq.com>
Date:   Tue Sep 22 16:16:32 2026 +0800

    Merge pull request changexbc#89 from Mintimate/feat/support-account-auto-checkin

    feat(accounts): 支持设置账号不自动签到

commit a93e1e6
Author: zhangjia <zhangjia1991@qq.com>
Date:   Tue Sep 22 16:12:04 2026 +0800

    chore(settings): 账号级开关入口整理与被动请求过滤

    - 账号级开关移到设置页常驻行,展开后逐账号切换,切换即落盘、失败回滚
    - 账号卡片保留只读状态标记与手动入口,移除下拉菜单里的开关项
    - 核心层按名单过滤后台轮次、唤醒规划、状态查询与刷新附带请求,手动入口不受影响
    - 刷新提示合并为一条,按失败/未开放/成功分档并带忽略数量
    - README 与 npm README 同步说明

commit 25ec618
Merge: 74a5d91 c7e8015
Author: Mintimate <43734212+Mintimate@users.noreply.github.com>
Date:   Tue Sep 22 15:02:17 2026 +0800

    merge: 合并 main 并解决自动签到功能冲突

    保留 main 的新安装默认关闭、全局开关移至设置页及旅行状态门控,继续支持单账号排除和刷新忽略提示。

    按新版配置读取流程合并排除列表,保留双方测试并补充新老安装默认值兼容测试;同步精简后的 README 说明。

    验证:前端构建和桌面端编译检查通过,Core 618 项及 Web 8 项测试通过;会话路径基线测试仍按此前已确认的问题失败。

commit 74a5d91
Author: Mintimate <43734212+Mintimate@users.noreply.github.com>
Date:   Tue Sep 22 14:49:11 2026 +0800

    feat(accounts): 添加自动签到开关和刷新忽略提示

    在账号菜单提供独立的自动签到开关和关闭状态标识,保存失败时回滚。页面状态查询及刷新附带签到遵守排除设置,所有账号继续刷新积分并汇总忽略数量。

    保留主动手动签到入口,同步桌面端和 Web 端调用参数,补充设置页、演示配置及 README 使用说明。

commit ec7463d
Author: Mintimate <43734212+Mintimate@users.noreply.github.com>
Date:   Tue Sep 22 14:48:57 2026 +0800

    feat(checkin): 支持按账号跳过自动签到

    按稳定账号 ID 保存排除列表,兼容旧配置并校验无效输入。后台调度、页面状态查询和刷新附带签到遵守账号开关,主动手动签到保持可用。

    为桌面端和 Web 端接入刷新跳过参数,返回逐账号忽略原因;Web 状态查询支持指定账号并保留旧批量响应。补充排除、恢复、手动签到及配置兼容性测试。

commit c7e8015
Author: zhangjia <zhangjia1991@qq.com>
Date:   Tue Sep 22 14:02:08 2026 +0800

    chore: AGENTS.md 改为本地文件,不再纳入版本管理

commit b329e80
Author: zhangjia <zhangjia1991@qq.com>
Date:   Tue Sep 22 13:56:48 2026 +0800

    docs: 调整 README 首段定位与 webui 章节位置

    - 首段改为四个客户端均支持国内版 / 国际版
    - 功能表去掉与首段重复的档位标注
    - npm / webui 安装说明移至文末,快速开始只保留桌面 App

commit 92f60b3
Author: zhangjia <zhangjia1991@qq.com>
Date:   Tue Sep 22 13:56:44 2026 +0800

    docs: README 截图改为 macOS 窗口样式

    圆角 12pt + 柔和投影,透明背景,替换原直角截图。

commit 527f83f
Author: zhangjia <zhangjia1991@qq.com>
Date:   Tue Sep 22 13:50:44 2026 +0800

    chore(settings): 设置页信息层级与交互优化

    - 日志与通知历史等低频内容统一为折叠行,展开时才拉取
    - 设置卡片参数区默认收起,保留启用开关、操作按钮与状态条
    - 账号页头部移除两个快捷开关,对应入口收敛到设置页
    - 账号卡片状态标签精简为图标样式

commit 53c8fa1
Author: zhangjia <zhangjia1991@qq.com>
Date:   Tue Sep 22 13:50:40 2026 +0800

    chore(config): 配置读取与默认值整理

    - 抽出配置构造函数与字段覆盖函数,保存路径行为保持不变
    - 读取路径按安装使用痕迹选择默认基线,显式保存的值优先,读取不写盘
    - 补充路径化 loader 与对应单测

commit 7368575
Author: zhangjia <zhangjia1991@qq.com>
Date:   Tue Sep 22 11:41:17 2026 +0800

    docs: 精简 README 结构,重写功能说明并更新截图

    - 合并重复的标题区与说明,功能表按用户视角重写
    - 使用章节压缩至 7 条,去除与功能表重复的描述
    - 界面预览改为单列截图,新增 Token 统计页截图
    - 功能表补全 CodeBuddy IDE 版本说明,修正已下线的账号添加入口
    - npm 版补全缺失功能模块,与根 README 对齐

commit b092feb
Merge: 3e63ee4 c9753a7
Author: zhangjia <zhangjia1991@qq.com>
Date:   Tue Sep 22 10:23:58 2026 +0800

    Merge branch 'main' of https://github.com/changexbc/workbuddy-switch

commit 3e63ee4
Author: zhangjia <zhangjia1991@qq.com>
Date:   Tue Sep 22 10:22:36 2026 +0800

    fix(rust): 限额归因改按 429 请求时刻判定,丢弃切换前的陈旧文案

    - request_time_of:从限额文案尾部 (requestId/sessionId) 解码 UUIDv7 的毫秒时刻
      (version==7 / variant==0b10 / ≥2024-01-01)
    - attribute_cli:会话进程快照查询上界由消费时刻改为该请求时刻;取不到、或晚于当前
      时刻一律丢弃 + 告警(不回退到按消费时刻归因)
    - 修复:codeg 恢复会话时新进程重放上一轮(旧账号)的 429 文案,被错记到刚切换的
      新账号(2026-09-21 本机实证,证据见 .trellis 任务 research 文档)
    - 测试:requestId 解析边界、陈旧重放回归(实测时间线,含切换前仍归旧账号)、切换后
      新进程新 429、无 requestId 与时钟异常;593 passed

commit c9753a7
Author: zhangjia <zhangjia1991@qq.com>
Date:   Tue Sep 22 00:06:38 2026 +0800

    feat(settings): 设置页新增签到时间段(Select 版时间选择器)

    - 新增通用组件 src/components/ui/time-picker.tsx:用既有 shadcn Select
      组合时(00–23)/ 分(00–59)两个下拉,替代原生 input[type=time]——
      后者在桌面 WKWebView 与浏览器呈现不一致,macOS 原生控件也没有清空入口
    - 未选态用 value="":Radix SelectValue 只在 ""/undefined 时显示占位,
      传 undefined 会变成非受控,点清除后仍残留旧值
    - disabled 透传到两个 Select,因此每个 TimePicker 各自包一层 DemoAction
      (包在整行上会把 disabled 打在行 div 上被吞掉,演示模式漏成可点)
    - 设置页「签到时间段」行:两个 TimePicker + 至 + 清除按钮;非法组合
      (只填一端 / start ≥ end)行内提示但不阻止保存,后端按不限制处理

commit 4b62124
Author: zhangjia <zhangjia1991@qq.com>
Date:   Tue Sep 22 00:06:28 2026 +0800

    feat(checkin): 自动签到支持时间段随机定时

    新增 checkin_start / checkin_end 两个配置项("HH:MM",本地时区),留空为
    不限制;默认即留空,调度与改动前完全一致。

    窗口生效时(两端合法且 start < end):
    - 每账号每天用 DefaultHasher 在窗口内抽一个固定时刻,同日跨重启稳定,
      不同账号/日期自然分散,不引入 rand 依赖
    - 未到抽签时刻不发请求;窗口内已有签到记录(含手动签到补写的回执)即跳过
    - 宿主轮询间隔改由 core 的 next_cycle_delay() 决定:无窗口 30 分钟、
      上一轮有失败 5 分钟快速重试(预算 12 次)、其余取最近目标时刻并夹取
      到 [1, 30] 分钟;策略仍全部在 core,宿主只读时长
    - 整轮无人到点时返回 {"status":"skipped","reason":"before_checkin_time"}

    窗口未生效时不读签到日志、不过滤账号,逐字走旧路径。

    Refs changexbc#71

commit 9244e6f
Author: zhangjia <zhangjia1991@qq.com>
Date:   Mon Sep 21 20:12:13 2026 +0800

    chore: 发布 0.1.46

commit 007ec67
Author: zhangjia <zhangjia1991@qq.com>
Date:   Mon Sep 21 20:10:20 2026 +0800

    feat(credit-stats): 新增按账号的消耗占比卡片

    - 新增「账号消耗构成」卡片(总览下方、趋势图上方):各账号消耗值与占比,
      支持今天 / 近 7 天 / 近 30 天 / 本月,默认今天
    - 近 30 天无汇总字段,复用 rangeUsage 从逐日数据求和
    - 官方用量优先,不可用时回退本地观察口径;取数失败的账号显示「官方用量
      不可用」且不计入占比分母,避免占比失真
    - 多档位视图按国内版/国际版分组、组内各算 100%,组序固定国内版在前

commit 0dcd46e
Author: zhangjia <zhangjia1991@qq.com>
Date:   Mon Sep 21 20:09:06 2026 +0800

    feat(credit): 积分到期时间精确到时分

    - 账号卡片「近期到期」行、查看全部积分包弹窗、积分统计页资源包统一显示到分钟
    - 卡片行内去掉「到期」后缀(区块标题已表达),避免新增时分把积分包名称列挤到截断;完整表述保留在 tooltip

commit 0320210
Author: zhangjia <zhangjia1991@qq.com>
Date:   Mon Sep 21 20:00:45 2026 +0800

    refactor(vscode-ext): 切换弹窗瘦身并与其它产品对齐

    - 三态提示卡与自动重开开关收进标题行:开关移到标题右侧,提示改为状态图标 +
      hover tooltip,弹窗高度 450px → 294px
    - tab 顺序改为「关联会话 / 复制会话」,与 WorkBuddy 弹窗一致;复制会话说明行
      补骨架屏(与真实文案等高,加载完成不跳高度)
    - 账号卡片补 VS Code 插件背景水印与选中态染色,此前只有其它产品有
    - 修 tooltip 常驻:状态图标不再抢焦点,DialogContent 阻止默认自动聚焦并聚焦
      容器本身

commit 85003d3
Author: zhangjia <zhangjia1991@qq.com>
Date:   Mon Sep 21 20:00:36 2026 +0800

    feat(session-link): 同步判定补充祖先快进,对齐 git fast-forward

    目标内容是来源内容的严格有序前缀时直接判 fastForward,不再要求配对基线存在:
    隔跳轮换(A→B→C→回 A)没有 A/C 的基线记录也能把会话带回去。

    - 判定顺序改为 摘要 → 祖先前缀 → 基线;原「目标等于基线且来源是基线严格有序
      追加」分支被新规则严格蕴含,合并删除
    - WorkBuddy 与 VS Code 插件共用内核,两侧同时生效;前端零改动
    - 受影响用例适配(无基线场景改为互不为前缀),新增 4 个判定单测与 1 个
      「无基线快进」端到端集成测试(预览发凭据 → 执行收敛 → 补建基线)

commit ffd5605
Author: zhangjia <zhangjia1991@qq.com>
Date:   Mon Sep 21 18:21:10 2026 +0800

    fix(vscode-ext): 快进回滚失败也如实上报,不再吞掉恢复错误

    rollback_index 以前用 let _ = 吞掉索引恢复与新增文件删除的失败,两个调用点
    (写正文失败 / 基线提交失败)只返回原错误,用户不会知道回滚本身没做成。
    与上一轮 restore_dir 属同类缺陷,这次一并收敛。

    - rollback_index 返回 Result,两个调用点经同一 rollback_message 合成:
      回滚成功时用户文案逐字未变(既有用例补断言锁「不得出现合成分隔符」),
      失败时追加「副本回滚未完成…请从备份目录 X 手工恢复」
    - 新增 remove_file_if_exists:NotFound 视为成功(幂等删除),只有真实 IO
      错误才计入失败清单,避免噪声
    - 补用例 rollback_index_reports_failure_with_backup_path(把目标目录做成普通
      文件造必然失败,跨平台且不用 chmod)

    验证:cargo test -p wb-switch-core 583 passed;clippy 零新增;变异验证三轮
    (吞掉失败 / 去掉 NotFound 特判 / 失败分支回退原文案)均能让对应用例失败。

commit 61b4ea8
Author: zhangjia <zhangjia1991@qq.com>
Date:   Mon Sep 21 17:56:02 2026 +0800

    fix(vscode-ext): 覆盖模式回滚失败不再谎报「已整目录回滚」

    restore_dir 以前用 let _ = copy_dir_recursive 吞掉失败,而三个错误路径
    (rename 失败 / 复算不一致 / 基线提交失败)都告诉用户「已整目录回滚」。
    恢复一旦失败,副本目录实际处于已删空或半成品状态,文案却显示回滚完成。

    - restore_dir 改为返回 Result,三处经 rollback_message 合成:恢复成功时
      原文案逐字不变(有断言锁定),失败时追加「副本目录未恢复…请从备份目录 X 手工恢复」
    - 把 mtime 手法用于幂等用例(把已落盘文件 mtime 设为 2000 年再重跑,免 sleep,
      可写句柄打开以适配 Windows 的 FILE_WRITE_ATTRIBUTES 要求)

    补 4 条用例:回滚失败文案 · 预览后副本侧被改也不得绕过(覆盖模式同样拒绝)·
    「索引已改、基线未提交」下次判定 identical 且无需修复动作 ·
    幂等重跑不重写已存在的消息文件。

    验证:cargo test -p wb-switch-core 582 passed;clippy 零新增;四个新用例均做过
    变异验证(改坏实现即失败,还原后哈希一致)。

commit c0c9c5b
Author: zhangjia <zhangjia1991@qq.com>
Date:   Mon Sep 21 17:38:42 2026 +0800

    feat(vscode-ext): 插件会话支持「关联会话」增量同步

    复制成功即在独立命名空间登记关联与基线;切换弹窗新增「关联会话」tab,
    预览判定后可把当前账号的后续内容单向同步到副本:可快进项默认勾选随
    「确认切换」执行,分叉项需手动选择覆盖(先整目录备份、失败回滚)。
    判定内核复用 WorkBuddy 侧的 decide_sync 五态,只参数化存储命名空间,
    不复制实现,避免两套内核分叉。

    - core 新增 vscode_session_link:内容身份(按会话 index.messages[] 顺序)、
      占位符归一化(抹掉被重映射的 id)、确定性 id 派生、位置对齐翻译表
    - core 新增 vscode_session_sync:复制后登记、预览组装、快进追加、覆盖重建、
      备份与失败回滚
    - SessionPaths 增加 LinkNamespace:关联表 / 基线 / 预览凭据 / 存储锁落到
      vscode_session_links.json 与 vscode-session-links/,与 WorkBuddy 侧完全隔离,
      WorkBuddy 既有路径逐字未变(有单测守)
    - 幂等:新消息 id 由 sha256(目标 uid + 目标会话 id + 序号 + 源记录摘要) 派生,
      重跑覆盖同一批文件;不引入操作日志 / 中断自动恢复 / 新增跨进程锁
    - 切换编排序改为「复制项与同步选择都为空才走原路径」,支持只同步不复制;
      参数校验仍早于关闭编辑器;失败时 best-effort 重开
    - 命令层与 webui 同形补齐 syncSelections 与预览端点
    - 前端抽出共享展示件(判定文案表 / 会话卡片 / 勾选逻辑),WorkBuddy
      关联会话 tab 的渲染与交互保持不变

    验证:cargo test -p wb-switch-core 578 passed(较基线新增 22 条,含幂等、
    命名空间隔离、回滚一致性、崩溃窗口收敛、预览失效跳过);clippy 零新增违规;
    npm run build 与 git diff --check 通过。

commit 701ba1e
Author: zhangjia <zhangjia1991@qq.com>
Date:   Mon Sep 21 15:56:01 2026 +0800

    fix(ui): 切换弹窗打开时不再抖动(骨架占位 + 列表下沿)

    弹窗是垂直居中定位,打开时先渲染一行加载态、数据到达后换成完整列表,
    两端高度差 102px 会让弹窗上下各撑开一半(顶部位移 51px),与打开动画
    叠加即为肉眼看到的抖动。

    - 「关联会话」tab:加载态改为与结果同构的骨架(全选行 + 会话卡 + 提示行),
      列表区与空态/错误态共用最小高度下沿
    - 「复制会话」tab:加载态撑住列表区下沿,提示文案用两行占位对齐

    实测(Playwright 接管后端请求、模拟 IPC 延迟逐帧采样弹窗矩形):
    加载态到结果态高差 102px → 0px,顶部位移 51px → 0px。

commit d938be5
Author: zhangjia <zhangjia1991@qq.com>
Date:   Mon Sep 21 15:34:53 2026 +0800

    fix(ui): 补齐插件短指代文案(VS Code 账号/目标/会话复制)

    不含「扩展」二字的短指代在上轮 grep 口径下漏改,用户验收时发现账号卡 compact 开关
    tooltip 仍写「切换 VS Code 账号」:

    - account-card.tsx 切换 tooltip →「切换 VS Code CodeBuddy 插件账号(可选复制会话;可自动关闭并重开)」
    - README 会话复制章节标题与正文「点击 VS Code 目标」、功能表表头「VS Code 会话复制」
    - vscode_session.rs 复制会话失败文案改为「VS Code CodeBuddy 插件数据目录」(该路径是插件数据根,非编辑器 Code/ 目录)

    保留边界:编辑器/进程级文案(未检测到 VS Code、正在运行、重新打开、自动关闭并重开)、
    pill 短标签 VS Code、vscode_ext.rs 的 display_name(同时被编辑器级消息复用)

    验证:npm run build 通过;cargo test -p wb-switch-core 556 passed

commit de77658
Author: zhangjia <zhangjia1991@qq.com>
Date:   Mon Sep 21 15:24:03 2026 +0800

    fix(ui): 插件术语统一为「VS Code CodeBuddy 插件」并在 Token 统计点名

    - Token 统计 codebuddy-ide tab 文案改为「CodeBuddy IDE / VS Code CodeBuddy 插件」:
      该源本就递归扫描 CodeBuddyExtension/Data/**,插件用量此前已计入但未点名;source key 与聚合口径未动
    - 前端 7 处用户可见文案与 4 处 aria-label:「VS Code 扩展 / CodeBuddy 扩展」→「VS Code CodeBuddy 插件」
    - 后端 14 处返回给 UI 的 message / 错误文案同步(vscode_ext.rs、vscode_session.rs、commands.rs),仅改字符串字面量
    - README 功能表、使用步骤与 Token 统计章节同步

    验证:npm run build 通过;cargo test -p wb-switch-core 556 passed;零新增 fmt 违规

commit 7adcb11
Merge: 3c2da11 2e4142c
Author: zhangjia <zhangjia1991@qq.com>
Date:   Mon Sep 21 14:29:09 2026 +0800

    Merge remote-tracking branch 'origin/main'

commit 3c2da11
Author: zhangjia <zhangjia1991@qq.com>
Date:   Mon Sep 21 14:27:55 2026 +0800

    feat(vscode-core): 注入 CodeBuddy 目标前规范化 WorkBuddy 产品域

    - 新增 variant::codebuddy_domain_for:www.workbuddy.{cn,ai}(含裸域)→ www.codebuddy.{cn,ai};
      空域按档位补产品默认域;企业自建 / iOA / cloudHosted / 已是 codebuddy 域原样透传
    - 接线 vscode_ext(VS Code 扩展)/ codebuddy_cn_ide / codebuddy_ide 三处会话构造;WorkBuddy 桌面目标保持原域
    - 依据:客户端按 product.json 的 internalDomain / externalDomain 分桶,未知域落入 selfhosted,
      该分支会读「企业版端点」设置(enterpriseEndpoint)并把请求打到该端点
    - 超时文案补充「若你在等待期间重新打开过 VS Code」的排查方向,单测同步更新
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants