ukiuni accepted merge request !459: Hide completed sprint sections: filter all-done todos and empty sprint bars at fRat / fRat

ukiuni
2026-03-31T10:59:18Z

When all todos above a sprint bar are 100% complete, both the completed todos and the sprint bar are now hidden from the active view.

Server: When no not-done todos exist, return empty for the active view (Group.ts, Todos.ts) so completed todos don't leak through.

Client: Filter out sprint bars whose preceding section has no todos (TodoBox.tsx), hiding bars for completed/empty sections.

E2E test: sprint-completed-hide.test.ts verifies the full scenario.

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com