makecindy / makecindy/cindy

PR #4384 需要维护者确认:插件基座与核心鉴权路径

Open
#4,537 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/4384(head `ecb426fe3138b0938c2e9324bc0a5853e68fbeb4`)触发维护者确认门,当前 blocker 为 pluginBase,同时命中 arch。

## 这次改动
运行时 refresh 得到确定性凭证失效后,把 expiry 绑定到发起时的 auth epoch / realm / owner,避免等待 vault 删除期间的迟到 expiry 清掉新会话或新凭证。主要改动在 Desktop 主进程鉴权:
- `apps/desktop/src/main/authManager.ts`
- 新增 `apps/desktop/src/main/authRuntimeExpiryGuard.ts`
- `apps/desktop/src/main/bootstrap-electron.ts`(抽出 owner post-commit 任务,并增加 session restore)
- `apps/desktop/src/main/localDb/ipc/registerAll.ts`(导出 `ensureRegisteredLocalDbOwnerReady`)
- 对应鉴权单测

## 为何需要确认
1. **pluginBase(当前 blocker,无 bugfix 豁免)**:改到 `apps/desktop/src/main/plugin-market/__tests__/ipcErrorBoundary.test.ts`。该文件落在插件基座路径上,规则要求维护者对存量插件兼容明确确认。从 diff 看,这里只是跟随 bootstrap 函数抽取,更新了源码字符串锚点,不是插件运行时/沙箱/批准状态本身的行为改动;但仍属基座路径命中,不能由审查流程自行放行。
2. **arch**:核心路径改动 1008 行(≥150),且总 diff 1008 行(≥800)。覆盖鉴权主路径、bootstrap 与 localDb IPC 注册。

作者 Dante-dan 不是维护者,当前 head 也没有维护者的有效 Approve。

## 请维护者
请直接在 PR 上 Approve 放行讨论门;如果需要作者修改,请 Request Changes。普通评论、讨论 issue 留言或手工摘标签都不构成通过。

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

Contributor guide

Open the contributing guide

Research direction

Review PR #4384, starting with apps/desktop/src/main/authManager.ts and authRuntimeExpiryGuard.ts, then inspect bootstrap-electron.ts, localDb/ipc/registerAll.ts, and the plugin IPC boundary test. Check the authentication changes and the plugin compatibility concern; done means a maintainer approves the PR or requests changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron, typescript
Domain
authentication, desktop, security
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.