A role refused registration_info gets a forbidden toast on every Applications visit

Abierto Apto para principiantes
#2,067 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
74/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
node.js, react, typescript
Área
api, frontend

Línea de trabajo

Empieza con src/features/instance/applications/hooks/useSupportsDeploymentSSE.ts y sigue cómo se configura la consulta registration_info, incluidas las opciones de reintento y metadatos. Después lee queryErrorHandler y el tratamiento relacionado de retryUnlessRejected() o de las denegaciones mencionado en el issue. El trabajo estará terminado cuando una persona cuyo rol tenga denegado registration_info ya no reciba solicitudes repetidas ni un toast de Forbidden en cada visita a Applications, mientras que staging siga sin estar disponible cuando no haya una versión.

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

Descripción

Problem

A role whose operations allowlist doesn't include registration_info sees a "forbidden" error toast every time it opens the Applications page.

useStagedDeploymentsAvailable (src/features/instance/applications/hooks/useSupportsDeploymentSSE.ts:34) queries registration_info for every user, with React Query's default three retries. That hook is behind the always-mounted redeploy dialog. Harper's allowlist gate refuses the operation to such a role with a 403. Checked on Harper 5.4.0-beta.2: a role with operations: ["deploy_component"] gets 403 for both registration_info and get_configuration. The query retries three times, and then queryErrorHandler toasts it.

Nothing breaks: without a version, staging isn't offered. The only effect is the noise, and the four requests on every visit.

Fix

Either skip the query for a role that can't call it, or give it retry: retryUnlessRejected() and meta: { refusalIsAnAnswer: true }. That meta flag is added to queryErrorHandler in the private-database-copy PR for get_configuration.

Review-Deferral: edc14630cb6cf70a severity=minor category=reliability

🤖 Generated by Anthropic Claude (Claude Code); posted via @dawsontoth.

Lenguaje dominante
TypeScript
Estrellas
5
Forks
4
Merge medio
1 d 20 h
PR fusionados (30 d)
140

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 HarperFast/studio

Todos los issues de HarperFast/studio

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.