makecindy / makecindy/cindy

维护者确认:#4498 自定义 Git 市场后台刷新(插件基座)

Open
#4,504 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
2.7k
Forks
395
Avg merge
21h 48m
Merged PRs (30d)
776

Description

需要维护者确认 PR https://github.com/makecindy/cindy/pull/4498 (head `28c4da29d759eb6b04472c4e7760364af352fefc`)。

## 这次改了什么
自定义 Git 插件市场原先只在手动刷新时拉远端。本 PR 让默认市场后台对账在官方目录/已有缓存对账之后,按至少 30 分钟间隔后台刷新到期的 Git 来源,成功后重新发现并沿既有安装策略对账;失败保留旧缓存并进程内指数退避(30 分钟至 6 小时)。认证初始化不再等待 Git 网络;普通页面快照不触发 Git。

## 为何需要维护者确认
当前确认门同时命中三类,且作者 FicoHub 不是维护者,GitHub 上也没有维护者 Approve:

1. **插件基座(当前阻塞类别,无 bugfix/小改动豁免)**
改到 `apps/desktop/src/main/plugin-market/service.ts`、`registerIpc.ts`、`cindy-brain/forge.ts` 等市场刷新/更新入口。新发现版本会进入既有静默升级路径,不是“只检查”。需要确认:用户升级后什么都不做时,已装/已批准/已启用插件仍照旧可用;失败不改成功同步元数据、不撤销缓存、不改变已装状态;来源锁、owner/generation、添加批次校验不会误伤存量来源。

2. **规则文档**
`docs/dev-rules/plugin-security-and-authoring.md` 增补后台拉新、退避、手动成功清预算、认证不等待 Git 等安装与更新契约,属于审查判据含义变更,不是纯排版。

3. **架构/核心路径**
核心路径约 285 行(≥150 阈值)。同模块内新增后台刷新、进程内退避 Map、IPC 异步化,不改包边界/跨包 API 形状,但插件基座门本身已足够拦截。

## 请求
请维护者直接在 PR 上 **Approve**。若认为作者还需修改,请 **Request Changes**。普通评论、讨论 issue 留言或摘标签都不构成通过。

---
关联 PR:#4498(作者 @FicoHub);本 issue 由 review-pr 流程自动创建,用于先讨论该 PR 涉及的插件基座改动(影响全部已装插件),维护者确认后 PR 会恢复推进。

Contributor guide

Open the contributing guide

Research direction

Review PR #4498 alongside apps/desktop/src/main/plugin-market/service.ts, registerIpc.ts, cindy-brain/forge.ts, and docs/dev-rules/plugin-security-and-authoring.md. Start by checking the PR's background Git refresh, retry behavior, authentication timing, and existing install/update safeguards. Done means a maintainer approves the PR, or requests changes if those plugin-compatibility and security contracts are not satisfied.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
desktop, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.