← Back to task

Commit ce8994a9

commit ce8994a962f36f0d6d7d6e4c9054a97f1d96f9aa
Author: Coder Agent <coder@agents.omni>
Date:   Wed Feb 18 14:07:49 2026

    Limit recent-activity polling to 20 tasks
    
    The recentActivityNewHandler filters tasks by updatedAt > sinceTime,
    but on first load since=0 (epoch), so ALL tasks match. Add take 20
    to cap the result count.
    
    Task-Id: t-641

diff --git a/Omni/Task/Web/Handlers.hs b/Omni/Task/Web/Handlers.hs
index 39819884..fc391b31 100644
--- a/Omni/Task/Web/Handlers.hs
+++ b/Omni/Task/Web/Handlers.hs
@@ -396,7 +396,7 @@ server =
       allTasks <- liftIO TaskCore.loadTasks
       let sinceTime = maybe (posixSecondsToUTCTime 0) (posixSecondsToUTCTime <. fromIntegral) maybeSince
           sortedTasks = List.sortBy (flip compare `on` TaskCore.taskUpdatedAt) allTasks
-          newTasks = filter (\t -> TaskCore.taskUpdatedAt t > sinceTime) sortedTasks
+          newTasks = take 20 <| filter (\t -> TaskCore.taskUpdatedAt t > sinceTime) sortedTasks
           newestTs = maybe maybeSince (Just <. taskToUnixTs) (head newTasks)
       pure (RecentActivityNewPartial newTasks newestTs)