Bug Fixes
The dashboard tasks card was silently rendering empty for any user whose row-limit cookie wasn't already set. A shared constant was being imported from a client component into a server component, which Next.js wrapped in an opaque client-reference shim — on the server it became a function instead of the value 10. When the code sliced the task list with that function, it coerced to NaN and returned an empty array.
We moved the four shared constants (TASKS_ROW_COUNT_COOKIE, TASKS_ROW_COUNT_DEFAULT, TASKS_ROW_COUNT_OPTIONS, and the TasksRowCount type) into a server-safe module so both the dashboard RSC and the client selector can import from the same source without crossing the boundary.
Improvements
Clicking a task notification now opens the task details inline (in a side panel) instead of navigating to the full tasks list. This keeps you in context and lets you mark tasks complete or cancel them directly from the notification bell. Error messages from failed actions now surface as toasts so you know if something went wrong.