Files
buzz/desktop
Thomas Petersen b47880885f fix(desktop): make starter channels best-effort for community joiners
Joining an established community failed onboarding with 'starter channels
created but metadata not yet available' whenever the community's starter
channels (general / welcome-everyone) no longer matched the pristine spec —
renamed, made private (their kind:39000 metadata is invisible to a
non-member joiner), archived, or converted to a forum. Every new member hit
the error deterministically on the Meet-your-starter-team screen.

Starter-channel setup is a real requirement only for the community founder
creating them; for a joiner, a customized starter set is normal community
evolution, not a failure. Downgrade both layers to best-effort:

- ensure_starter_channels (Rust) logs and proceeds instead of erroring when
  the full starter set is not observable; membership joins still happen for
  whatever starter channels do match.
- ensureStarterChannels (TS) returns nullable generalChannel/welcomeChannel
  instead of throwing when the ensured list lacks a full match. No callers
  consumed those fields outside tests.

The private Welcome channel flow is unchanged and was already independent
of this failure.

Co-authored-by: Thomas Petersen <thomasp@squareup.com>
Signed-off-by: Thomas Petersen <thomasp@squareup.com>
2026-07-23 08:44:03 +02:00
..
…

Buzz

Desktop chat shell with:

  • Tauri + React + TypeScript + Vite
  • Tailwind CSS
  • shadcn/ui-ready shared components
  • Biome (lint/format/check)
  • Feature-driven frontend structure

Scripts

  • pnpm dev - run the web frontend
  • pnpm tauri dev - run the desktop app
  • pnpm build - typecheck and build frontend
  • pnpm typecheck - TypeScript checks
  • pnpm lint - Biome lint
  • pnpm format - Biome format (write)
  • pnpm check - Biome check

Structure

  • src/shared - reusable app-wide code (ui, lib, styles)
  • src/features - feature modules (vertical slices)
  • src/app - top-level app composition