makecindy / makecindy/cindy

[Bug] taptap-maker 插件安装后重启被重置为未安装,且被静默加入 defaultInstallOptOuts 黑名单

Open
#2,294 2 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
2.7k
Forks
395
Avg merge
21h 48m
Merged PRs (30d)
776

Description

**提交人**: 盛好峰
**客户端版本**: 0.1.38

---

## 现象
用户首次安装 TapTap Maker 插件 (`taptap-maker`) 后,每次重启 Cindy 客户端,插件都会自动恢复为“未安装”状态,且过程中没有任何授权或访问工作区的确认弹窗。

## 复现步骤
1. 在 Cindy 插件市场安装 taptap-maker 插件。
2. 重启 Cindy 客户端。
3. 观察到插件恢复为未安装状态。

## 实际行为与底层分析
1. 本地插件注册表文件:`owners//plugin-market/ledger.v1.json`
2. 安装后,`taptap-maker` 的 `installed` 字段被设为 `false`。
3. **核心异常**:该插件的 `pluginId` (`ce8ce619e8a6b401b34a651d8`) 被自动加入到了 `defaultInstallOptOuts` 的黑名单列表中(针对账号 `cmslt8oad14amxh01w6ze5fao`)。
4. **服务端强制覆盖**:如果手动修改本地 `ledger.v1.json`,将 `installed` 改为 `true` 并清空 `defaultInstallOptOuts` 黑名单,重启 Cindy 后,客户端会与服务端同步,再次把本地文件强制覆盖回 `installed: false` 及带黑名单的状态(文件时间戳更新,证明是主动同步拉取的结果)。
5. 用户侧全程**未触发任何工作区授权弹窗**(没有机会误点“拒绝”或“不再提示”),但 `ghost-pick-grants.json` 中实际上已经存在对目标工作区 `D:/taptap20260809文明` 的授权记录。

## 期望行为
插件安装后状态应正常持久化。不应在首次安装且无用户明确拒绝交互的情况下,被静默加入 `defaultInstallOptOuts` 黑名单并被服务端持续锁定。
---
**版本区域**: CN
**OS**: win32 x64 (10.0.26200)
**界面语言**: zh-CN

Contributor guide

Open the contributing guide

Research direction

Trace plugin installation and startup synchronization using the reported owners//plugin-market/ledger.v1.json and ghost-pick-grants.json records. Reproduce the install and restart flow for taptap-maker, then inspect how installed and defaultInstallOptOuts are written and refreshed. Done means an installation remains installed without a user rejection or authorization prompt being silently recorded as an opt-out.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
desktop, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.