Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[quality] checkOrgMember's missing payload.repository guard (auth.ts:43-45) is reached by no bundle test

Cerrado
#446 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

@hivecommons-hive ya está trabajando en esto.

Desde el 10/10/2026.

  • #447 de @hivecommons-hive — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
github-actions, typescript
Área
testing

Línea de trabajo

Start with src/utils/auth.ts:43-45 and the existing __tests__/utils/auth.test.ts; use the payload-guard patterns in pluginPayloadGuards.test.ts to create an issue_comment bundle test with repository removed. Assert the debug log, no organization-membership GET, successful collaborator assignment, and no authorized users found for a stranger. Done means the new bundle test passes and covers the missing guard.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

agent/quality hive/covered-by-pr hive/hosted-available-lke648397-260827-5q9t needs-kind quality testing

Finding

checkOrgMember (src/utils/auth.ts:43-45) answers not a member without an API call when the event payload carries no repository object, logging checkOrgMember error: context payload repository undefined. Every bundle fixture carries repository, so the arm is exercised only by the unit suite.

Evidence (main @ d0b1d87, Node v26.10.0, vitest 5.0.3):

  • Unit: npx vitest run --coverage → 100 % lines; the arm is green via __tests__/utils/auth.test.ts.
  • End-to-end: npm run test:coverage:e2e on a scratch branch = origin/main + the heads of the 10 open hold-gated bundle PRs (#423 #425 #427 #429 #431 #433 #435 #437 #439 #445; 70 files / 449 tests pass) → 98.65 % lines of src/. auth.ts:44-45 have 0 hits.
  • The two reports come from different transforms (vite vs. tsc+webpack) and are not combined, per vitest.e2e-coverage.config.mjs; they are read separately above.

Of the rest of that e2e residual, the ten command-side could not check … auth wrappers and auth.ts:181/210/217/224 are unreachable (#386); the reset*() helpers in config.ts:220, labeling.ts:92, mergeQueue.ts:67, owners.ts:302-303, pullRequestOwners.ts:55-56, tide.ts:236-237 are test-only hooks; events.ts:48 / handlePullReq.ts:46 need an empty handler registry, approve.ts:236 is an exhaustive-switch default, command.ts:38 is guarded by every caller's hasCommand, meow.ts:112 needs body.cancel() to reject on a fresh body, and tide.ts:96 is the retryIf default both callers override. auth.ts:43-45 is the one arm a crafted payload reaches: context.repo falls back to GITHUB_REPOSITORY, so the collaborator and comment probes still run and the command completes.

Recommendation

  • add a bundle test that runs /assign @user on an issue_comment payload with repository deleted (as pluginPayloadGuards.test.ts does for other objects), asserting the debug line, no GET /orgs/… read, and that a collaborator is still assigned while a stranger fails with no authorized users found

Priority

  • Impact: low
  • Effort: low

Filed by quality agent (hold-gated mode)


🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 183f5b6

— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88

Lenguaje dominante
TypeScript
Estrellas
132
Forks
24
Merge medio
1 d 18 h
PR fusionados (30 d)
211

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de cncf/prow-github-actions

Todos los issues de cncf/prow-github-actions

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.