Skip to content

ref(core): 收拢资源、连接、扩展合同与 SDK 验证入口 - #181

Draft
xiaoland wants to merge 3 commits into
mainfrom
feat/maintainability-review
Draft

xiaoland wants to merge 3 commits into
mainfrom
feat/maintainability-review

Conversation

@xiaoland

@xiaoland xiaoland commented Oct 31, 2026 •

Copy link
Copy Markdown
Member

媒体 Resolver 的作者原先需要分别维护 bytes 并发、Blob URL、dispose 及关系缓存语义;Web 连接切换和扩展首次选版也要求各调用者同步同一执行政策。本 PR 将这些义务交给明确所有者,并给新增 SDK 能力建立最低版本与真实浏览器证据。

  • Core 提供受管 bytes 资源,七类 Core Resolver 与 Twitter 共用读取/刷新/URL/晚到释放机制。Twitter 的同一次元数据快照同时决定字节输入及缓存身份。借用 reader 类型不暴露 dispose,独占创建明确完整关系;保留旧 Relation[] 构造语义与旧 getResolver。
  • Core 拥有精确目标 Peer 管理 wire client,保留 transport 错误身份、不确定结果不重试及敏感响应遮蔽。Registry reader/MF 生命周期继续归原 Runtime。
  • Client-Web 拥有串行的 switch/reset,Settings 保存、切换、导入、重置不再手调 prepare/adopt。失败保留已存连接且不自动恢复旧参与,下一次显式连接可恢复。
  • Memos/Twitter/CalDAV 从已有 ext-dev-utils 消费共同首次选择政策,业务凭据和 Source/Cron 各自保留;“保留 pin”限已观察状态,不把现有非 CAS 协议描述为跨 Peer 原子操作。
  • WebExt 由轻量命令表关联 sender、payload、response 和穷尽 handler;真实浏览器来源和权限检查保留。
  • 本地 check 纳入原 CI 的行为检查;最低 SDK 验证使用真实发布 tarball 或明确标记的 Changesets 候选。preview/e2e 在隔离副本派生版本,不提交 Version PR 产物。

验证:

  • 本轮源码隔离候选完整 pnpm check 通过;后续浅克隆修复的最终行为入口为 38 项及公开类型反例。原目录已有 svc.json 的 schema/格式变更不属本任务,候选仅该文件采用 HEAD,原文件保持不动。首轮635个非派生源文件逐字节一致,package.json 差异另核对只有派生 version;CI 修复另在真实浅 checkout 验证。
  • 六个 producer 实际源码对候选 Core 0.4.4 编译通过;LocalFiles 对已发行 Core 0.4.3 的 receipt/SHA 校验 tarball 编译通过。候选公开 dist 的 19 项生命周期/Peer client 行为通过,未把声明范围比较当兼容证明。
  • Web 的 27 项 built-browser/隔离数据库旅程通过,含 worker 排空、注册期间切换/重置、导入及真实 GitHub MF;Twitter 实际 renderer 合成内容旅程通过。
  • 新增失败替换恢复场景 1/1 通过;WebExt 实际数据库全套 14/14 通过、无跳过。候选入口透传/日志保留及最低 SDK 缓存替换修订后,针对性 lint/格式/类型、最低 SDK 和受影响浏览器旅程通过。

首轮远端暴露了本地完整历史掩盖的 Git 依赖:Changesets status 要求 main ref,候选 changelog 又会补拉历史。现改用公开 release-plan API;显式候选操作仍走正式版本算法,但临时关闭 changelog 并 finally 原字节恢复配置。真实 depth1/detached/无 main/无可用 origin 的计划、Core及extension-only派生、no-op、失败恢复回归通过;准备后候选在 preview 上下文的完整 build 与受影响 Web 旅程通过。正式 release:version 不变。

当前 Pages preview 使用 main 的 pull_request_target 控制器,PR 中新增的显式准备步骤尚不生效。旧控制器会明确拒绝不相容 Host/MF 产物,不能用当前失败预览证明该步骤已部署;需要该工作流改动先进入 main 后重新生成预览。普通 build 不隐式改版本,正式发布校验不放宽。

最终提交 8aa3d5f 的远端 Workspace contract(含最低 SDK)、client-web E2E、client-webext E2E 及工作流语法检查全部通过。preview 日志已确认按上述保护拒绝旧控制器未派生的版本,没有部署不相容产物。

发行意图由 Changesets 记录:Core 新能力候选为 0.4.4,六个使用者提高最低 Host SDK,LocalFiles 保留 0.4.3;没有正式发布或手动改写包版本。旧第三方 dispose 覆写仍须调用 super,类型借用不等于运行时权限隔离;关系改为完整读取可能增加数据库查询,未声称性能等价。

跨仓跟踪:InKCre/impl-py#167;相关 draft PR:InKCre/impl-py#168、InKCre/impl-swift#7、InKCre/ext-reg#68。Registry 旧 Peer API 兼容入口的最后薄委托等待正式 Core 制品,本 PR 不引用不存在的发行 URL。无数据库迁移,无堆叠父子依赖,不合并或生产部署。

- 共享相同选项的待决读取,串行保留刷新和派生权限
- 阻止释放后的晚到结果与字节句柄,补齐扩展释放约束
- 统一 Mail 注册入口并简化 Tweet 附件读取路径
- 增加公共 SDK 竞态验证并记录生命周期与发布影响
@xiaoland xiaoland changed the title fix(core): 修复 Resolver 并发读取与释放生命周期 ref(core): 收拢资源、连接、扩展合同与 SDK 验证入口 Oct 31, 2026

This branch had an error being deployed

1 failed deployment
preview — 8aa3d5ff Deployed Oct 31, 2026 by xiaoland via Deploy pull-request preview #526
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.

1 participant