Repository navigation
ref(apps): 统一 Web 应用与 Peer 命名 - #188
Merged
Merged
Conversation
This was referenced Nov 4, 2026
This was referenced Nov 5, 2026
xiaoland
force-pushed
the
feat/observability-unification
branch
from
November 5, 2026 09:53
1a34a0a to
1aac7a6
Compare
- 将应用目录和包名迁移为 web 与 webext,更新构建、发布、检查和文档引用 - 以新 Runtime 导入名消费真实旧发布包,保留存储、浏览器身份、MF ABI 与部署兼容标识 - 对旧 Runtime 限定更新 Zod 依赖并记录兼容标识的移除条件
xiaoland
force-pushed
the
feat/app-peer-naming
branch
from
November 5, 2026 10:05
167a4b1 to
e6333f6
Compare
xiaoland
marked this pull request as ready for review
November 5, 2026 10:05
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
意图与范围
将产品中的 Web / WebExt 明确为 App,将运行参与者称为 Peer,避免应用命名暗示固定 Client–Server 层级。本 PR 将
apps/client-web/@inkcre/client-web改为apps/web/@inkcre/web,将apps/client-webext/@inkcre/client-webext改为apps/webext/@inkcre/webext,并同步工作区、Runtime 导入、开发工具、构建、测试、CI、发布、Changesets 和现有文档。内部应用角色采用 App / Web 名字,逻辑设计文档改为 App Runtime and Delegation,新增 OTEL 记录使用
inkcre.web。所有第一方 MF producer 的新构建输出改为dist/web,发布清单、预览与验证脚本随之更新;module_federation协议和@inkcre/coreHost ABI 保持原值。主要实现范围:Web/WebExt App、Core 的应用身份、工作区与所有第一方 MF producer 工具链。
受影响发布项目:
@inkcre/core、@inkcre/web、@inkcre/webext、@inkcre/ext-caldav、@inkcre/ext-capture、@inkcre/ext-github、@inkcre/ext-local-files、@inkcre/ext-mail、@inkcre/ext-memos、@inkcre/ext-twitter。保留现有版本线与历史 changelog,待消费 Changeset 使用新名称,没有重发旧版本。兼容与明确保留的名字
浏览器配置键、Peer ID、WebExt 公钥/Gecko ID、IndexedDB、迁移格式、版本标签与下载文件名保持不变;本地 Portless origin 与开发凭据派生命名空间继续沿用,避免旧设置或凭据失效。已有开发数据库使用其保存的 runtime state,新建项目才采用
inkcre-web-<instance>。Runtime 统一以
@inkcre/extension-runtime-web导入,但安装别名仍指向已发布的 0.4.2 精确旧 tarball,锁文件保留真实旧包身份及完整性;没有假设新包已发布。只对该旧包的 Zod 依赖覆写为已有的 4.6.7,修复 GHSA-mrhx-c7xc-m3w5,没有全仓依赖升级或放宽安全检查。Registry 链接发送app_origin,兼带同值client_origin,支持新旧 Registry 部署。Cloudflare 项目、生产 origin、
preview/client-web/pr-*与对应预览别名保持稳定。已通过 GitHub API 核对 main 的 required checks:Workspace contract、client-web E2E、client-webext E2E;保留这些 context 与 App 绑定,只改工作流显示名。真正的数据库/HTTP/OAuth client、第三方协议术语、不可变历史以及旧身份迁移输入也不机械改写。兼容名称、原因和移除条件集中在 Web 交付文档,不声称所有
client字面量消失。下一步与跨仓关系
请维护者评审命名覆盖与兼容边界。统一跟踪:InKCre/docs#55;共享规范:InKCre/docs#56;Runtime/Registry 同步:InKCre/ext-reg#69。共享规范引用固定到已推送的
d7c4d0c998455d40c30deb25da5b5060eb85aba1,以独立提交更新。新 Runtime 正式发布后,再准入真实的新 tarball 并移除限定 Zod 覆写;这不是本 PR 假造新包的前置步骤。当前双参数与精确旧包兼容允许 App/Registry 分别部署。生产发布、合并及本地浏览器 E2E 均未执行。
验证证据
pnpm check全通过:格式、类型感知 lint、workspace/runtime/database/locale 合同、全仓类型、Web/WebExt/所有扩展构建、包契约、独立 SDK tarball 与观测测试。pnpm --filter @inkcre/webext build:firefox,Chromium/Firefox 产物身份和 WebExt 发布规则测试通过。pnpm check:release:web、package 检查、changeset status、冻结安装、PDM lock 检查和固定版 actionlint 通过。git diff --check与共享文档 pre-bump / pre-commit 检查通过;浏览器扩展固定公钥与父分支逐字节一致。main,本 stack 在父 PR 合并并 restack、更新 base 后取得云端证据。复用现有构建、包与发布行为检查验证真实路径和产物身份,没有增加只匹配改名字符串的测试。
Stack
feat/observability-unification。风险、交付与回滚
主要风险是路径遗漏、安装别名解析、旧安装与部署标识不一致;全仓构建、冻结安装和双浏览器身份检查已覆盖可本地验证的边界。目录移动不迁移或删除用户数据,也不更新已发布 MF 坐标。生产资源、凭据与分支保护均未变更。
回滚源码提交可恢复旧目录、包名和工具链;保留的 origin、存储与浏览器身份使回滚仍读取同一份本机数据。共享规范引用可单独回退;已发布历史不重写。