Commit Graph

59 Commits

Author SHA1 Message Date
qzl f4b7eb7e09 refactor: 梳理规则体系并统一记忆与部署流程 2026-03-23 17:57:24 +08:00
qzl 6be616f108 feat: 重构 memory 系统,支持 user memory 和 work memory 分离 2026-03-23 14:25:47 +08:00
qzl 20b9e70e84 fix(apps): 修复通知点击不显示ReminderOverlay和日历编辑后不刷新问题
- AppDelegate: 只存储payload字段而非整个userInfo字典
- LocalNotificationService: 移除旧的取消/稍后提醒action按钮配置
- ReminderNotificationCallbacks: 添加onNotificationPayloadReceived静态回调
- IOSNotificationPayloadBridge: 添加setPendingPayload方法
- main.dart: 设置onNotificationPayloadReceived触发ReminderOverlay显示,添加WidgetsBindingObserver处理后台恢复
- CalendarEventDetailScreen: 编辑保存后正确传递刷新信号给日视图
2026-03-20 19:34:06 +08:00
qzl d17f5d78aa refactor: cleanup dead code from reminder system
- Remove permission fallback logic from LocalNotificationService
- Remove unused methods: _scheduleInApp*, _trackFallback, bindInAppReminderHandler
- Remove unused fields: _permissionFallbackTracker, _inAppReminderHandler, _inAppFallbackTimersByEventId, _canDeliverSystemNotification
- Remove unused _showSnoozeOptions from ReminderOverlay
- Remove unused reminderActionExecutor from AuthSessionBootstrapper
- Remove obsolete test files: reminder_permission_fallback_test, reminder_notification_bridge_test, auth_session_bootstrapper_test
- Add native notification grouping (threadIdentifier/groupKey)
2026-03-20 18:53:32 +08:00
qzl 4b29b300da feat(calendar): implement ReminderOverlay and supporting components
- Add ReminderQueueManager for managing notification queue
- Add IOSNotificationPayloadBridge for iOS cold start handling
- Add ReminderOverlay UI component with snooze (5/15 min) and complete actions
- Update main.dart to integrate ReminderOverlay
- LocalNotificationService: remove permission fallback logic, add native grouping
2026-03-20 18:47:50 +08:00
qzl 6e35fff9a4 refactor(calendar): remove deprecated reminder components 2026-03-20 18:42:58 +08:00
qzl 55f3805ee9 fix: resolve navigation-cache regressions and todo UX 2026-03-20 16:45:08 +08:00
qzl f4c07287bc feat: add app lifecycle refresh coordinator 2026-03-20 15:39:44 +08:00
qzl e64b9c670c feat: add todo cache repository and precise invalidation 2026-03-20 15:37:59 +08:00
qzl 8883248968 refactor: decouple calendar screens from route-driven reload 2026-03-20 15:34:44 +08:00
qzl 0476f7f80c feat: switch main navigation to stateful shell tabs 2026-03-20 15:31:08 +08:00
qzl a99973fb96 refactor: merge profile cache into unified cache repository 2026-03-20 15:29:06 +08:00
qzl 1cea877bf1 refactor: wire unified cache and invalidator in di 2026-03-20 15:25:33 +08:00
qzl 632db2b68b feat: implement hybrid cache store with singleflight 2026-03-20 15:23:56 +08:00
qzl 035ca46bd0 feat: add unified cache policy primitives 2026-03-20 15:21:52 +08:00
qzl cbbed29a75 feat: enforce hierarchical back navigation and home-only exit 2026-03-20 15:20:29 +08:00
zl-q d574128815 feat: 实现日历提醒 in-app fallback 机制及通知服务重构 2026-03-20 01:30:34 +08:00
qzl 0661016827 feat(auth): transition from email to phone-based OTP authentication
- Replace Email+Password login with Phone+OTP flow
- Remove RegisterCubit and registration screens (email verification)
- Remove ResetPasswordCubit and reset password screens
- Add phone normalization and international dial code support
- Update LoginCubit with sendCode/resend cooldown logic
- Add new widgets: phone prefix selector, confirm sheet
- Update all auth API endpoints: /otp/send, /phone-session
- Update form inputs: Email -> Phone with E.164 validation
- Update tests for new auth flow
2026-03-19 18:42:05 +08:00
zl-q 12180ff65a feat(apps): 拆分 UI Schema 为多文件结构 2026-03-19 00:51:46 +08:00
zl-q 5def0358ba feat(apps/router): 重构路由系统使用 AppRoutes 常量 2026-03-19 00:51:45 +08:00
qzl 00f37d7e19 feat: 实现日历提醒完整功能(操作执行、通知服务重构、归档)
- 新增 ReminderActionExecutor 处理取消/稍后提醒操作
- 新增 ReminderOutboxStore 本地存储待处理操作
- 重构 LocalNotificationService 支持聚合提醒和交互操作
- 新增 event_color_resolver 工具类统一颜色解析
- 新增 CalendarService.archiveEvent 归档方法
- 增强 ModelTracking 支持缓存命中、推理token和成本追踪
- 添加 qwen3.5-35b-a3b 模型配置
- 更新 AndroidManifest 全屏intent权限
- 补充相关单元测试和文档
2026-03-18 19:12:47 +08:00
qzl 8539f05a66 feat: 增强 HomeScreen 录音交互与 ChatBloc 状态管理
- 新增录音启动延迟处理,解决权限未就绪时的竞态问题
- 实现历史分页滚动位置保持,提升加载体验
- 添加文本输入框点击键盘显示与焦点管理
- 优化 ChatBloc provider 到 MultiBlocProvider 支持
- 修复 ApiException 429 错误详情解析(支持 JSON 字符串 body)
- 改进 LocalNotificationService 精确闹钟权限请求
- 优化 UiSchemaRenderer GridView children 生成
- 支持导航 action 的 replace 参数
- 移除 Agent router 速率限制逻辑(_allow_run_request, _allow_transcribe_request)
- 补充相关单元测试与集成测试
2026-03-18 17:03:22 +08:00
qzl b34697660d feat: 实现 Auth 全局状态机与 401 统一处理机制
- 新增 AuthSessionInvalidated 事件处理 token 失效场景
- ApiInterceptor 新增 authFailureCallback 单飞机制
- AuthBloc 区分 manual logout 与 auto expiry 语义
- 新增 startup recovery fallback 防止启动卡死

feat: 重构 Calendar DayWeek 视图事件布局引擎

- 新增 DayEventLayoutEngine 解耦事件计算与渲染
- 新增 DayTimelineMetrics 统一时间轴常量
- 新增 DayViewScale 支持捏合缩放

feat: 新增 Settings 页面共享 UI 组件

- 新增 BackTitlePageHeader 统一页面 header
- 新增 DetailHeaderActionMenu 统一操作菜单
- 新增 DestructiveActionSheet 统一删除确认
- 新增 AppToggleSwitch 统一开关组件

feat: Chat UI Schema 支持导航操作

- 支持 navigation 类型 action 触发内部路由跳转
- 新增路径验证与参数处理

chore: 更新相关测试覆盖 auth 失效路径
2026-03-18 13:35:25 +08:00
qzl 19981964fb refactor: 移除 LiteLLM proxy 架构,后端直连 Provider API
- 移除 backend/scripts/build_litellm_proxy_config.py
- 简化 LiteLLMService,移除 run_completion_with_cost 方法
- AgentScopeRunner 改为从 LlmFactory 获取 api_base 和 api_key
- 部署配置移除 litellm/litellm-config-job 服务
- Flutter 新增 AuthBootScreen 引导页
- Android 添加通知权限 (POST_NOTIFICATIONS, RECEIVE_BOOT_COMPLETED, SCHEDULE_EXACT_ALARM)
- 优化 LocalNotificationService 调度失败 fallback
- 更新 manifest.json (version 3)
2026-03-17 18:05:49 +08:00
zl-q c26cdbbc27 feat: 添加日历批量操作与客户端时区感知功能,优化前端 UI 交互体验 2026-03-17 00:13:41 +08:00
qzl 4b92772535 feat: 优化前端 UI 组件与交互体验
- 优化日历、待办、消息等页面交互
- 更新 ChatBloc 与 UI Schema 渲染
- 优化联系人、首页、设置页面体验
2026-03-16 16:11:28 +08:00
qzl ab073c88ed feat: 添加 App 检查更新功能
- 前端:设置页面添加检查更新菜单项,从 pubspec.yaml 动态获取版本号
- 后端:新增 /api/v1/app/check-updates 接口,自动扫描 releases 目录对比版本
- 配置:新增 AppVersionSettings,支持通过环境变量配置版本和下载链接
- Docker:添加 releases 目录挂载
2026-03-16 16:09:07 +08:00
qzl 3273d63b23 feat: 重构 Home Screen 视觉设计与消息输入组件
- 新增 Home Screen 视觉设计 token (背景、工具栏、对话区、输入框等)
- 重构首页布局为浮动式底部输入栈结构
- 新增 HomeBackgroundField、HomeFloatingHeader、HomeAttachmentStrip 组件
- 优化 MessageComposer 视觉样式为悬浮 shell 设计
- 添加相关测试用例
2026-03-13 17:25:29 +08:00
qzl a10a2db27a feat: 添加视觉设计语言系统并重构认证页面UI
- 新增 visual_design_language.md 设计规范文档
- 新增 auth 设计 tokens (authBackground, authCard, authInput, feedback 系列等)
- 重构登录/注册/验证码/重置密码页面为新设计系统
- 新增 AuthHeroHeader, AuthSurfaceCard, AuthSection, AuthField, PasswordField 组件
- 重构 AppBanner 和 Toast 支持多类型配置 (info/success/warning/error)
- 后端 AgentScope: 重整 schemas/prompts/tools 作用域, 新增协议文档
- 更新 AGENTS.md 集成视觉设计语言约束
2026-03-13 14:10:13 +08:00
qzl 01c36eb32e refactor: 移除前端 Mock API,新增共享组件,优化认证流程
- 删除 mock_api_client、mock_calendar_service、mock_history_service
- 新增 fixed_length_code_input、link_button、message_composer 共享组件
- 优化登录/注册/密码重置页面使用新组件
- 简化 injection.dart 移除 mock 分支
- 更新 env.dart 配置(BACKEND_URL 替换 API_URL)
- 后端 agentscope 工具和测试更新
- 重构 AGENTS.md 文档结构
- 新增 deploy/ 目录和 protocol 文档
2026-03-12 16:41:45 +08:00
zl-q 7b8865e256 feat: 添加 Agent 步骤事件与图片附件功能
- 新增 stepStarted/stepFinished 事件类型支持
- 前端实现图片附件上传和预览功能
- 后端增强工具结果存储和事件处理
- 完善相关单元测试和集成测试
2026-03-12 09:29:57 +08:00
qzl 18db6c50e7 fix(redis): 修复 Redis 流读取兼容性问题
- 支持 bytes 和 str 类型的 entry_id
- 支持 list 类型响应格式
- 优化 payload 解码处理
2026-03-11 21:33:25 +08:00
qzl 145e3dc615 refactor: 重构 Agent 模块为 AgentScope,删除旧版 CrewAI/LiteLLM 实现 2026-03-11 20:51:56 +08:00
qzl 85b314cf64 feat: 增强日历功能并集成 AgentScope 代理服务 2026-03-11 17:16:11 +08:00
qzl e20e7d2a02 feat: 增强日历功能并集成 AgentScope 代理服务 2026-03-11 15:28:29 +08:00
zl-q e55e445906 feat: 添加好友功能并集成 LiteLLM 代理服务
- 新增好友搜索、添加、好友列表功能
- 集成 LiteLLM 代理服务及多模型定价配置
- 更新 iOS CocoaPods 配置
- 更新 .gitignore 和环境变量配置
2026-03-11 09:14:51 +08:00
qzl 8da9377ed9 chore: 更新配置和环境变量适配云端 Supabase 2026-03-10 17:44:08 +08:00
qzl 5d839192ab fix: API interceptor 增加 token 刷新单飞机制防止并发刷新 2026-03-10 17:43:43 +08:00
qzl f30bfc2006 feat: 设置页面增强,支持用户信息展示和密码修改 2026-03-10 17:43:17 +08:00
zl-q 120df903d2 feat: AG-UI 协议对齐与路由导航功能
- 前端: 添加 SSE 流式支持、stateSnapshot 事件、路由导航工具
- 前端: 实现工具调用审批流程,支持 pending 状态展示
- 后端: Agent 状态管理与会话持久化相关重构
- 文档: 新增 agent-agui-full-alignance 设计文档
- 测试: 补充相关单元测试和集成测试
2026-03-07 17:30:20 +08:00
qzl 5e169251fe refactor(apps): simplify API layer by removing redundant wrapper classes
- Remove ApiClientWrapper and MockApiClientWrapper
- Simplify IApiClient interface
- Update dependency injection configuration
- Optimize calendar service and AG-UI chat models
2026-03-03 10:12:46 +08:00
qzl 9b9b8fcbdd Merge branch 'feature/calendar-create-event' into dev
# Conflicts:
#	apps/lib/features/calendar/ui/screens/calendar_event_detail_screen.dart
2026-03-02 17:29:21 +08:00
qzl 6fb527eb7b fix: 修复日历事件详情页布局问题并添加底部输入框
- 修复 Row 中 Flexible 在无界宽度约束下的布局崩溃问题
- 用 Expanded 包裹内层 Row 提供有界宽度约束
- 添加底部输入框组件(+按钮、输入框、麦克风图标)
- 实现事件详情页动态数据展示
- 添加编辑和删除事件功能
- 添加事件不存在时的错误页面
2026-03-02 17:28:21 +08:00
qzl 51ca78a37a feat(tokens): add semantic color tokens for high-frequency colors
Add design tokens for frequently used hardcoded colors:
- Surface colors: surfaceSecondary (11 uses), surfaceTertiary (9 uses), surfaceInfo (4 uses), surfaceInfoLight (3 uses)
- Border colors: borderSecondary (5 uses), borderTertiary (5 uses), borderQuaternary (5 uses)
- Status colors: success (4 uses), warning (4 uses), error (3 uses)
- Text colors: textSecondary (4 uses)

These tokens will enable migration of hardcoded Color() values in pages.
2026-03-02 16:22:25 +08:00
qzl 3d6ae7695f refactor: 优化日历状态管理与首页输入框,添加API客户端抽象 2026-02-27 18:36:21 +08:00
qzl e4e995854d feat: 实现密码重置功能与用户搜索API,优化注册登录流程
- 新增忘记密码页面与重置密码确认流程(前端+后端)
- 修复注册验证码页登录跳转路由
- 新增用户搜索API(按邮箱查询)
- 简化infra脚本,统一为app.sh
- 补充密码重置与用户API测试覆盖
- 更新runtime文档与AGENTS配置
2026-02-27 15:22:42 +08:00
qzl d635d9a5e0 refactor(frontend): adapt to RESTful API routes 2026-02-26 14:28:58 +08:00
qzl cc7a70d793 fix(auth): correct resend response type and improve error messages 2026-02-26 12:13:50 +08:00
qzl e20b1905cb fix(apps): consolidate FormzInput validators and fix login screen
- Move FormzInput validators to core/form_inputs/form_inputs.dart
- Fix login_screen.dart syntax error (missing 'class' keyword)
- Remove unused _isLoading field
- Fix unnecessary const keywords
- Update login_cubit and register_cubit imports
- Remove duplicate FormzInput definitions from register_cubit
- Add Toast and Banner UI feedback system
- Remove legacy login/register screens (login_code, login_email, login_password, register_step2)
- Remove unused warning_banner widget
- Update tests for new error messages and DI setup
2026-02-25 18:00:02 +08:00
qzl d3bdb3ab4f feat(apps): add router auth protection 2026-02-25 15:25:31 +08:00