Description 1. Duplicate useEffect in DashboardPage
File: apps/frontend/src/pages/dashboard/DashboardPage.tsx
Lines: 86–90 and 100–104
Issue: Both effects set selectedWorkspaceId when workspaces loads; redundant and can cause extra renders.
Fix: Remove the duplicate effect (lines 100–104).
2. Direct fetch in DashboardLayout
File: apps/frontend/src/components/layout/DashboardLayout.tsx
Lines: 43–52
Issue: Uses raw fetch for /api/auth/me instead of apiFetch; token handling may be inconsistent with the rest of the app.
Fix: Replace with apiFetch for consistent auth headers and error handling.
3. Redis connection per broadcast (optional / lower priority)
File: api/app/app/websocket/manager.py
Issue: broadcast_to_board creates a new Redis client and closes it each time; can be inefficient under load.
Fix: Consider a shared Redis client or connection pool for publish operations.
Reactions are currently unavailable
You can’t perform that action at this time.
1. Duplicate
useEffectin DashboardPageapps/frontend/src/pages/dashboard/DashboardPage.tsxselectedWorkspaceIdwhenworkspacesloads; redundant and can cause extra renders.2. Direct
fetchin DashboardLayoutapps/frontend/src/components/layout/DashboardLayout.tsxfetchfor/api/auth/meinstead ofapiFetch; token handling may be inconsistent with the rest of the app.apiFetchfor consistent auth headers and error handling.3. Redis connection per broadcast (optional / lower priority)
api/app/app/websocket/manager.pybroadcast_to_boardcreates a new Redis client and closes it each time; can be inefficient under load.