Commit Graph

31 Commits

Author SHA1 Message Date
ZL-Q dab3c766f2 chore(task): archive 05-10-web-history-list-page 2026-05-10 13:59:36 +08:00
ZL-Q 654e5ce188 chore(task): archive 05-09-fix-divination-cost-hardcode-and-coin-animation 2026-05-09 23:36:59 +08:00
ZL-Q 0e0daf4f5a chore(task): archive 05-09-manual-divination-page-design-alignment 2026-05-09 21:49:09 +08:00
ZL-Q d84599adca chore(task): archive 05-09-settings-page-interaction-optimization 2026-05-09 21:41:48 +08:00
zl-q 1d5efb46e7 chore: clean up stale task files and update ManualDivinationPage 2026-05-09 18:24:35 +08:00
zl-q c12320cb79 feat(web): rebuild web with Astro 6 + React 19 + Tailwind 4
Replace static HTML website with Astro SSG framework:
- Astro 6 + React 19 (client islands) + Tailwind CSS 4 + shadcn/ui
- i18n: zh/zh_Hant/en with URL prefix routing
- Pages: Landing, Features, Pricing, About, Privacy, Terms (3 locales)
- Responsive full-width layout with scroll reveal animations
- Cyber gradient theme with particle effects inspired by Kimi
- Features page: alternating layout with hexagram illustrations
- Legal pages: markdown rendering with side info card
- Language switcher preserves current page path
- Assets shared via symlinks to web/design/assets/ (no duplication)

Tech decisions documented in .trellis/spec/web/index.md
Task: .trellis/tasks/05-08-web-astro-react-tailwind-shadcn-ui
2026-05-09 12:11:10 +08:00
zl-q 04b493ed09 chore: migrate from opencode to trellis 0.5.0-rc.6
- Remove legacy .opencode/ directory and configuration
- Update .trellis/ to v0.5.0-rc.6 structure
- Refactor scripts: modularize common/, remove multi_agent/
- Add new common modules: git.py, io.py, log.py, types.py, etc.
- Update workflow.md and AGENTS.md
- Archive completed migration tasks
2026-05-06 14:29:25 +08:00
qzl 99f053a5ff chore(trellis): archive 04-30-product-website task 2026-04-30 14:49:14 +08:00
qzl 1519c782c7 feat(web): add product website with i18n and privacy policy
Static HTML product site for MeeYao with violet brand theme.
Supports EN/简中/繁體 via client-side i18n with localStorage persistence.
Includes index.html (landing page) and privacy.html (App Store compliance).
Hosted on meeyao.com, deployed to ~/deploy/web on EC2.
2026-04-30 14:49:14 +08:00
qzl fb163cfeab chore(deploy): add backend ECR deployment flow 2026-04-29 18:04:25 +08:00
qzl 58cbb8d84f chore(task): archive 04-28-fix-ai-english-output 2026-04-29 14:27:54 +08:00
ZL-Q f497afbff2 feat: 实现AI拒答机制和语言控制优化
- 添加 RunStatus.REFUSED 状态,AI可明确表达拒答意图
- 优化 System Prompt 使用视觉强调提高AI对拒答规则的遵守
- User Prompt 添加 SCOPE CHECK 和语言约束
- Worker Rules 添加多语言版本角色扮演规则
- Runner 传递 language 参数到 worker stage
- json_finalize 添加语言约束参数
- 更新单元测试匹配新的 prompt 结构
2026-04-29 01:38:59 +08:00
ZL-Q 14752cdcfa chore(task): archive 04-27-feat-ios-apple-pay 2026-04-28 17:17:40 +08:00
ZL-Q c7a75a6445 chore(task): archive 04-28-refactor-unify-language 2026-04-28 17:17:39 +08:00
ZL-Q 8de03314fd chore(task): archive 04-28-feat-locale-timezone-bootstrap 2026-04-28 17:17:39 +08:00
ZL-Q 9bc24fa0c4 chore(task): archive 04-28-feat-points-ledger 2026-04-28 17:17:38 +08:00
ZL-Q 87f92987b2 feat: 实现 iOS Apple Pay 内购支付功能
前端:
- 集成 in_app_purchase 插件,实现 IAP 支付流程
- 添加支付模块 (payments/) 处理产品获取、购买、验证
- 积分中心页面集成 Apple Pay 购买入口
- 设置页面重构: 关于/隐私/协议直接展示,删除 legal_center 子页面
- 修复欢迎引导页滚动检测阈值问题
- 修复解卦结果页 iOS 侧滑返回手势被阻止的问题
- 邀请码绑定按钮临时禁用(待后端实现)

后端:
- 新增 apple_iap_transactions 表记录交易
- 实现 Apple 服务器端验证 (App Store Server API)
- 支付成功后自动发放积分
- 支持 Sandbox/Production 环境切换
- 添加退款处理和交易状态机

协议:
- 更新积分流水协议,支持 purchase/refund 类型
- 新增 PAYMENT_* 错误码
2026-04-28 10:45:29 +08:00
qzl b453ff7345 chore(trellis): add task tracking for ios apple pay feature 2026-04-27 11:01:20 +08:00
qzl 2d46251220 chore(task): archive 04-17-feat-privacy-do-not-sell 2026-04-20 12:52:39 +08:00
qzl 4a3fe85fc9 chore(task): archive 04-17-feat-user-feedback 2026-04-20 12:51:15 +08:00
qzl 6a2a9d2c87 feat(feedback): implement user feedback collection system with email reporting
Backend:
- Add user_feedback table with RLS policy
- Create feedback submission API (multipart/form-data)
- Implement xlsx report generation with embedded images
- Add scheduled email delivery via Feishu SMTP
- Create HTML email templates (daily_report, no_feedback)

Frontend:
- Add feedback screen with type selection and image picker
- Support anonymous submission via skipAuth flag
- Collect device info and app version

Protocol:
- Document feedback API contract and error codes
- Update http-error-codes.md with FEEDBACK_* codes
2026-04-20 12:49:54 +08:00
qzl 913ed26f8d feat(privacy): add personalized ads toggle in settings
- Add PrivacySettings schema with can_sell field (default: false)
- Move privacy toggle to GeneralSettingsScreen with clear labeling
- Update l10n for zh/en/zh_hant with user-friendly copy
- Clean up redundant PrivacyNotificationSettingsScreen
- Update profile-protocol.md to reflect new privacy schema
- Fix basedpyright warnings in user.py
2026-04-17 13:11:09 +08:00
qzl c79c773d67 feat(notification): add target_mode enum constraint and merge register-notifications script
- Add NotificationTargetMode enum (new_users/exist_users/all_users/user_ids)
- Create Alembic migrations: drop duplicate indexes, add target_mode column
- Merge register-notifications.sh into dev-migrate.sh sync-notifications subcommand
- Shorten notification config path: static/notification/notifications -> static/notifications
- Update registration flow to dispatch notifications by target_mode
- Add is_first_registration to RegisterBonusResult for first-time user detection
- Remove dead code: link_published_notifications_to_user
- Update welcome_points.yaml to target new_users only
- Add 44 unit tests + 1 integration test, all passing
2026-04-16 17:50:57 +08:00
qzl d4919fe52a chore(task): archive 04-16-starter-package-purchase-tracking 2026-04-16 16:14:51 +08:00
qzl ff40ff9dd8 feat: 新人初始礼包购买追踪功能
- 数据库:添加 has_purchased_starter_pack 字段到 register_bonus_claims
- 后端:创建静态配置管理套餐信息,支持按国家/地区区分
- 后端:新增 GET /api/v1/points/packages API 返回可用套餐
- 后端:创建 utils/paths.py 统一路径管理
- 前端:动态获取套餐信息,移除硬编码
- 前端:添加 ProductCode 枚举约束,前后端类型安全
- 配置:Profile 默认国家改为 US(ISO 3166-1 alpha-2)
- 文档:更新协议文档说明新 API 和字段
2026-04-16 16:11:09 +08:00
qzl dcb955c6af chore(task): archive 04-15-divination-tutorial-first-visit 2026-04-16 10:15:07 +08:00
qzl 69b34bd723 feat: 添加起卦教程首次访问追踪和Agent时间上下文
- 后端 ProfileSettingsV1 添加 DivinationTutorialSettings 字段
- 前端三个起卦页面添加首次访问检测,自动弹出教程
- 教程展示后更新 settings 标记,避免重复弹出
- 使用本地状态管理避免并发更新覆盖问题
- Agent 系统提示添加时间上下文信息
2026-04-15 18:56:41 +08:00
qzl 0bb7d77a3f chore(task): archive 04-15-session-deletion-anonymization 2026-04-15 18:19:20 +08:00
qzl 3fd983dc5b chore(task): archive 04-15-liuyao-algorithm-fix 2026-04-15 16:49:49 +08:00
qzl be686810d9 docs: 添加trellis任务文档 2026-04-15 16:48:09 +08:00
qzl 1bc8bc6a27 chore(task): archive 00-bootstrap-guidelines 2026-04-10 16:30:26 +08:00