Usage-limit banner hides the snooze action when snooze and auto-resume are both armed
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- react, typescript
- Área
- frontend
Línea de trabajo
Empieza con apps/web/src/components/chat/UsageLimitRecoveryBanner.tsx y compara su estado combinado de snooze y reanudación automática con apps/mobile/src/features/threads/UsageLimitRecoveryCard.tsx. Comprueba cómo el banner web calcula snoozed en función de snoozedUntil y la hora de restablecimiento. Se considera terminado cuando el estado combinado ofrece la acción del estado de snooze y, una vez pasada la hora de reanudación, el banner vuelve a ofrecer «Snooze until reset».
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Honest context
This is a follow up to #21384, which was closed as not planned. That closing was about the bigger ask (per-thread snooze and resume choices carrying over to later limits). I accept that part and will take it to Ideas if I want it.
This issue is only about the banner itself. Julius looked at the screenshot below and said the banner should have a snooze button as well, and that it looks like a bug. So I am filing this as a separate, narrow bug.
What the screenshot shows
A thread hit the Claude 5-hour usage limit. The banner reads "Usage limit reached, Resets 10/19/2026, 8:50:00 AM" and shows only "Cancel auto-resume". There is no "Snooze until reset" button and no "Wake now" button, even though the thread has both snooze and resume armed for this reset.

Why this is a bug, from the code
In apps/web/src/components/chat/UsageLimitRecoveryBanner.tsx, "Cancel auto-resume" showing means scheduled is true. The Snooze button renders only when snoozed is false, so its absence means the banner computed snoozed as true: the thread has both snooze and resume armed for this reset. In that combined state the web banner offers nothing for the snooze half.
Mobile disagrees with web here. The same state in apps/mobile/src/features/threads/UsageLimitRecoveryCard.tsx renders a "Wake now" button, so web is the inconsistent one.
On top of that, the snoozed check compares snoozedUntil to the reset time with no clock check. Timer wakes never clear snoozedUntil on the server, so after the reset passes the banner can keep treating the thread as snoozed and the button never comes back for that cycle.
Expected
When both snooze and resume are armed, the banner should still show a snooze state action (matching mobile's "Wake now"), and once the wake time has passed it should stop treating the thread as snoozed so "Snooze until reset" is offered again.
- Lenguaje dominante
- TypeScript
- Estrellas
- 24.8k
- Forks
- 6.4k
- Merge medio
- 10 h 8 min
- PR fusionados (30 d)
- 323
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la 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 pingdotgg/t3code
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
[Bug]: open project shortcutAbiertobug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
Todos los issues de pingdotgg/t3code
Issues similares
-
area: app type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
ExpidetGames/code-reviewer#585 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 83/100
module-federation/core#5205 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
LanternOps/breeze#9392 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
engine-rs P3 review-deferral wasm
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
maniator/verticopolis#1154 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día