weishu 4606ba23d9 feat(web): implement conditional Telegram SDK loading
Add lazy loading of Telegram SDK only when running inside Telegram Mini App
environment instead of unconditionally loading in all browsers. Includes:

- New environment detection functions: isTelegramEnvironment(), isTelegramApp()
- Dynamic SDK loading with 3s timeout via loadTelegramSdk()
- Removed static script tag from index.html
- Made haptic feedback lazy (SDK check on each call)
- Made theme listeners lazy (attached in initializeTheme())
- Updated all components to use unified detection functions

This prevents SDK load time overhead in regular browser environments while
ensuring the app works correctly both in Telegram and browser contexts.
2025-12-18 22:54:40 +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
133 MiB
Languages
TypeScript 99.5%
CSS 0.2%
JavaScript 0.2%