Skip to content

Markup 升级到 Calcit 0.35.1 并收紧游标 - #21

Merged
tiye merged 1 commit into
mainfrom
migrate/markup-0351
Nov 6, 2026
Merged

tiye merged 1 commit into
mainfrom
migrate/markup-0351

Conversation

@tiye

@tiye tiye commented Nov 6, 2026 •

Copy link
Copy Markdown
Member

使用者影响

升级到正式 Calcit 0.35.1 后,请重新安装依赖并构建前端。输入、Run 和合法旧存档的刷新恢复沿用原行为。游标若存在,必须由 Tag、字符串和数字组成;含其他元素的存档会按原坏存档路径处理并保留原文。

改动与风险

  • 组件、操作解码和存档恢复复用 Respo 的 CoordKey union。
  • 业务派发使用 AnyEnum,保留 Reel 控制事件处理、异构 UI 状态树和 HUD。
  • 对齐 Respo、UI、Reel 与 JS-FFI 正式依赖。

验证

正式依赖严格安装、226 个定义、完整 strict、动态方法门禁、原三项回归和构建通过。验证混合游标可恢复、布尔游标在派发和恢复时均被拒绝。隔离 Chrome 验证中文输入、Run 输出和刷新恢复。

Summary by CodeRabbit

  • New Features
    • Dispatch operations now support a broader range of values.
  • Bug Fixes
    • Cursor values are consistently checked against the supported list format when handling component state, operations, and saved data.
  • Documentation
    • Updated the setup guidance with current version information and clarified dispatch and cursor formats.

@coderabbitai

coderabbitai Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

Calcit and related dependency versions are updated. Dispatch schemas now accept AnyEnum. Cursor values in component state, decoded operations, and saved stores are validated as lists of respo.schema/CoordKey.

Changes

Markup runtime and dependency updates

Layer / File(s) Summary
Calcit and dependency version alignment
README.md, deps.cirru, package.json
Calcit and related dependencies are updated. The README documents the updated versions and the dispatch and cursor rules.
Dispatch and operation schemas
calcit.cirru
Callback and operation schemas use AnyEnum. Operation and store state payloads declare their map and cursor types directly.
Cursor decoding and saved-store validation
calcit.cirru
Component state, decoded operations, and saved stores validate cursor values as lists of respo.schema/CoordKey. The updater passes its map type directly to decode-map-as.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Possibly related issues

  • Respo/markup issue 16: The cursor validation changes can reject invalid saved-store cursors and lead to the existing invalid-store path. This diff does not change autosave behavior or establish that the original saved text is preserved.

Possibly related PRs

  • Respo/markup#18: Both changes validate saved-store cursors; this PR also checks cursor element types against CoordKey.
  • Respo/markup#20: Both changes cover cursor validation and dispatch callback types; this PR uses AnyEnum and validates cursor elements.
  • Respo/markup#17: Both changes concern saved-state validation failure; this PR adds cursor element validation to that path.
Merge Risk: Minimal · up to d9a1b

Cursor validation is tighter, with no merge-blocking regression identified.

Pre-merge checks: Passed 5

Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly describes the Calcit 0.35.1 upgrade and stricter cursor validation.
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (4 skipped: 4 unsupported.)

Finishing Touches

Generate unit tests (beta)

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: a0da878e-923b-49b1-9da5-79f002a169f8
Commits

Reviewing files that changed from the base of the PR and between 48a6294 and d9a1b15.

Files ignored due to path filters: 1

  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
Files selected for processing: 4

  • README.md
  • calcit.cirru
  • deps.cirru
  • package.json

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

@tiye
tiye merged commit e696502 into main Nov 6, 2026
1 check passed
@tiye
tiye deleted the migrate/markup-0351 branch November 6, 2026 04:00
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