Sambee 0.7

What Sambee Consists Of

Sambee is not a single app with one execution model. It is a coordinated system with separate responsibilities in the browser, on the server, and on the desktop.

The Major Pieces

SubsystemMain responsibilityWhere it lives
Browser appUser-facing file browsing, preview, editing UI, and service callsfrontend/
Backend serviceAuthentication, API endpoints, SMB access, server-side file handling, locks, and notificationsbackend/
Companion appNative-app editing, local-drive access, pairing, and desktop-local integrationscompanion/

Capability Boundaries Contributors Must Preserve

Sambee deliberately separates browser-only workflows from companion-backed workflows.

Browser-only workflows:

  • browsing SMB shares
  • previewing supported content in the browser
  • managing files through the web interface
  • editing Markdown directly in the browser

Companion-backed workflows:

  • browsing local drives on the same machine as the browser
  • opening files in installed native desktop applications
  • returning native-app edits to the source location
  • syncing localization and other browser-to-desktop state where the product requires it

Those boundaries matter because the product makes different trust, runtime, and platform assumptions in each path.

How a Normal Request Path Splits

For an SMB-browser workflow:

  1. The browser app issues authenticated API calls.
  2. The backend enforces server-side policy and talks to SMB storage.
  3. The browser renders the result.

For a companion-backed workflow:

  1. The browser app still owns the main user workflow.
  2. The companion is discovered or launched locally.
  3. Browser and companion exchange trusted local information through pairing or deep links, depending on the flow.
  4. The backend remains the source of truth for SMB edit workflows, while the companion adds desktop-local capability.

What This Means for Contributors

When you change Sambee, do not treat every feature as interchangeable.

  • A frontend-only change can still break a backend contract.
  • A backend change can alter browser behavior, companion behavior, or both.
  • A companion change can affect desktop editing, local drives, and paired browser expectations.

Use the rest of this guide to go deeper into each subsystem rather than trying to keep the whole model in your head at once.