Files
spacedrive/docs
Jamie Pine af34703731 Make search sort, pagination, and filters honest
Phase 1 of docs/plans/2026-09-15-search-refinement.md. Every parameter
search.files accepts is now either honored or fails closed; nothing is
validated, logged, and ignored anymore.

Ordering and pagination live in a new pipeline module with a
backend-neutral candidate type, per R6 of the source-runtime plan: one
deterministic global sort before final pagination, equal keys settling
on case-folded name and record id so results stop reshuffling between
keystrokes. Library search sums each partition's full filtered match
count into total_found and contributes only the page window of
candidates to the merge, so a partition can never lose a result that
belongs on the page. The 200-result cap and the synthetic pagination
block are gone; the response reports the caller's window over the true
total (a "spacedrive" search now reports 496 matches instead of a
complete-looking 200).

Filter fixes: extensions compare case-insensitively, hidden entries
are excluded by default and included with include_hidden (advertised
in available_filters), and a missing timestamp fails a date filter
instead of passing it, so the unanswerable AccessedAt and IndexedAt
fields fail closed rather than silently matching everything.

Deletes dead code the plan condemned: sorting.rs and the unused
facets.rs duplicates, plus the legacy entry-era imports in query.rs.
Verified live: --limit 5 returns five with the true total, size and
name sorts order and reverse, offset pages advance.
2026-09-15 21:20:08 -07:00
..

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's meta.json.
  • app/, lib/, components/: the Next.js app. Pages are served from the site root, so core/jobs.mdx renders 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.