mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-11-04 06:15:02 -05:00
A replica lists a peer's files but can't read them, so it couldn't bake their tiles, and thumbs.request refused any path on another device. Now a request for a file in a replica answers at once with the version held here and fetches the rest from the owner in the background. The owner gets FetchTiles: a batch of paths, each with the version the asker holds, answered one Tile frame per ask in the order they finish, so a slow video bake holds back only its own answer. Each answer is Current, a WebP tile, or Missing, and the owner bakes on demand what it lacks. Asks are resolved by path like Stat and Read, and the owner's version is stored as given since the asker can't derive it without the file. Fetched tiles land in volumes/<owner volume>/thumbs.pvcache beside the local ones and are announced as the usual thumbnail event, so no client changed. A tile asked of an owner isn't asked again for ten minutes, since clients re-request every cell on mount. Directory listings and this share one replica lookup, peer::share_for, which now prefers the deepest matching root. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Spacedrive Documentation
The Spacedrive docs site, built with Fumadocs on Next.js. This directory is a standalone app with its own bun install, separate from the repo workspace.
bun install
bun run dev # dev server on localhost:3000
bun run build # production build
Or from the repo root: just dev-docs / just build-docs. Requires Node 20+.
Layout
overview/,core/,extensions/,cli/,react/,gpui/: published MDX content, one sidebar tab per folder. Navigation order lives in each folder'smeta.json.app/,lib/,components/: the Next.js app. Pages are served from the site root, socore/jobs.mdxrenders at/core/jobs.public/: images, logo, favicon.plans/,core/design/,design/,archive/: internal working docs, not part of the site.WRITING_GUIDE.mdx,CODE_COMMENTS.mdx: contributor guides, not published.
Writing pages
Frontmatter supports title, description, and sidebarTitle (a shorter name for the sidebar). Callouts, <Steps>, <Tabs>, <Cards>, and <Accordions> are registered globally, so no imports are needed in MDX. Every page is also served as raw markdown at <path>.md and indexed in /llms.txt.