胡绍康
1f8e09b77e
fix: 账号列窄宽度自动紧凑显示
2026-03-07 22:57:27 +08:00
胡绍康 and Copilot
9085f99ed3
fix: reset push cursor on re-enable + add push tag UI
...
- toggle_telegram_push: reset cursor to NOW when transitioning 0→1
(idempotent when already enabled, prevents historical email flood)
- Add '🔔 推送' tag to account cards when push is enabled
- Tag is clickable to disable push (removes tag)
- Add .tg-push-tag CSS (Telegram blue #0088cc)
- Add test T-12b: verify re-enable resets cursor
- Update BUG-00007 doc with BUG-TG-005
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-05 16:42:27 +08:00
胡绍康 and Copilot
2326410067
feat: Telegram 实时推送功能(TODO-00007)
...
P0 核心功能:
- DB Schema v3→v4:accounts 表新增 telegram_push_enabled、telegram_last_checked_at 列
- Repository:toggle_telegram_push、update_telegram_cursor、get_telegram_push_accounts
- Service:telegram_push.py — Graph/IMAP 新邮件抓取 + Telegram Bot API 推送
- Scheduler:telegram_push_job 定时轮询(默认 600s,可配置 60-3600s)
- Controller/Route:POST /api/accounts/<id>/telegram-toggle、settings GET/PUT 扩展
- Frontend:账号卡片🔔 推送开关、设置页 Telegram 配置区
P1 增强功能:
- POST /api/settings/telegram-test 发送测试消息端点
- 保存 telegram_poll_interval 时动态重调度(无需重启)
- accounts API 返回 telegram_push_enabled 字段
测试:33 项 Telegram 推送测试全部通过,202 项总测试零回归
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-05 09:23:04 +08:00
胡绍康 and Claude Opus 4.6
64d8a6c357
feat(multi-mailbox): 实现多邮箱统一管理功能(PRD-00005)
...
核心变更:
- 数据库:Schema v3,accounts 表新增 account_type/provider/imap_host/imap_port/imap_password 字段
- 后端:新增通用 IMAP 服务(imap_generic.py)与邮箱提供商配置(providers.py)
- 导入:支持 Outlook/QQ/163/Gmail/自定义 IMAP 多格式批量导入,兼容注释行与导出格式
- 导出:按邮箱类型分组导出,保留 provider 信息便于重新导入
- 邮件读取:IMAP 账号走通用 IMAP 服务,Outlook 保持原 Graph/XOAUTH2 链路
- 验证码提取:IMAP 账号通过 IMAP 获取邮件详情后提取
- 安全约束:IMAP 账号禁用远程删除,敏感字段(imap_password)加密存储
- 前端:新增邮箱类型下拉、自定义 IMAP 配置区、provider 标签显示
- 调度器:定时刷新仅处理 Outlook 账号(IMAP 无 OAuth token 刷新语义)
- 日志:配置 outlook_web 命名空间日志输出到 stderr
技术细节:
- 保持 Outlook 旧格式完全兼容(四段式:email----password----client_id----refresh_token)
- IMAP 账号使用空字符串占位 client_id/refresh_token(满足 DB NOT NULL 约束)
- 支持导出格式智能识别(5 段 custom、3 段 provider、2 段配合输入框)
- 前端 DOMPurify 未加载时回退为基本 HTML 过滤(CDN 不可达场景)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 22:54:39 +08:00
胡绍康 and Claude Opus 4.6
f36d84c1b1
feat: 在前端侧边栏添加 GitHub 仓库链接
...
- 在侧边栏底部添加 GitHub 图标按钮
- 点击后在新标签页打开项目仓库
- 添加蓝色主题样式,与界面风格统一
- 支持响应式设计,移动端适配
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-01 21:41:24 +08:00
胡绍康 and Claude Opus 4.6
39854520e6
chore: 准备开源发布 - 清理项目文件
...
- 更新 .gitignore,忽略所有文档和临时文件
- 删除迁移痕迹文件(AI提示词、PRD文档等)
- 更新 README.md,移除截图引用
- 只保留源代码用于开源发布
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-01 20:41:51 +08:00
胡绍康
20aa93be22
chore(release): v1.1.0
2026-02-27 17:04:20 +08:00
胡绍康 and Claude Opus 4.6
0ab50db85f
feat: 实现可调整布局系统
...
- 新增布局管理器支持拖拽调整面板宽度
- 新增状态管理器实现布局持久化
- 重构前端页面结构优化四栏式布局
- 新增 Jest 测试框架和完整测试用例
- 完善项目文档(PRD/FD/TDD/TODO/LOG)
- 清理 Python 缓存文件并更新 .gitignore
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-27 14:49:36 +08:00
胡绍康 and Claude Opus 4.6
66d9b9749b
feat: 批量操作与自动化增强 - 全选/复制验证码/自动轮询
...
功能实现:
- 全选功能:跨分组保持选中状态,使用全局 Set 存储
- 验证码提取:支持 Graph API → IMAP 回退策略
- 自动轮询:新邮件通知、红点提示、连续错误自动停止
BUG 修复 (BUG-001 ~ BUG-008):
- Toast 通知位置移至右下角
- 切换分组时保持全选状态
- 添加批量删除邮箱功能
- 验证码提取支持 IMAP 回退
- 修复轮询开关类型不一致 (boolean vs string)
- 完善轮询通知内容与红点位置
- 轮询次数校验改为 0-100 (0 表示持续)
- 复制按钮添加加载状态与反馈
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-24 21:03:53 +08:00
胡绍康 and Claude Opus 4.6
192240436d
refactor: 模块化架构重构 & 完善测试与文档体系
...
- 架构重构:拆分为 routes/services/repositories/security 分层结构
- 新增测试:添加完整的单元测试套件(烟雾测试/核心功能/错误处理等)
- 完善文档:添加开发者指南、运行验证、回归清单、性能基线等文档
- 前后端分离:静态资源独立,模板组件化
- CI/CD:添加 GitHub Actions 自动化测试
- Docker 优化:添加健康检查,修复调度器启动问题
- 配置增强:支持 SCHEDULER_AUTOSTART 环境变量
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 18:54:16 +08:00