qzl
92781ddbbe
test(chat): add comprehensive unit tests
2026-02-28 13:49:51 +08:00
qzl
dd90f48c6f
feat(chat): integrate ChatBloc into HomeScreen
2026-02-28 13:43:22 +08:00
qzl
f82a8072a2
feat(chat): add ChatHistoryRepository with shared_preferences
2026-02-28 13:41:58 +08:00
qzl
e1973a9868
feat(chat): add ChatBloc for state management
2026-02-28 13:40:46 +08:00
qzl
d12f846cc0
feat(chat): add UiSchemaRenderer with design tokens
2026-02-28 13:38:58 +08:00
qzl
1fd33c57a7
feat(chat): add AgUiService with mock event stream
2026-02-28 13:38:26 +08:00
qzl
7e0e6457d7
feat(chat): add AiDecisionEngine with force trigger support
2026-02-28 13:36:59 +08:00
qzl
f0ae3b31e2
feat(chat): add ToolRegistry with validation
2026-02-28 13:36:30 +08:00
qzl
bc7bfa0692
feat(chat): add ChatListItem models in chat feature
2026-02-28 13:36:08 +08:00
qzl
e20b5e0b4f
feat(chat): add AG-UI event models with wire protocol mapping
2026-02-28 13:34:55 +08:00
qzl
4044b50cf9
feat(chat): add ToolResult and UiCard models
2026-02-28 13:33:08 +08:00
qzl
b90d1587c5
chore(chat): add json_annotation and shared_preferences deps
2026-02-28 13:29:47 +08:00
qzl
330589f702
Merge remote-tracking branch 'origin/feature/friendship' into dev
2026-02-28 12:22:18 +08:00
qzl
2b40d08c78
docs: add Friends API documentation to runtime-route.md
2026-02-28 12:19:02 +08:00
qzl
e0cd20f16e
test: add integration tests for friendship routes
2026-02-28 12:16:06 +08:00
qzl
4c4f253c11
feat(friendships): implement dependencies and router with CRUD endpoints
2026-02-28 12:10:03 +08:00
qzl
ea4a50d79c
feat(friendships): add structured logging to FriendshipService
2026-02-28 12:08:01 +08:00
qzl
b66a8499ed
fix: change friendship status values from accepted/pending to active in tests
2026-02-28 12:04:26 +08:00
qzl
17551d662b
feat(friendships): implement FriendshipService with TDD
...
- Add send_request(), accept_request(), decline_request(), cancel_request()
- Add get_inbox(), get_outgoing_requests(), get_friends_list(), remove_friend()
- Add unit tests for all service methods (14 tests)
- Update FriendRequestResponse schema to include 'canceled' status
- Follow async SQLAlchemy patterns and BaseService conventions
2026-02-28 12:01:57 +08:00
qzl
0dfc52cbf7
fix: improve friendships schemas type safety and consistency
2026-02-28 11:35:13 +08:00
qzl
9b48939de8
fix: address code review issues and improve code quality
...
- Add owner_id check in repository delete operation
- Fix time range validation for partial updates
- Wrap pre-query in try/except for consistent error handling
- Use default_factory instead of mutable defaults
- Add max_length constraint for timezone field
- Remove unused dependencies and empty validators
- Extract magic numbers to constants
- Simplify update logic with model_dump
2026-02-28 11:34:49 +08:00
qzl
50b38de488
feat: add schedule items CRUD API
...
- Add ScheduleItem Pydantic schemas with metadata support
- Add repository layer with CRUD operations
- Add service layer with authorization
- Add FastAPI router with all endpoints
- Add unit and integration tests
- Update API documentation
2026-02-28 11:34:49 +08:00
qzl
598c6c2ec5
feat(friendships): create module structure and schemas
2026-02-28 11:30:18 +08:00
qzl
dbd3f68dd4
test: add invite code validation tests and fix migration rollback
...
- Add TestInviteCodeSignup integration tests for valid/invalid invite codes
- Fix migration downgrade: avoid dropping trigger dependency
- Add DB CHECK constraint for invite_codes.code format
- Update runtime-route.md with invite_code documentation
- Update runtime-runbook.md with change log
2026-02-28 10:56:09 +08:00
qzl
3d6ae7695f
refactor: 优化日历状态管理与首页输入框,添加API客户端抽象
2026-02-27 18:36:21 +08:00
qzl
80d04688fc
feat: add invite code feature (create, validate, referrer tracking)
2026-02-27 17:27:55 +08:00
qzl
e4e995854d
feat: 实现密码重置功能与用户搜索API,优化注册登录流程
...
- 新增忘记密码页面与重置密码确认流程(前端+后端)
- 修复注册验证码页登录跳转路由
- 新增用户搜索API(按邮箱查询)
- 简化infra脚本,统一为app.sh
- 补充密码重置与用户API测试覆盖
- 更新runtime文档与AGENTS配置
2026-02-27 15:22:42 +08:00
qzl
0d4811fee5
docs: add invite code design and backlog for user_agents trigger
2026-02-27 11:10:44 +08:00
qzl
76853452f6
chore: commit remaining workspace updates
...
include AGENTS guidance updates, plan doc replacements, and utility script changes left in working tree
2026-02-26 17:59:30 +08:00
qzl
f3d08a7fcf
refactor: remove legacy migration revisions
...
drop obsolete alembic history replaced by the new split social schema migration chain
2026-02-26 17:58:49 +08:00
qzl
6641eba9df
feat: split initial social schema migration chain
...
replace monolithic migration with ordered scripts, include profiles/sessions in migration, and verify full downgrade/upgrade cycle for clean Supabase bootstrap
2026-02-26 17:58:37 +08:00
qzl
2994cc708c
fix: update E2E tests for RESTful endpoints
2026-02-26 14:43:52 +08:00
qzl
8e493ae7fd
docs: add runtime route documentation and AGENTS.md rule
2026-02-26 14:37:51 +08:00
qzl
d635d9a5e0
refactor(frontend): adapt to RESTful API routes
2026-02-26 14:28:58 +08:00
qzl
5b8b584013
test: verify signup_start response only contains email
2026-02-26 14:12:39 +08:00
qzl
2709d88c68
test: update integration tests for RESTful routes
2026-02-26 14:08:10 +08:00
qzl
3cab7b03f7
refactor: Phase 2 - rename routes to RESTful style
2026-02-26 13:41:32 +08:00
qzl
4b707c7da1
fix: add missing get_user_repository function
2026-02-26 13:36:34 +08:00
qzl
04726b42cb
refactor: Phase 1 - rename and simplify backend schemas
2026-02-26 13:33:02 +08:00
qzl
c6eb58d8da
docs: add RESTful API refactor design and plan
2026-02-26 13:18:36 +08:00
qzl
cc7a70d793
fix(auth): correct resend response type and improve error messages
2026-02-26 12:13:50 +08:00
qzl
11666e6492
fix(auth): validation toast and rate limit adjustment
2026-02-26 12:07:40 +08:00
qzl
56bee56415
fix(auth): fixed width resend button with border
2026-02-26 11:59:22 +08:00
qzl
76620cde6f
style(auth): simplify resend button to text link style
2026-02-26 11:53:06 +08:00
qzl
d6113416c6
fix(auth): trigger AuthLoggedOut event on logout
2026-02-26 11:45:59 +08:00
qzl
d50a1a0f8e
fix(auth): show validation error toast on register form
2026-02-26 11:40:49 +08:00
qzl
b80b9e795d
fix(auth): allow immediate resend on first send failure
2026-02-26 11:31:35 +08:00
qzl
a6fbf70ad5
fix(auth): reset state properly in sendCodeSilently
2026-02-26 11:28:33 +08:00
qzl
4f9889bb3f
fix(auth): set failure status on sendCodeSilently error
2026-02-26 11:25:51 +08:00
qzl
8294c67d27
docs: cleanup old plans and add new design docs
2026-02-26 11:21:27 +08:00