fix: 末尾频道快照 + h-skip 累加 + 清理死代码
部署到群晖 / deploy (push) Successful in 3m19s

- 补 download_all_chat 末尾 snapshot + reset,修复最后频道永远卡「🚀下载中」
- h-skip 改为跨频道累加,解决切频道视觉归零
- 清理前端 currentFilter 死变量 / download_stat 无意义三元

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
yuming
2026-04-24 20:28:08 +08:00
parent 8de92095f7
commit c85d0b726d
3 changed files with 13 additions and 7 deletions
+2 -3
View File
@@ -236,9 +236,8 @@ def clear_skipped_message(chat_id: str, message_id: int):
def remove_download_entry(chat_id, message_id):
"""从下载结果中移除条目,使其不再显示在正在下载列表"""
chat_key = chat_id if not isinstance(chat_id, str) else chat_id
if chat_key in _download_result and message_id in _download_result[chat_key]:
del _download_result[chat_key][message_id]
if chat_id in _download_result and message_id in _download_result[chat_id]:
del _download_result[chat_id][message_id]
async def update_download_status(
+5 -4
View File
@@ -1115,8 +1115,6 @@
}
// ── 加载配置 ──
let currentFilter = '';
function parseFilterDisplay(filter) {
if (!filter) return '';
const startM = filter.match(/message_date\s*>=\s*(\d{4}-\d{2}-\d{2})/);
@@ -1144,7 +1142,6 @@
const el = document.getElementById('cfg-path');
el.textContent = p; el.title = p;
document.getElementById('path-input').value = d.save_path || '';
currentFilter = d.download_filter || '';
}).catch(() => {});
}
@@ -1587,7 +1584,11 @@
}).catch(() => {});
fetch('/api/task_progress').then(r => r.json()).then(p => {
document.getElementById('h-skip').textContent = p.skipped_files || 0;
// h-skip 要跨频道累加:本次运行里已完成频道的 skip 汇总 + 当前频道实时的 skipped_files
// 否则切频道时 reset_task_progress 会把计数清零,视觉上会「跳过数突然归零」
const completed = Array.isArray(p.completed_chats) ? p.completed_chats : [];
const completedSkip = completed.reduce((s, c) => s + (c.skip || 0), 0);
document.getElementById('h-skip').textContent = completedSkip + (p.skipped_files || 0);
renderTaskQueue(p);
}).catch(() => {});