const termContainer = document.getElementById('terminal-container');
function show(page) {
+ stopPickerRefresh();
loginPage.style.display = 'none';
pickerPage.style.display = 'none';
terminalPage.style.display = 'none';
if (page === 'login') { loginPage.style.display = 'flex'; passwordInput.focus(); }
- else if (page === 'picker') pickerPage.style.display = 'flex';
+ else if (page === 'picker') { pickerPage.style.display = 'flex'; startPickerRefresh(); }
else if (page === 'terminal') {
terminalPage.style.display = 'flex';
// 显示后重新 fit 并聚焦,避免重连后需要先按一次回车才能输入
await renderTasks();
}
+ // 列表页自动刷新:进入时启动,离开/退出时停止
+ let pickerTimer = null;
+ let pickerRefreshing = false;
+ function startPickerRefresh() {
+ stopPickerRefresh();
+ pickerTimer = setInterval(refreshTasks, 5000);
+ }
+ function stopPickerRefresh() {
+ if (pickerTimer) { clearInterval(pickerTimer); pickerTimer = null; }
+ }
+ async function refreshTasks() {
+ if (pickerRefreshing) return;
+ pickerRefreshing = true;
+ try { await renderTasks(); } catch (e) { console.warn('refreshTasks failed', e); }
+ finally { pickerRefreshing = false; }
+ }
+
let showAllTasks = false;
async function renderTasks() {