Skip to content

Remove checkpoint implementation#59

Merged
samuelstroschein merged 1 commit into
mainfrom
codex/remove-checkpoint-logic
Jul 20, 2026
Merged

Remove checkpoint implementation#59
samuelstroschein merged 1 commit into
mainfrom
codex/remove-checkpoint-logic

Conversation

@samuelstroschein

Copy link
Copy Markdown
Member

Summary

  • remove the temporary checkpoint History extension, diff resolver, and historical Files/editor modes
  • remove checkpoint-specific public APIs, preview seeding, fixtures, and documentation
  • retain generic agent/external-write review behavior and make its branch-switch race test deterministic

Validation

  • pnpm run ci — 74 test files passed; 828 tests passed, 1 skipped; consumer build passed
  • pnpm run format:check
  • pnpm run lint (11 existing warnings, 0 errors)
  • pnpm run typecheck
  • pnpm --dir preview/web typecheck
  • pnpm run build:preview

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

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
samuelstroschein merged commit 512b137 into main Jul 20, 2026
1 check passed
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>
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