Summary
The GetTaskLogs RPC does not send tail: true from the frontend LogViewer, unlike FetchLogs (process logs) which does. This means task log queries use ORDER BY id ASC LIMIT N, returning the first N lines instead of the last N.
When a task has more than the limit (default 10k), the user sees the oldest logs and misses the most recent ones — which are typically the most useful for debugging.
Details
- Frontend:
LogViewer.vue sends tail: true for FetchLogs (line 52) but omits it for GetTaskLogs (lines 41-45).
- Backend:
service.py passes request.tail through to LogStore.get_logs() / get_logs_by_prefix(), which already supports tail=True (reverses the ORDER BY to DESC and takes the last N rows).
Fix
Send tail: true in the GetTaskLogs RPC params in LogViewer.vue.
🤖 Generated with Claude Code
Summary
The
GetTaskLogsRPC does not sendtail: truefrom the frontend LogViewer, unlikeFetchLogs(process logs) which does. This means task log queries useORDER BY id ASC LIMIT N, returning the first N lines instead of the last N.When a task has more than the limit (default 10k), the user sees the oldest logs and misses the most recent ones — which are typically the most useful for debugging.
Details
LogViewer.vuesendstail: trueforFetchLogs(line 52) but omits it forGetTaskLogs(lines 41-45).service.pypassesrequest.tailthrough toLogStore.get_logs()/get_logs_by_prefix(), which already supportstail=True(reverses theORDER BYtoDESCand takes the last N rows).Fix
Send
tail: truein theGetTaskLogsRPC params inLogViewer.vue.🤖 Generated with Claude Code