feat: show rejoin link when bot is already in a fight

- Track active fight IDs per bot in orchestrator (Set → Map)
- Return fightId in "already in fight" error responses (409)
- Frontend shows "REJOIN FIGHT" link instead of generic error

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-09 09:27:48 +00:00
co-authored by Claude Opus 4.6
parent 64273cf145
commit e31d49898b
5 changed files with 49 additions and 21 deletions
+3 -2
View File
@@ -31,9 +31,10 @@ queueRouter.post('/join/:botId', async (c) => {
try {
const fightId = await joinQueue(botId)
return c.json({ fightId, message: 'Matched! Fight starting.' })
} catch (err) {
} catch (err: any) {
const message = err instanceof Error ? err.message : 'Queue error'
return c.json({ error: message }, 500)
const status = message.includes('already in a fight') ? 409 : 500
return c.json({ error: message, fightId: err?.fightId || undefined }, status)
}
})