Commit Graph
31 Commits
Author SHA1 Message Date
胡绍康andCopilot c70d2b97dd chore: 代码质量修复 + CI升级
- black 格式化 (1 file)
- isort 排序修复 (30 files, --profile black)
- 升级 actions/checkout v4 → v6 (全部 3 个 workflow)
- 添加 pyproject.toml (black/isort 配置)
- isort CI 命令添加 --profile black 参数
- 114 测试全部通过

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-01 21:52:44 +08:00
胡绍康andClaude Opus 4.6 2aca6d9954 fix: 修复安全问题和错误处理改进
P0 安全修复:
- 添加 IP 信任链验证,防止 X-Forwarded-For 伪造攻击
- 导出验证 token 增加 IP 和 User-Agent 绑定校验
- 改用请求头传递导出 token,避免 URL 泄露

P1 改进:
- 错误响应自动使用正确的 HTTP 状态码(400/500)
- 4xx 错误使用 WARNING 日志级别,5xx 使用 ERROR

P2 文档更新:
- 更新 CLAUDE.md 架构说明,体现 controllers 层
- 添加 TRUSTED_PROXIES 和 PROXY_FIX_ENABLED 配置说明
- 修正登录锁定时长为 5 分钟

P3 工程卫生:
- 清理乱码字符
- 删除意外创建的 nul 文件

测试修复:
- 更新测试以适应新的 HTTP 状态码行为
- 添加测试前清理登录限制记录的逻辑

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 16:11:33 +08:00
胡绍康andClaude Opus 4.6 8738bd1fff refactor: 移除 legacy 依赖,迁移调度器到 services
新增文件:
- services/scheduler.py: 定时任务调度器服务
  - init_scheduler(): 初始化调度器
  - configure_scheduler_jobs(): 配置定时任务
  - scheduler_heartbeat_task(): 心跳任务
  - scheduled_refresh_task(): 定时刷新任务
  - should_autostart_scheduler(): 判断是否自动启动

更新文件:
- app.py: 移除 legacy 导入,使用 middleware 和 services/scheduler
- controllers/settings.py: 使用 services/scheduler 替代 legacy
- web_outlook_app.py: 直接从各模块导出兼容函数,移除 impl 代理

测试修复:
- tests/test_core_features.py: 修复 mock 从 impl 到 graph_service

架构改进:
- 完全移除对 outlook_web.legacy 的运行时依赖
- legacy.py 现仅作为参考保留,不再参与运行时调用

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 12:14:16 +08:00
胡绍康andClaude 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
assast 3d8f2157b9 feat: 分组代理支持 & API优先级回退 & 详细错误弹框
- 分组管理新增 proxy_url 字段,支持 HTTP/SOCKS5 代理
- Graph API 请求(获取邮件/详情/刷新Token/删除)均支持走分组代理
- 获取邮件/删除邮件按 Graph API → IMAP(新) → IMAP(旧) 优先级自动回退
- ProxyError 时跳过 IMAP 回退,避免无意义重试
- 所有方式失败时弹框逐一展示每种 API 的中文失败原因
- 更新 README 文档说明 API 优先级、代理支持、IMAP 删除限制
2026-02-18 21:39:47 +08:00
assast 11092a9e29 导出bug修复 2026-02-08 10:35:09 +08:00
assast 79b97b9685 bugfix 2026-02-08 10:27:54 +08:00
assast 36d785b07f 1 2026-02-08 10:18:54 +08:00
assast ae809e5c99 bugfix 2026-02-08 10:08:23 +08:00
assast c1538ac8a1 1 2026-02-08 09:29:08 +08:00
assast 9eacba823e bugfix 2026-02-08 09:05:09 +08:00
assast 932634dcbc 移动分组+导出bug修复 2026-02-08 08:47:35 +08:00
assast 8104d64b73 删除邮件功能 2026-01-31 18:29:19 +08:00
assast 89b01f423a 新增邮箱标签,备注支持多行 2026-01-31 15:08:22 +08:00
assast d259630f59 修复安全漏洞 2026-01-26 21:58:43 +08:00
assast 3f789021d8 修复IMAP获取垃圾箱报错问题 2026-01-26 14:13:02 +08:00
assast 6e13afacb7 完整报错前端可查 2026-01-26 12:43:42 +08:00
assast dd3c42fee7 添加定时刷新token保活功能 2026-01-25 19:22:58 +08:00
assast ffe06f6ad1 加全局搜索
加编号
加点击当前邮箱复制
2026-01-24 20:07:46 +08:00
assast b8cb87e180 bugfix 2026-01-23 18:30:44 +08:00
assast e459d440aa fix bug 2026-01-23 18:00:03 +08:00
assast 0e488e66a3 修复刷新token时,使用的是环境变量的client信息导致可能clientid信息等不一致导致刷新失败的问题 2026-01-23 17:48:31 +08:00
assast 212f4778ef 全量刷新所有账号 Token,实时进度展示,防止 90 天过期(⭐ 2026-01-23 新增) 2026-01-23 14:37:30 +08:00
assast 0d8c306000 新增查看垃圾箱,界面获取refresh token 功能 2026-01-22 20:16:42 +08:00
assast 12290e6d93 fix 2026-01-21 00:29:15 +08:00
assast 540f4b128d docker 2026-01-21 00:22:46 +08:00
assast ba023d248d docker 2026-01-21 00:04:51 +08:00
assast 90e863d012 增加docker部署方式 2026-01-20 20:40:18 +08:00
luekongbai 9bd31c3820 增加临时邮箱功能 2026-01-13 22:19:12 +08:00
luekongbai 821b4bfd4f 优化布局,增加快捷删除、停用 2026-01-13 21:35:06 +08:00
luekongbai 34c8131069 初始化 2026-01-13 20:23:55 +08:00