Files
buzz/desktop
Matt Toohey f25f05ea65 fix(desktop): ignore deep-link policy receipts for native invite consent
Anyone holding an invite code can mint a join-policy receipt from the
public accept-policy endpoint, so a receipt carried by a buzz://join
link does not prove this app showed consent. Desktop persisted that
receipt into the onboarding transaction (and kept a retained same-relay
receipt on resume), which made useClaimInvite skip policy discovery and
claim without the native consent stage.

startCommunityOnboarding now drops receipts for deep-link-join
transactions, both when creating one and when resuming a same-relay
transaction, so the invite-consent stage is the only source of the
receipt a link join claims with. The deep-link drain no longer forwards
the link's receipt.

The useClaimInvite jsdom table gains rows for a link-supplied receipt
and a retained same-relay receipt. Each row asserts the flow reaches
invite-consent with zero claims, then claims once with the app-minted
receipt after native acceptance.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Matt Toohey <contact@matttoohey.com>
2026-10-29 19:15:39 +11:00
..
2026-03-09 13:02:11 -07:00
2026-06-11 15:06:24 +00:00
2026-03-09 13:02:11 -07: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