|
|
1ec0d80f6c
|
清理冗余文件,更新 Dockerfile 和配置
|
2025-12-14 22:49:00 +08:00 |
|
|
|
dac06d187e
|
更新 playwright_automation 和 screenshots 服务
|
2025-12-14 22:04:05 +08:00 |
|
|
|
a346509a5f
|
同步更新:重构路由、服务模块,更新前端构建
|
2025-12-14 21:47:46 +08:00 |
|
|
|
e01a7b5235
|
删除 UI_REFACTOR_FRONTEND.md
|
2025-12-14 18:24:34 +08:00 |
|
|
|
949ff1e53a
|
删除 UI_REFACTOR_ADMIN.md
|
2025-12-14 18:24:29 +08:00 |
|
|
|
cbddaf810e
|
fix: 直接对iframe内容进行full_page截图
使用iframe.screenshot(full_page=True)来截取iframe内的完整内容。
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-14 16:23:05 +08:00 |
|
|
|
a3497f2921
|
fix: 展开所有可滚动容器以截取完整页面内容
在截图前通过JavaScript展开所有带overflow的容器,确保full_page能够捕获全部内容。
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-14 16:17:51 +08:00 |
|
|
|
94ceb959c7
|
fix: 使用JavaScript展开iframe高度以截取完整内容
在截图前通过JavaScript动态调整iframe及其父容器的高度,使其能够显示全部内容。
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-14 16:11:58 +08:00 |
|
|
|
b408e78c74
|
fix: 改进截图逻辑,直接截取表格元素
尝试截取table.ltable元素来获取完整内容,而不是依赖full_page参数。
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-14 16:08:41 +08:00 |
|
|
|
4400ded86a
|
fix: 修复截图只截取可见区域的问题
改为对iframe内容进行截图而不是主页面,这样full_page=True才能正确截取iframe内的完整内容。
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-14 16:04:36 +08:00 |
|
|
|
4510fbba83
|
fix: 修复截图只能截取区域的问题,改为截取整个网页内容
将 full_page=False 改为 full_page=True,使截图能够捕获完整的网页内容而不仅仅是可见区域。
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-14 15:49:49 +08:00 |
|
|
|
a9c8aac48f
|
fix: 账号页闪烁/浏览类型/截图复制/时区统一
|
2025-12-14 11:30:49 +08:00 |
|
|
|
2ec88eac3b
|
fix(app): refine account progress and screenshots
|
2025-12-14 01:21:31 +08:00 |
|
|
|
8931ad5d7f
|
fix(app): screenshot copy button copies image; add copy link
|
2025-12-14 00:59:02 +08:00 |
|
|
|
b4c7a3eac9
|
fix(app): hide account progress when idle; screenshot uses selected browse_type
|
2025-12-14 00:56:12 +08:00 |
|
|
|
757de96fd9
|
fix(app): allow remark-only edit in accounts
|
2025-12-14 00:38:07 +08:00 |
|
|
|
69443c2de6
|
feat(app): add announcements, feedback, settings (stage 5)
|
2025-12-14 00:27:05 +08:00 |
|
|
|
54cf6fe538
|
feat(app): migrate schedules and screenshots (stage 4)
|
2025-12-14 00:15:19 +08:00 |
|
|
|
9798ed52c3
|
feat(app): migrate /app accounts to Vue SPA (stage 3)
|
2025-12-13 23:56:47 +08:00 |
|
|
|
324e0d614a
|
feat(app): migrate auth pages to Vue SPA (stage 2)
|
2025-12-13 23:30:51 +08:00 |
|
|
|
34f44eed3e
|
feat(app): scaffold Vue3 frontend (stage 1)
|
2025-12-13 22:42:31 +08:00 |
|
|
|
39153cc946
|
docs: confirm frontend refactor decisions
|
2025-12-13 22:32:27 +08:00 |
|
|
|
56d2cadd81
|
docs: frontend UI refactor plan
|
2025-12-13 22:26:28 +08:00 |
|
|
|
6bff5e4d97
|
fix: stats loader and smtp daily reset
|
2025-12-13 22:01:12 +08:00 |
|
|
|
85a60009f3
|
chore(admin): final polish and QA doc
|
2025-12-13 21:46:34 +08:00 |
|
|
|
49bc8b83b1
|
perf(admin): lazy routes and nav badges
|
2025-12-13 21:13:57 +08:00 |
|
|
|
235ba28cc8
|
feat(admin): migrate admin UI to Vue3
|
2025-12-13 20:51:44 +08:00 |
|
|
|
3c31f30ee4
|
docs: admin UI refactor plan
|
2025-12-13 20:51:08 +08:00 |
|
|
|
2bc7dad44c
|
fix: docker-compose挂载database.py
|
2025-12-13 19:01:22 +08:00 |
|
|
|
7015de0055
|
feat: 添加公告功能
|
2025-12-13 18:40:42 +08:00 |
|
|
|
d7d878dc08
|
fix: 内存溢出与任务调度优化
|
2025-12-13 17:40:36 +08:00 |
|
|
|
9e761140c1
|
feat: SMTP配额自动重置(北京时间凌晨0点)
- 添加reset_smtp_daily_quota函数主动重置配额
- 添加定时任务在北京时间00:00自动重置SMTP配额
- 保留被动重置作为备份机制
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-13 04:01:50 +08:00 |
|
|
|
a7976bcdfc
|
fix: SMTP配额重置使用北京时间
- 添加pytz时区支持
- 配额重置日期改为使用北京时间(UTC+8)
- 确保配额在北京时间凌晨0点重置,而不是UTC时间
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-13 03:57:44 +08:00 |
|
|
|
d77595eba0
|
fix: 修复定时任务日志重复打印问题
- 添加配置变化检测,只在首次运行或配置变化时打印日志
- 避免每5秒重复打印相同的定时任务设置日志
- 减少日志噪音,提高日志可读性
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-13 03:38:47 +08:00 |
|
|
|
42cc86e290
|
fix: 修复browser_installer.py语法错误,同步服务器代码
- 修复browser_installer.py顶部错误的import语句
- 移除browser_installer.py中未正确实现的_cleanup_zombie_processes方法
- 恢复playwright_automation.py中的SIGKILL(服务器版本)
- 同步database.py和email_service.py的最新代码
注意:内存占用从50MB增加到142MB是正常的,因为:
1. 4个浏览器Worker线程(按需模式)占用基础内存
2. 新增的清理代码和SIGCHLD处理器占用少量内存
3. 当前内存使用在正常范围内
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-13 03:35:12 +08:00 |
|
Yu Yon
|
b905739515
|
fix: 修复内存泄漏和僵尸进程问题
- 添加SIGCHLD信号处理器自动回收僵尸子进程
- 定期清理函数增加僵尸进程回收
- 增加batch_task_screenshots超时清理(30分钟)
- 增加pending_random_schedules超时清理(2小时)
- 修复playwright_automation.py的_force_cleanup使用SIGTERM+waitpid
- browser_installer.py浏览器检测后添加僵尸进程清理
内存占用从111MB降至53MB,僵尸进程从6个降至0个
|
2025-12-12 23:42:30 +08:00 |
|
Yu Yon
|
352c61fbd4
|
修复添加账号后前端不实时显示的问题
account_update事件处理时判断是否为新账号,新账号则重新渲染整个列表
🤖 Generated with Claude Code
|
2025-12-12 15:54:14 +08:00 |
|
Yu Yon
|
c793999f3c
|
修复添加账号后不实时显示的问题
添加账号成功后通过socket推送account_update事件,前端实时更新列表
🤖 Generated with Claude Code
|
2025-12-12 15:52:12 +08:00 |
|
|
|
512380a80d
|
删除敏感文件,更新.gitignore
删除的文件:
- data/cookies/*.json - 用户登录凭据
- deploy_to_production.sh - 服务器信息
- verify_deployment.sh - 服务器信息
- data/*.backup_* - 数据库备份
- docs/ - 内部文档
- ftp-manager.db - 无用空文件
更新.gitignore防止再次提交
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-12 15:41:33 +08:00 |
|
|
|
90f503518f
|
修复bug和清理调试代码
1. email_service.py: 删除未定义的log_email_send调用(send_email内部已记录日志)
2. app.py: 删除[DEBUG run_task]调试打印语句
3. playwright_automation.py: 删除[调试]诊断日志块
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-12 15:36:36 +08:00 |
|
Yu Yon
|
b15e6f2af0
|
修复高优先级安全和稳定性问题
1. app.py:
- 添加user_semaphores_lock线程锁,修复get_user_semaphore竞态条件
- 将9处裸except:改为except Exception:或具体异常类型
2. database.py:
- 将3处裸except:改为except Exception:
3. email_service.py:
- 添加_smtp_config_lock线程锁
- 修复daily_sent计数竞态条件:获取配置时预增,失败时回退
- _get_available_smtp_config和_get_next_available_smtp_config使用锁保护
🤖 Generated with Claude Code
|
2025-12-12 15:04:58 +08:00 |
|
Yu Yon
|
8b1014b922
|
添加任务自动重试机制
- 任务执行失败(非登录失败)时自动重试,最多重试2次
- 重试间隔5秒,给前端显示状态"等待重试"
- 添加sys模块导入修复
🤖 Generated with Claude Code
|
2025-12-12 13:45:34 +08:00 |
|
Yu Yon
|
affbf80543
|
更新VIP权限对比表,新增随机时间执行、邮件通知、自动备注姓名等功能说明
- 更新VIP会员权限对比表
- 新增基础浏览任务、随机时间执行、邮件通知、自动备注姓名功能对比
- 修正账号管理数量为最多3个
🤖 Generated with Claude Code
|
2025-12-12 11:55:31 +08:00 |
|
|
|
9c298928f3
|
添加自动备注日志
|
2025-12-12 10:48:36 +08:00 |
|
|
|
db956e2487
|
自动获取真实姓名作为账号备注(静默完成)
|
2025-12-12 10:36:47 +08:00 |
|
Yu Yon
|
1072e90070
|
添加定时任务随机时间执行功能;修复手动执行任务不发送邮件通知
|
2025-12-12 10:12:27 +08:00 |
|
|
|
8c8c708ce7
|
fix: 修复send_email参数名错误
使用正确的参数名: to_email, body, html_body
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-11 23:31:22 +08:00 |
|
|
|
264fc9e3f3
|
fix: 修复批次邮件在截图完成后发送
之前邮件在run_task线程结束时发送,但截图是异步的,导致截图还没完成就发送了。
现在改为在截图回调中检测,当所有截图完成时才发送打包邮件。
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-11 23:27:56 +08:00 |
|
|
|
d6fa5b91ea
|
feat: 定时任务截图打包发送邮件
1. 添加批次任务跟踪机制,收集同一定时任务的所有账号截图
2. 等所有账号执行完成后,将截图打包成ZIP发送一封邮件
3. 邮件包含任务执行详情表格和统计信息
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-11 23:21:24 +08:00 |
|
|
|
a3b97683ae
|
fix: 使用容器内可用字体生成验证码
尝试多个字体路径,优先使用Liberation字体
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-11 22:52:39 +08:00 |
|