Skip to content

恢復分頁 TUI 並修正鍵盤選取捲動 #104

Description

@0xroylee

daemon-tui-r1-01 — 恢復分頁 TUI 並修正鍵盤選取捲動

Plan: sha256:91bd91c404960e3df9294d7d0bbc45ebf5b22275ded6a661e01900e383a54f00
Cycle: 2026-W37
Priority: 1
Risk: medium
Token ceiling: 12000

Goal

以 roc-it daemon 在前景同時執行 scheduler 與 Welcome、Tasks、Memories、Token Usage 四分頁 TUI,支援登入引導、任務監看、已存上下文及目前週期用量,退出時一併停止。

Problem

現有 tui 只開啟任務看板,沒有歡迎頁或共用分頁導覽。 原任務 #95 的實作被獨立 Review 拒絕,因為長列表中切換鍵盤選取會重設捲動,令選中任務離開畫面。

Desired outcome

roc-it tui 開啟歡迎頁,使用者可切換到任務頁;task board 仍直接開啟純監看的任務頁。 長列表中以 J/K 或上下方向鍵切換選取時,選中的卡片保持可見。

Scope

  • 沿用現有終端 session 與看板 renderer,建立可加入 Memories 和 Token Usage 的分頁導覽;本項先交付 Welcome 與 Tasks。
  • 參考提供的截圖,以頂部分頁、突出提醒區塊、清楚邊框與留白呈現終端介面。
  • 保留任務階段、最近已記錄活動、受阻原因、驗收結果及 Issue/PR 詳情;提供鍵盤與滑鼠分頁切換、刷新和窄視窗布局。
  • 從 sourceCommit 還原已修正並經本地檢查的完整 Welcome/Tasks 實作;核對現有主分支並由 Roc 對最終 commit 重新進行獨立 Review。
  • 只在選中卡片超出可視範圍時調整捲動;保留 PgUp/PgDn 手動翻頁、滑鼠點選及列表首尾循環選取。

Non-goals

  • 啟動 scheduler、任務啟停或重試操作。
  • 網頁介面、完整配色主題系統或像素級還原截圖。

Acceptance criteria

  • tui 預設顯示 Welcome;task board 直接顯示 Tasks,兩者均不啟動執行。
  • 沒有 Roc 設定或 GitHub 登入時仍可開啟 Welcome,顯示待設定狀態而非退出。
  • 切換分頁或縮放視窗不遺失選中任務;GitHub 刷新失敗保留上一份資料並標示過期或錯誤。
  • 原有 task board 的非 TTY 輸出仍可使用;退出或終端錯誤後恢復終端狀態。
  • 在 80×24 和 40×24 終端顯示 12 個任務,連按六次 J 後第七個任務及其狀態保持可見;寬版多欄布局同樣成立。
  • 翻頁後再使用 J/K 或上下方向鍵,以及從首項/末項循環選取時,選中卡片重新可見;手動翻頁本身不被強制拉回選取位置。

Validation

  • 執行 bun run check。
  • 以終端 I/O fixtures 驗證導覽、任務詳情、縮放、刷新失敗及終端恢復;手動檢查 80 欄與窄視窗。
  • 執行 bun test test/cli/task-board-session.test.ts test/cli/task-board-renderer.test.ts test/cli/tui-renderer.test.ts test/cli/help.test.ts,驗證 40、80、120 欄下的長列表、翻頁後選取、箭頭鍵、首尾循環及滑鼠命中位置。

Dependencies

  • None

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions