Skip to content

refactor: rename fs-explorer to Opensidian#1518

Merged
braden-w merged 3 commits intomainfrom
opencode/cosmic-otter
Mar 13, 2026
Merged

refactor: rename fs-explorer to Opensidian#1518
braden-w merged 3 commits intomainfrom
opencode/cosmic-otter

Conversation

@braden-w
Copy link
Member

@braden-w braden-w commented Mar 13, 2026

Rebrands apps/fs-explorer as Opensidian—the starting point for an open-source, local-first Obsidian-like note-taking app within the Epicenter monorepo. The app already has the bones of a file manager (tree view, content editor, create/rename/delete) built on Yjs CRDTs; this rename sets the direction for gradual evolution.

The old name described what it was (a dev tool for testing @epicenter/filesystem). The new name describes what it's becoming. No real users exist on the current IndexedDB data, so the workspace ID change is a clean break.

apps/fs-explorer/  →  apps/opensidian/
 // package.json
-"name": "fs-explorer"
+"name": "opensidian"

 // fs-state.svelte.ts — IndexedDB database name
-id: 'fs-explorer'
+id: 'opensidian'

 // app.html
+<title>Opensidian</title>

The README was rewritten from "dev tool for inspecting filesystem operations" to a proper app description. Historical specs that reference fs-explorer are left untouched—they're accurate records of past work and the spec explicitly scopes them out.

Straggler sweep

After the rename, five parallel grep agents searched the entire repo for any remaining fs-explorer references across config files, source code, CI workflows, markdown docs, and lockfiles. Results:

  • 70 total matches, all in specs/ or EXECUTE_UNIFY_EXTENSION_LIFECYCLE.md (historical documents)
  • Zero matches in turbo.json, root package.json, CI workflows, TypeScript/Svelte source, or any non-historical documentation
  • Zero matches for variant spellings (fs_explorer, fsexplorer, Filesystem Explorer)
  • bun.lock regenerated cleanly via bun install

No stragglers. The rename is complete.

Rebrand the dev filesystem UI into OpenSidian—the starting point for an
Obsidian-like note-taking app within the Epicenter monorepo.

- git mv apps/fs-explorer → apps/opensidian
- Update package name, workspace ID, HTML title, README
- Regenerate lockfile with new package references
…tory throw

When a withExtension factory threw, destroyLifo was called fire-and-forget.
Because destroyLifo uses await between iterations, only the first cleanup's
synchronous portion ran before the re-throw yielded to the microtask queue—
remaining cleanups were stranded and never started before error propagation.

Add startDestroyLifo: a sync variant that invokes every cleanup in LIFO order
without awaiting between them. Async portions settle in the background with
rejections observed via Promise.resolve().catch(). This is the strongest
rollback guarantee a sync builder can provide—all cleanups are started before
the error escapes. The original destroyLifo is preserved for the normal
destroy() path where full sequential await is appropriate.
@braden-w braden-w merged commit b624a2e into main Mar 13, 2026
1 of 9 checks passed
@braden-w braden-w deleted the opencode/cosmic-otter branch March 13, 2026 17:40
@braden-w braden-w changed the title refactor: rename fs-explorer to OpenSidian refactor: rename fs-explorer to Opensidian Mar 13, 2026
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