feat: add React frontend, migrate to pnpm, and harden email processing

- Replace server-rendered HTML with React 18 + Vite + shadcn/ui dashboard
    (mail list, detail panel, Extracted/Raw/Rendered tabs, sonner toasts)
  - Add REST API endpoints: GET /api/mails, GET /api/mails/:id
  - Fix MIME base64 body extraction (rewrite extractMailBodies with proper
    multipart boundary parsing and atob decoding)
  - Add isPromotionalEmail() pre-LLM filter (List-Unsubscribe, List-ID,
    Precedence: bulk, ESP X-headers) to avoid wasting AI tokens on ads
  - Fix codeAndLink() to use regex URL extraction instead of comma-split,
    preventing layout break on URLs containing commas
  - Add ASSETS binding to wrangler.toml.example for static frontend serving
- Migrate from npm to pnpm; add pnpm-workspace.yaml
  - Add CLAUDE.md and update AGENTS.md with current architecture
This commit is contained in:
TooonyChen committed 2026-03-15 03:11:08 +13:00
1 parent 749f1141bb
commit 4835e758a4
28 files changed
+5193 -2873

No files matched your search

+6
View File
@@ -27,6 +27,12 @@ jobs:
- name: Install Dependencies
run: npm install
- name: Install Web Dependencies
run: npm --prefix web install
- name: Build Web App
run: npm run build:web
# 步骤 4: 部署 Worker
- name: Deploy Backend for ${{ github.ref_name }}
run: |