Remove checkpoint implementation#59
Merged
Merged
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
atelier-preview | 0aa4a68 | Commit Preview URL Branch Preview URL |
Jul 20 2026, 04:00 PM |
samuelstroschein
added a commit
to opral/flashtype
that referenced
this pull request
Jul 21, 2026
Atelier removed its checkpoint implementation upstream (opral/atelier#59, pulled in by the central-tabs submodule bump); FlashType mirrors that removal instead of keeping a dormant, half-working feature. Deleted: - src/extensions/history/ — the checkpoint UI (list, create, rename, switch, delete) and its registration - electron/checkpoint-name.mjs (+test), the terminal:generateCheckpointName IPC handler, preload method, and DesktopGenerateCheckpointName* types - src/shell/checkpoint-diff.ts (+test) and src/extension-runtime/checkpoint-diff.ts - e2e/branch-switcher.spec.ts — all four tests exercised checkpoint UI or checkpoint diffs (incl. the two previously skipped) Stripped checkpoint branches from the Files view (checkpoint-diff virtual tree, checkpointBranchId/checkpointDiff context, the "checkpoint-diff" entry source), the file tree (reviewStatuses map, "recreated" status styling), the legacy MarkdownView/CsvView (checkpoint-diff rendering; commit-snapshot/diff modes stay), the top bar (isReviewingCheckpoint badge), and editor-revision-state (checkpoint state keys). Kept: shared lix branch plumbing (createBranch/switchBranch/ syncDiskToLix, the lix_workspace_branch_id active-branch key) and the agent-review machinery — separate features that read them. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
samuelstroschein
added a commit
to opral/flashtype
that referenced
this pull request
Jul 21, 2026
* feat!: adopt atelier's single central-tabs primitive Bumps submodule/atelier to 4396919 (central-panel-embedding): the central panel is now always browser-style tabs with a pinned home. FlashType configures no custom home, so the Files view becomes the pinned home tab — documents open as content tabs beside it and closing the last content tab lands back on Files. - drop filesViewMode: "sidebar" (derived by atelier now; a no-op) - closeFileViews closes by path via the new documents.close(path) so deleting a file also closes its background tab (the tree lives in the pinned home tab, so the doc view is rarely active during deletion) - drop the revisions wiring deleted upstream by atelier#59 (checkpoint removal): history view props, checkpointBranchId, atelier_history builtin id; local types keep the optional diff-viewer props compilable - e2e: ensureFilesViewOpenInLeftPanel -> ensureFilesHomeTabActive; the single-central-document invariant becomes "pinned Files home first, one active document content tab beside it"; tree interactions re-activate the home tab; the central empty state is gone (landing on the Files home instead); the two checkpoint-diff tests are skipped with pointers to atelier#59 - unit mocks: documents.close added, revisions removed, closeFileViews assertions carry filePath - pnpm-lock: additive update for new atelier deps BLOCKED on opral/atelier#60 — the submodule pointer targets the central-panel-embedding branch, so the submodule-branch validation in CI fails until it merges; bump to the merge commit afterwards. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * feat!: remove the checkpoint feature, mirroring atelier#59 Atelier removed its checkpoint implementation upstream (opral/atelier#59, pulled in by the central-tabs submodule bump); FlashType mirrors that removal instead of keeping a dormant, half-working feature. Deleted: - src/extensions/history/ — the checkpoint UI (list, create, rename, switch, delete) and its registration - electron/checkpoint-name.mjs (+test), the terminal:generateCheckpointName IPC handler, preload method, and DesktopGenerateCheckpointName* types - src/shell/checkpoint-diff.ts (+test) and src/extension-runtime/checkpoint-diff.ts - e2e/branch-switcher.spec.ts — all four tests exercised checkpoint UI or checkpoint diffs (incl. the two previously skipped) Stripped checkpoint branches from the Files view (checkpoint-diff virtual tree, checkpointBranchId/checkpointDiff context, the "checkpoint-diff" entry source), the file tree (reviewStatuses map, "recreated" status styling), the legacy MarkdownView/CsvView (checkpoint-diff rendering; commit-snapshot/diff modes stay), the top bar (isReviewingCheckpoint badge), and editor-revision-state (checkpoint state keys). Kept: shared lix branch plumbing (createBranch/switchBranch/ syncDiskToLix, the lix_workspace_branch_id active-branch key) and the agent-review machinery — separate features that read them. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * chore: bump atelier to central-panel-embedding tip Picks up the built-in strip UX parity (file-type glyphs, no active ring) and the central + removal. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * feat!: adopt the final central-panel shape — Files stays in the sidebar Bumps submodule/atelier to c8c9a58 (central-panel-embedding tip): pinned home only when configured. FlashType passes no centralPanel.home, so the Files view lives in the left sidebar (open by default on fresh state), the central panel is tabs of documents only, and closing the last tab shows the central empty state again. Restores the e2e specs to their origin/main shape — the sidebar-Files assumptions (tree visible beside documents, "Start writing" empty state, in-place tab navigation) hold again under the tab model — minus the deleted checkpoint helper. The documents.close(path) deletion fix stays. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * refactor!: replace the files-extension fork with atelier's bundled Files view Bumps submodule/atelier to 207d18e, which adds the host watched-files data source (createAtelier filesView options), and deletes FlashType's ~5,450-line files-extension fork — it existed to surface watcher-backed disk files for transient workspaces, which the bundled view now covers. - src/lib/atelier-files-view.ts relocates the transient-workspace machinery: watchEntries bridges setEphemeralWatchedDirectories (keyed to the tree's expanded directories) plus the onEphemeralWatchedFileTreeChanged subscription, and resolveFileForInteraction imports a watched path into lix before open/rename. Only ephemeral workspaces pass filesView. - Review overlays and deletion-closes-tab are native to the bundled view (it computes pending review paths itself and closes by path), so no host wiring remains. - Deletes src/extensions/files/*, the fork-only ExtensionContext/ WorkspaceContext/PanelSide types, and the dead src/queries.ts. - e2e: the bundled tree auto-reveals the active document's directory, so the grouped-transient-workspace test no longer clicks it (the click would collapse it); all other selectors held. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * chore: bump atelier — side-panel add/close semantics fix Adding Files from a side panel focuses the left sidebar; closing the last removable side view leaves the empty state instead of collapsing the island. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * chore: bump atelier — Files left-only placement The right panel's add-view menu no longer offers Files. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * chore: bump atelier — Files is a normal, removable view Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * chore: bump atelier — Files placeable in both side panels Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * chore: point submodule/atelier at main atelier#60 merged; the pointer moves to the squash commit on main. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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.
Summary
Validation
pnpm run ci— 74 test files passed; 828 tests passed, 1 skipped; consumer build passedpnpm run format:checkpnpm run lint(11 existing warnings, 0 errors)pnpm run typecheckpnpm --dir preview/web typecheckpnpm run build:preview