Commit Graph

171 Commits

Author SHA1 Message Date
qzl c592cc7854 feat(apps): 重构 UI 架构为 presentation 层并新增 l10n 国际化支持 2026-03-27 14:05:03 +08:00
qzl 5900993ee7 refactor: unify storage config keys and refresh local dev setup 2026-03-26 13:25:25 +08:00
qzl 96fc4a1e77 feat: 支持 agent 运行取消功能 2026-03-25 18:33:25 +08:00
qzl d22ded21f8 refactor: 重构 schemas 结构,统一枚举定义 2026-03-25 12:36:31 +08:00
qzl 389f5248fc feat: 统一自动化任务调度配置并增强聊天流恢复 2026-03-24 18:19:33 +08:00
qzl 23359c2d01 feat: 添加自动化任务(automation_jobs)功能模块 2026-03-24 12:38:11 +08:00
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 fcf98b1142 feat(apps): refine login consent and calendar day/month UX 2026-03-20 19:00:24 +08:00
qzl 2e94908eaa merge: integrate feature/reminder-overlay into dev 2026-03-20 18:59:19 +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 42c2fbc8f3 feat(ios): write notification payload to UserDefaults on tap 2026-03-20 18:48:22 +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 06026530dd feat(ios): store notification payload in UserDefaults on tap 2026-03-20 18:43:53 +08:00
qzl 6e35fff9a4 refactor(calendar): remove deprecated reminder components 2026-03-20 18:42:58 +08:00
qzl af38ca2369 feat(apps): integrate IOSNotificationPayloadBridge for cold start reminder handling
- Create IOSNotificationPayloadBridge instance to check pending payloads on startup
- If pending payload exists, enqueue to ReminderQueueManager and show ReminderOverlay
- Convert LinksyApp to StatefulWidget to manage ReminderOverlay lifecycle
- Remove dead code: unused reminderForegroundPresenter and non-existent bindInAppReminderHandler
2026-03-20 18:36:44 +08:00
qzl 54f5cb2b29 refactor(notifications): remove permission fallback and add native grouping 2026-03-20 18:33:10 +08:00
qzl 15b0daef1a feat(calendar): add ReminderOverlay UI component
- Full-screen white background with title (headlineSmall) and current time (titleLarge HH:mm format)
- Bottom two buttons: 稍后提醒 (outlined) and 完成
- 稍后提醒 shows Overlay dropdown with 5分钟/15分钟 options
- 完成 triggers onArchive + dequeueCurrent + onComplete
2026-03-20 18:29:11 +08:00
qzl 454175691e feat(notifications): add IOSNotificationPayloadBridge for iOS cold start payload 2026-03-20 18:27:17 +08:00
qzl 8ac22c97c2 feat(calendar): add ReminderQueueManager for handling reminder queue 2026-03-20 18:26:11 +08:00
qzl 55f3805ee9 fix: resolve navigation-cache regressions and todo UX 2026-03-20 16:45:08 +08:00
qzl 3f1858d733 docs: finalize navigation decoupling and unified cache rollout 2026-03-20 15:46:24 +08:00
qzl 20f3285244 fix: prioritize realtime reminder archive with cold-start fallback 2026-03-20 15:41:48 +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
qzl fbf15bc937 refactor(todo): 移除 due_at 字段,改用 order 字段管理象限内顺序 2026-03-20 11:09:38 +08:00
zl-q d574128815 feat: 实现日历提醒 in-app fallback 机制及通知服务重构 2026-03-20 01:30:34 +08:00
qzl 7fd536e976 refactor: finalize agent schemas and profile model
- Remove deprecated calendar UI tests
- Update profile model with phone field support
- Update agent schemas with runtime_models and forwarded_props
- Update system_agent with new agent configuration
2026-03-19 18:43:35 +08:00
qzl 524b91f454 docs: update AGENTS.md with new guidelines
- Add ui-ux-pro-max skill reference
- Add keyboard overlay behavior rules for Flutter
- Update testing strategy to prioritize high-regression flows
- Add copy priority rules for auth and form pages
- Update minimal interface copy guidelines
2026-03-19 18:43:23 +08:00
qzl 8d4a14150b feat(apps): update UI screens and shared components
- Update home screen with new composer and interactions
- Update settings screens with new profile flow
- Update calendar share dialog
- Update contacts screen
- Add new shared widgets: confirm_sheet, phone_prefix_selector
- Add new formatters: phone_display_formatter
- Update tests for modified components
2026-03-19 18:43:08 +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 636b37ee5a test(apps): 添加 UI Schema 单元测试 2026-03-19 00:52:23 +08:00
zl-q 9219e8d047 test(apps): 更新测试文件适配路由重构 2026-03-19 00:52:02 +08:00
zl-q 21d7189d22 docs(apps): 添加 Home 首页消息加载与滚动规则 2026-03-19 00:52:02 +08:00
zl-q 29a4ea5294 feat(apps): 更新消息邀请详情和认证流程路由 2026-03-19 00:51:58 +08:00
zl-q 81cbc14219 feat(apps/chat): 新增 UI Schema 导航和路由导航工具 2026-03-19 00:51:57 +08:00
zl-q bfc3096199 feat(apps): 新增 ErrorRetrySurface 和 FullScreenLoading 通用组件 2026-03-19 00:51:56 +08:00
zl-q 82a7d594bd feat(apps/todo): 新增 TodoEditScreen 编辑功能 2026-03-19 00:51:52 +08:00
zl-q 039e8b73d6 feat(apps/home): 新增 HomeScreen 录音交互与导航组件 2026-03-19 00:51:52 +08:00
zl-q 14ccf2cb28 feat(apps/calendar): 新增日历事件创建/编辑/分享功能 2026-03-19 00:51:51 +08:00
zl-q adccecd691 feat(apps/ios): 添加麦克风权限描述 2026-03-19 00:51:46 +08:00
zl-q 12180ff65a feat(apps): 拆分 UI Schema 为多文件结构 2026-03-19 00:51:46 +08:00