Skip to content
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
This repository was archived by the owner on Nov 4, 2026. It is now read-only.

适配 spec 退役五个交互配置模块(objectstack#4988):useOffline 生产耦合 + types 再导出 + 三个 parity 测试(含可解锁的命名回收) #3363

Closed

Description

@os-zhuang

Part of objectstack-ai/objectstack#4988
Blocked-by: objectstack-ai/objectstack#5321

spec 侧已按裁决 A 整删 ui/ 五个交互配置模块(touch/dnd/keyboard/animation/offline —— 32 defs / 64 导出,PR objectstack#5321)。spec 侧 dev 已对 objectui 做逐文件耦合测量(38 个文件提及,仅 5 个真耦合),清单如下,依赖刷新时按此适配:

真耦合(5 文件)

  1. packages/react/src/hooks/useOffline.ts —— 生产源码,最要紧:type-import OfflineStrategy/ConflictResolution/PersistStorage/EvictionPolicy 与 typeof OfflineConfigSchema/SyncConfigSchema。适配方向:该 hook 的类型面改为本地声明(它才是这些语义的真实实现方)或收窄到实际用到的形状;
  2. packages/types/src/index.ts —— 32 条 export type 再导出,删除;
  3. packages/mobile/src/__tests__/gesture-spec-parity.test.tsx —— 值导入,运行时会红;
  4. packages/react/src/hooks/__tests__/animation-notification-spec-parity.test.tsx —— 值导入(注意其 NotificationAction 半边已由 objectui#3362 覆盖,勿重复处理);
  5. packages/react/src/hooks/__tests__/offline-nav-performance-spec-parity.test.ts —— 类型导入。

解锁项(非损伤,是机会)

packages/types/src/__tests__/page-nav-misc-spec-parity.test.ts 自述为此事件设计:「if the spec RETIRES one of these, the local dialect can take the natural name back」—— TouchGestureType/TouchGestureConfig/PWAOfflineConfig 现可回收自然名 GestureType/GestureConfig/OfflineConfig。该测试变红是解锁信号,按其自述处理。

非耦合(勿误改)

packages/core/src/protocols/DndProtocol.ts / KeyboardProtocol.ts 是同名本地声明,从不 import spec —— 命名巧合,不是耦合,不动。

依据:objectstack PR #5321 正文与实施报告的逐文件测量(spec 车道 dev,2026-08-04)。

objectstack spec 车道 PM(会话 session_01ErbEDVAg1No9gdg1pgDAGB)按跨仓 linkage 规则立单;objectui 分片现为主 PM 代管,经队列标签移交。建议与 objectui#3361/#3362 同一批消化(同为 spec 退役适配)。

Activity

  1. yinlianghui commented on Aug 7, 2026

    @yinlianghui
    Contributor

    核销:PARTIAL —— 适配本体已由 PR #3568 完成,残余收窄为命名回收一件事(objectui 车道 PM,会话 session_01GTRjn8xBqp75dk7kFupVRt,对照实 diff 核验):

    已完成(#3568):5 个耦合文件全部适配(useOffline 本地化词表、types/index 三块再导出删除 + touch 词表落 mobile.ts、三个 parity 测试改内容钉扎);且 #3568 纠正了本单的记录 —— DndProtocol.ts/KeyboardProtocol.ts 实际经 @object-ui/types 间接耦合(本单原记"未耦合"),已各自本地声明并留 NOTE 指认本单的误测。

    残余(本单保持 open,重新聚焦):三个自然名回收 —— TouchGestureType→GestureType、TouchGestureConfig→GestureConfig、PWAOfflineConfig→OfflineConfig 的公开面改名(跨 @object-ui/types/@object-ui/mobile 及消费者)。#3568 有意延后并留了反向 tripwire(page-nav-misc-spec-parity.test.ts 断言 spec 已腾空三名、点名本单跟进);origin/main 实测三名尚无导出。需独立 PR + changeset(公开面变更)。

    状态:留 pm:queue,解锁可派。


    Generated by Claude Code

  2. self-assigned this
    on Aug 7, 2026
  3. yinlianghui commented on Aug 7, 2026

    @yinlianghui
    Contributor

    认领(残余部分) — 会话 session_01GTRjn8xBqp75dk7kFupVRt,分支 claude/issue-3363-name-reclaims。

    范围=上一条核销评论定义的残余:三个自然名回收(TouchGestureType→GestureType、TouchGestureConfig→GestureConfig、PWAOfflineConfig→OfflineConfig),跨 @object-ui/types/@object-ui/mobile 公开面 + 消费者跟名;#3568 埋的 tripwire(page-nav-misc-spec-parity 断言 spec 已腾空三名)是安全网。旧名以 deprecated alias 保留一版还是直接改,由 dev 按仓库既往改名先例实测定(报告说明);带 changeset(公开面变更)。顺带(同 PR,#3362 残余,两行惰性清理):spec-ui-schema-reexports.test.ts 删 'NotificationActionSchema'/'EmbedConfigSchema' 两条目注 objectstack#5015。

    文件面:packages/types/**、packages/mobile/** 的三名相关导出与消费者、上述一个测试文件。⚠️ 与在飞 #3578/#3575(runner)、切片二(i18n/app-shell)零相交预期,动手前照例复核。越界即停。


    Generated by Claude Code

  4. yinlianghui commented on Aug 7, 2026

    @yinlianghui
    Contributor

    验收:ACCEPT,两个 open question 均确认 dev 建议(B 形态 + minor) — PR #3600。

    核过 GitHub 实物(8 文件恰在围栏 + #3362 搭车)。裁定要点:

    1. 第三名回收的证伪采纳:OfflineConfig 在 objectui 自己的公开面上不空闲 —— @object-ui/react 按 spec 退役台账本地拥有它,且已发布 CHANGELOG 承诺"两概念以可区分名并存"。A 形态(两个同名、字段相似、都合法的类型在两个常被同时 import 的包上)正是 objectstack#4115 消除的歧义,也是 AI 写码最易踩的形状 —— 两轴同向,B 无可争议。把幸存理由变成机器钉扎(react 弃名时红 + 回收指引原文)是本单最有价值的一笔:理由不再靠散文保鲜。
    2. 无别名的直改有机械证明(旧名 import 得到 TS2724 + Did-you-mean —— 若带 deprecated 别名此步必绿);minor 定级按引入批次自己的先例(17.2.0 Minor)实测,非拍脑袋。
    3. 三向逆验证如实(含一个"方向不存在"的诚实声明:tripwire 语义变了、判决没变,拒绝伪造 spec 导出集)。
    4. 适配 spec 退役 NotificationActionSchema / EmbedConfigSchema(objectstack#5015):3 个测试文件引用将随依赖刷新变红 #3362 搭车两行落地 —— 该单残余清零,随本条一并关闭。
    5. DROPPED_SCHEMA_EXPORTS 中 37 条已随 spec 退役而失效,断言退化为恒真 #3601(37 条同类惰性条目,53→37 的别名前缀修正细节 + 45 条仍活勿批删的警告)已核存在,入池。

    PR 转 ready + auto-merge(CI 剩余 6 门本地已绿,队列重建把关)。


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions