Commit Graph

43 Commits

Author SHA1 Message Date
qzl 97976b20bf perf: recover lost files (locale_selector.dart, terminology.py, app_zh_hant.arb)
These files were accidentally omitted during cherry-pick workflow.
They were present in 639ef12 but dropped when switching to git apply workflow.
2026-04-14 11:49:45 +08:00
qzl dc66afb5a8 perf: reduce LLM input tokens by ~50% via prompt deduplication
- Remove JSON appendix from user_prompt (saves ~3000 chars, 85% reduction)
- Consolidate identity: remove English system_prompt identity, merge into agent_prompt Chinese identity
- Simplify system_prompt output rules: keep only Language Requirement, remove Answer Rules (duplicate with agent_prompt)
- Enhance follow-up context: include more divination_derived fields (changing_yaos, fushen, wu_xing, etc.)
- Fix bug: lowerName -> lower_name in user_prompt (Pydantic snake_case)
- Update tests to reflect new prompt structure
2026-04-14 11:18:59 +08:00
qzl 6bc9c88ce8 fix: 修复语言设置为简体中文而非繁体翻译 2026-04-13 16:14:28 +08:00
qzl 1e22f27de2 feat: integrate invite API and improve notification handling
- Add invite code display and binding functionality via API
- Fix notification unread count sync on auth state change
- Improve notification mark read with server state validation
- Add auth state listener to trigger notification refresh
- Add YaoCoinConverter for coin-to-yao type conversion
- Remove YaoLegend from divination screens (UI cleanup)
- Abbreviate relation labels in yao detail view
- Add re-register notice to account delete screen
- Update 'coins' terminology to 'points' in localization
- Fix backend points consumption to only run in CHAT mode
- Add HttpxAuthNoiseFilter to suppress auth endpoint logging
- Fix notification static_schema import path
- Add test coverage for notification bloc error handling
- Update AGENTS.md page header rules and image handling
- Delete deprecated run-dev.sh script
2026-04-13 14:52:22 +08:00
qzl da947f9f08 chore: record journal 2026-04-13 12:46:37 +08:00
qzl a2f010251d chore: record journal 2026-04-13 12:04:36 +08:00
qzl 921ffa1c50 docs: add application initialization contract to user-points protocol 2026-04-13 11:35:15 +08:00
qzl 697d2c0fd6 chore: record journal 2026-04-13 11:29:38 +08:00
qzl c55be6d3fd fix: preserve points balance across account re-registration
Persist a per-email balance snapshot before account deletion and restore it on same-email re-registration, preventing both unintended balance reset and repeated signup bonus grants.
2026-04-13 11:28:58 +08:00
qzl ed8c2e3058 chore: record journal 2026-04-13 11:26:23 +08:00
qzl 4b258bb4d0 feat: 静态通知同步 + 积分审计 JSONB 序列化修复 2026-04-10 19:23:38 +08:00
qzl 1cdaeb274e chore: record journal 2026-04-10 19:23:13 +08:00
qzl a38267caf7 chore: record journal 2026-04-10 18:51:30 +08:00
qzl 3f3d613d99 feat: 实现站内通知系统
- 后端: 新增 notifications/user_notifications 表迁移及 ORM 模型
- 后端: 实现 schema/repository/service/router 全套通知 API
  - GET /api/v1/notifications (列表+游标分页)
  - GET /api/v1/notifications/unread-count
  - PATCH /api/v1/notifications/{id}/read (幂等)
  - PATCH /api/v1/notifications/mark-all-read (幂等)
- 后端: payload 使用 Pydantic discriminated union (none/open_route/open_url)
- 后端: 19 个单元测试全部通过
- Flutter: 通知 feature 完整实现 (models/apis/repositories/bloc/UI)
- Flutter: Home 页通知按钮接入真实页面,显示未读 badge
- Flutter: 14 个测试全部通过
- 协议文档: notification-inbox-protocol.md 及错误码注册
2026-04-10 18:50:08 +08:00
qzl 17ef460391 docs: 更新 HTTP 错误码、用户积分、占卜运行及用户资料协议文档 2026-04-10 16:45:45 +08:00
qzl 1bc8bc6a27 chore(task): archive 00-bootstrap-guidelines 2026-04-10 16:30:26 +08:00
qzl 0ac8b81a66 feat: 添加 points_audit_ledger 及 JSON 字段 Pydantic Schema 约束 2026-04-10 12:28:18 +08:00
qzl 46513829cd feat: 添加账号删除功能 2026-04-10 10:40:44 +08:00
qzl 17a1303f00 fix: 修复 pre-commit hook 基于pyright 配置 2026-04-08 18:00:08 +08:00
qzl 8cf0011720 chore: 配置 basedpyright 将特定检查降级为警告
- reportMissingTypeArgument: 泛型类型参数警告(不影响运行)
- reportConstantRedefinition: 常量重定义警告(风格问题)
- reportMissingImports: 导入解析警告(部分模块未实现)
2026-04-08 17:44:16 +08:00
qzl c7920bcd43 chore: 配置 basedpyright 将严格检查降级为警告
- reportMissingTypeArgument, reportConstantRedefinition 等设为 warning
- 避免 pre-commit 被 pre-existing 类型问题阻塞
2026-04-08 17:39:54 +08:00
qzl e80a82bef4 docs: 更新协议文档,删除废弃计划文档
- 更新 http-error-codes, user-points-chat-data-protocol
- 更新 divination-run-protocol, profile-protocol
- 删除废弃的后端和前端设计计划文档
2026-04-08 17:23:02 +08:00
qzl 49fc9a116f test: 添加 profile settings 和 runtime models 单元测试 2026-04-07 18:44:21 +08:00
qzl 6217844865 refactor(settings): 重构设置页面,支持语言和地区设置 2026-04-07 18:44:14 +08:00
qzl 6e82053ea7 feat(home): 重构首页为底部导航栏布局,支持首页与个人页面切换 2026-04-07 18:43:58 +08:00
qzl c121c1092f feat(invite): 添加邀请码功能模块 2026-04-07 18:43:49 +08:00
qzl b22673ce49 feat(settings): 添加通知偏好设置和后端 API 集成 2026-04-07 18:43:42 +08:00
qzl b18a205bf3 refactor(schema): 重构数据库模型和 schema,清理废弃表 2026-04-07 18:43:34 +08:00
qzl a65d041436 refactor(agentscope): 重构提示词模块和运行时任务处理 2026-04-07 18:43:24 +08:00
qzl f394df9362 feat(divination): 重构手动起卦教程,支持三硬币交互选择 2026-04-07 18:41:08 +08:00
qzl f904286ba7 refactor: 重构弹窗组件支持自定义图标组件 2026-04-07 12:30:12 +08:00
ZL-Q 8a18b3528b feat: 实现用户画像、占卜历史与后端用户管理模块 2026-04-06 01:28:10 +08:00
qzl d87b2e1e3a feat: 接入起卦后端流程并完善积分扣减链路 2026-04-03 19:04:46 +08:00
qzl a136e42290 refactor(divination): use locale-aware date format in divination_result_screen 2026-04-03 18:19:52 +08:00
qzl a73ba67ef1 feat(divination): use DateTimePickerBottomSheet in manual_divination_screen 2026-04-03 18:18:55 +08:00
qzl dbc3e90a46 feat(divination): use DateTimePickerBottomSheet in auto_divination_screen 2026-04-03 18:17:40 +08:00
qzl a034962d6b feat(divination): add DateTimePickerBottomSheet with iOS wheel style 2026-04-03 18:16:18 +08:00
qzl 39575ddf37 chore: 添加 basedpyright 到 pre-commit 2026-04-03 17:11:06 +08:00
qzl f0fe513f9d chore: 移除 pre-commit flutter test hook 2026-04-03 16:57:43 +08:00
qzl f245eec5f6 feat: 实现起卦、设置与积分系统 2026-04-03 16:56:47 +08:00
qzl 31594558eb feat: 切换邮箱认证并重构前后端启动与门禁 2026-04-02 18:39:35 +08:00
qzl 92cdfd9fca chore: 迁移到 social-app 架构,集成 Supabase 和 taskiq worker 2026-04-02 16:36:35 +08:00
qzl 695adb7d6f feat: initial commit 2026-03-31 13:32:22 +08:00