Skip to content

Commit ba8a1d1

Browse files
khaliqgantclaude
andcommitted
fix: guard /api/data endpoint against null and add missing users field
- /api/data now returns a valid empty structure instead of null when team data is temporarily unavailable - Added missing users field to fallback structures for consistency with the actual getAllData() return shape Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 7c19d2c commit ba8a1d1

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

packages/dashboard-server/src/server.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2460,7 +2460,7 @@ export async function startDashboard(
24602460

24612461
// If team data is temporarily unavailable, send empty-but-valid structure
24622462
// so the client at least renders (better than sending nothing on first connect)
2463-
const safeData = data ?? { agents: [], messages: [], activity: [], sessions: [], summaries: [] };
2463+
const safeData = data ?? { agents: [], users: [], messages: [], activity: [], sessions: [], summaries: [] };
24642464
const payload = JSON.stringify(safeData);
24652465

24662466
// Guard against empty/invalid payloads
@@ -3397,7 +3397,10 @@ export async function startDashboard(
33973397
});
33983398

33993399
app.get('/api/data', (req, res) => {
3400-
getAllData().then((data) => res.json(data)).catch((err) => {
3400+
getAllData().then((data) => {
3401+
const safeData = data ?? { agents: [], users: [], messages: [], activity: [], sessions: [], summaries: [] };
3402+
res.json(safeData);
3403+
}).catch((err) => {
34013404
console.error('Failed to fetch dashboard data', err);
34023405
res.status(500).json({ error: 'Failed to load data' });
34033406
});

0 commit comments

Comments
 (0)