Harden the badge-photo, github-avatar and og/badge.png API routes
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 54/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
Línea de trabajo
Read apps/web/src/pages/api/badge-photo.ts, github-avatar.ts, og/badge.png.ts, and compare badge-photo.ts with signup.ts for the cited error handling and BotID patterns. Then inspect the firewall rate-limit configuration for the avatar and OG routes. Done means the three routes have the requested error handling, badge-photo checks BotID, and both routes have rate limits.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Area: Landing (apps/web) · Priority: P2 · Difficulty: intermediate · Confidence: medium
Evidence
apps/web/src/pages/api/badge-photo.ts:68-77 runs the Drizzle update with no try/catch and no BotID check, unlike signup.ts. github-avatar.ts:20-36 proxies any handle with no rate limit. og/badge.png.ts:55 awaits the DB with no error boundary.
Suggested fix
Wrap DB calls with the same safeSentry and save_failed envelope. Add checkBotId() to badge-photo. Add a firewall rate-limit rule for the avatar and OG routes.
Backlog ID W-17 from the 2026-09-22 read-only audit of this repository at commit 3eef3b4. Line numbers refer to that commit. Confidence marks where a claim rests on a code read only and was not reproduced.
- Lenguaje dominante
- TypeScript
- Estrellas
- 11
- Forks
- 6
- Merge medio
- 12 h
- PR fusionados (30 d)
- 109
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de HackSpain/hackspain26
-
area:app enhancement good first issue P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
HackSpain/hackspain26#294 ·
Los mantenedores suelen responder en 1 día
-
area:app enhancement good first issue P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
HackSpain/hackspain26#287 ·
Los mantenedores suelen responder en 1 día
-
area:app enhancement P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
HackSpain/hackspain26#282 ·
Los mantenedores suelen responder en 1 día
-
area:web enhancement good first issue P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
HackSpain/hackspain26#270 ·
Los mantenedores suelen responder en 1 día
-
a11y area:web P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
HackSpain/hackspain26#264 ·
Los mantenedores suelen responder en 1 día
Todos los issues de HackSpain/hackspain26
Issues similares
-
area:plugins area:security area:skills bug has repro
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
anthropics/claude-code#105911 ·
Los mantenedores suelen responder en 1 día
-
openspec-apply-change skill: when blocked, may select a ready artifact unrelated to missingArtifactsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Fission-AI/OpenSpec#2165 ·
Los mantenedores suelen responder en 1 día
-
🐞 bug 🧐 unconfirmed
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Tencent/tdesign-vue-next#7032 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
gnosis/gnosis_vpn#661 ·
Los mantenedores suelen responder en 1 día
-
content-freshness: staleOwnedContent doc comments still say 'complete receipt' (follow-up to #7912)Abiertotriage:bug-verified
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
Los mantenedores suelen responder en 1 día