Undo/redo module
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 描述清楚
- 活跃度
- 冷清
- 技术栈
- typescript
调研方向
This issue names no files or tests. Start by reading the kernel module API in blocked issue #28 and tracing the write pipeline's undo-snapshot/emit stage. Done means atomic batches, including dependency cascades, undo and redo together; stack state updates reactively; and removing the module lets its code tree-shake from the bundle.
由索引模型根据 Issue 内容生成。
描述
Parent
https://github.com/TanStack/time/issues/25
What to build
Extract undo/redo into a proper module that wraps atomic write batches, not individual field mutations. A single user action (e.g. move event + cascaded dependent shifts) is undone as one step — not as a sequence of individual commits.
Acceptance criteria
- `UndoRedoModule` plugs into the kernel via the module API (#28), hooking the `undo-snapshot/emit` stage of the write pipeline
- `undo()` reverses the most recent atomic batch (all events in the batch revert together)
- `redo()` re-applies a reversed batch
- `canUndo()` / `canRedo()` reflect the current stack state reactively
- A dependency cascade (move + N propagated dependents) is treated as one batch — one `undo()` call reverses it entirely
- Removing the `UndoRedoModule` causes undo/redo code to tree-shake out of the bundle
Blocked by
- 主要语言
- TypeScript
- 星标
- 620
- 派生
- 6
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
TanStack/time 的其他 Issue
-
难度 5/5 一周以上 新手友好度 5/100
-
enhancement
难度 5/5 一周以上 新手友好度 25/100
-
enhancement
难度 5/5 一周以上 新手友好度 32/100
-
enhancement
难度 4/5 3-5 天 新手友好度 35/100
-
enhancement
难度 5/5 一周以上 新手友好度 35/100
相似的 Issue
-
ci-cd desktop size:low telemetry-improvement telemetry-round-1
难度 2/5 1-3 小时 新手友好度 66/100
vfarcic/dot-agent-deck#2079 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 75/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 83/100
维护者通常 1 天内回复
-
status:in-linear
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
🔊 a11y
难度 2/5 1-3 小时 新手友好度 82/100
betagouv/mon-entreprise#4726 ·
维护者通常 9 天内回复