weishu bb514482a2 perf(web): optimize message conversion with useExternalMessageConverter
Use the cached message converter from @assistant-ui/react to prevent
re-converting all messages on every render. The previous implementation
called convertMessage for every ChatBlock on each render cycle, creating
new objects (Date, arrays, metadata) that triggered unnecessary state
updates and re-render storms.

The new implementation:
- Uses useExternalMessageConverter which internally caches via WeakMap
- Memoizes callbacks with useCallback for stable references
- Memoizes the adapter object to prevent subscription churn
2025-12-19 13:14:17 +08:00
2025-12-16 15:03:50 +08:00
2025-12-16 15:03:50 +08:00
2025-12-16 15:03:50 +08:00

hapi

Monorepo with three Bun workspace packages:

  • cli/ (hapi): CLI (npm package) exposing hapi / hapi-mcp
  • server/ (hapi-server): backend API + Telegram bot server, serves web/dist/
  • web/ (hapi-web): web frontend (Vite) building to web/dist/

Commands

Run from the repo root:

bun install
bun run typecheck
bun run build
S
Description
GitHub 镜像: wu736139669/hapi(每日自动同步)
Readme AGPL-3.0
103 MiB
Languages
TypeScript 99.5%
CSS 0.2%
JavaScript 0.2%
HTML 0.1%