Files
buzz/desktop
Duncan b67546c337 refactor(readState): extract file-size ratchet overages and update forcedUnreadStore header
Extract helpers to bring three over-limit files within the repository
file-size ratchet:

- AppShell.tsx (1001→999 wc): extract inline error ternary to
  errorMessage() in AppShell.helpers.ts.

- useUnreadChannels.ts (1091→1018 wc): extract UseUnreadChannelsOptions,
  CATCH_UP_LIMIT, channelCatchUpEventKinds, the four root-id stores, and
  the pure resolve helpers to useUnreadChannelsHelpers.ts. Update import
  paths in nip-rs-unread-ui.test.mjs and unreadReadMarker.test.mjs.

- relayClientSession.ts (1103→1085 wc): extract subscribeToChannelLive
  and subscribeToTypingIndicators inline filter objects to
  buildChannelLiveFilter() and buildTypingIndicatorFilter() in
  relayChannelFilters.ts. Remove now-unused KIND_CHANNEL_THREAD_SUMMARY
  and CHANNEL_EVENT_KINDS from relayClientSession kinds import.

Also update the forcedUnreadStore.ts module header: the old "NOT synced
to the relay" claim is false after this PR's NIP-RS override layer is
in place; replace with an accurate description of the localStorage/
relay relationship (doc-only, no behavior change).

All moves are mechanical — zero semantic change in any moved region.

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
2026-08-05 15:09:13 -04:00
..
2026-08-03 21:51:17 -04: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