Skip to content

Test/infra de testing#18

Closed
Stevenjoelrs wants to merge 77 commits into
Stevenjoelrs:mainfrom
scesi:test/infra-de-testing
Closed

Test/infra de testing#18
Stevenjoelrs wants to merge 77 commits into
Stevenjoelrs:mainfrom
scesi:test/infra-de-testing

Conversation

@Stevenjoelrs

Copy link
Copy Markdown
Owner

No description provided.

- Export ChallengeData and add onSolved callback to ChallengeView
- Replace static terminal apiCache with TTL-based fetchCached and invalidateCache
- Render interactive <ChallengeView /> inside terminal for 'cat challenges/.../*.txt'
- Invalidate challenges and leaderboard cache after flag submission or hint purchase
- Deprecate standalone 'hint' command in favor of interactive ChallengeView
- Fix type definitions for data fetched via fetchCached in commands.tsx
- Restore original non-logged-in routes from dev (landing, signin, signup)
- Convert main dashboard panel into terminal for authenticated users
- Add 'challenges' command to emulate the visual layout of old dashboard
- Remove redundant terminal login/register commands
- Wrapped TerminalOutput with TerminalProvider in dashboard to fix context error
- Fixed TypeScript 'any' lint errors in auth.ts and commands.tsx
- Removed 'login' from the help command and added 'challenges'
- Modified the 'logout' command to reload the window, cleanly redirecting back to login
- Adjusted responsive font size for ASCII logo on landing page
- Modified terminal logout command to send user to the home page instead of login
- Converted rules, scoreboard, and team pages to inline terminal views
- Sidebar clicks now inject commands into the terminal for authenticated users
- Guests are redirected to the signin page when attempting to access restricted views
- Recreated the challenge cards view in CategoryView
- Modified cat command to display CategoryView when targeting a category directory
- Updated sidebar shortcuts to execute cat instead of ls for categories
- Restored Sidebar shortcuts to use ls for categories
- Removed old text-based file listing from ls for category directories
- Reverted cat command to correctly return 'Is a directory' error for category folders
- Replaced neon-green with standard fg and fg-dim colors for the welcome message, prompt, terminal output, and help command to match the clean aesthetic of the original dashboard
Stevenjoelrs and others added 28 commits June 30, 2026 18:40
feat(admin): add announcement input length validation
Seguridad:
- submissions: transacción Serializable en chequeo de duplicado + puntaje
  (envíos concurrentes duplicaban puntos); comparación de flags a tiempo
  constante; validar tipo y longitud de la flag
- submissions/files: los retos bloqueados ahora respetan las condiciones
  de desbloqueo vía helper compartido src/lib/unlock.ts (antes un reto
  desbloqueado seguía rechazando envíos)
- hints: exigir sesión en GET, ventana de juego y saldo del equipo al
  comprar, compra atómica (la concurrente daba 500), ocultar hints de
  retos inactivos
- auth: bcrypt dummy cuando el alias no existe (enumeración por timing),
  fallback a x-real-ip, tope de longitud de contraseña (DoS bcrypt)
- register: validación de tipos y formato, alias con charset estricto
  (suplantación con espacios), contraseña 6-128, carrera P2002 → 409
- teams: creación atómica (equipo + líder), guard TOCTOU contra unirse a
  dos equipos a la vez, validación de tipos
- files: sanitizar filename en Content-Disposition (inyección de headers)
- middleware: tope al mapa del rate limiter (agotamiento de memoria vía
  X-Forwarded-For falsificado)
- admin: points/costos como enteros no negativos, links solo http(s)
  (bloquea javascript:), límite de longitud en anuncios, validar fechas
- next.config: cabeceras de seguridad y quitar X-Powered-By

Rendimiento:
- challenges: query agrupada de condiciones de desbloqueo (antes N+1)
- leaderboard: contar miembros con _count en vez de cargar las filas
- cache: misses concurrentes comparten un solo fetch (anti-stampede)
… bcrypt worker to prevent resource exhaustion.
New additions and security enhancements update
… session validation, and administrative route guards.
@Stevenjoelrs Stevenjoelrs self-assigned this Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants