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

Treat a stream that ends without [DONE] as an error

Cerrado Apto para principiantes
#182 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

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

Línea de trabajo

Empieza en packages/widget/src/api/client.ts, en el bucle de lectura y su resultado actual { done: true }, y luego revisa packages/widget/tests/api/client.test.ts y el helper mockChatStream de tests/helpers/stream.ts. Añade cobertura para los streams que terminan con y sin [DONE]; done parece indicar que el caso completado sigue teniendo éxito, un stream incompleto produce { error: 'network' } y la gestión de los tiempos de espera permanece intacta. Añade el changeset de tipo patch solicitado para @chatcops/widget.

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

Descripción

bug good first issue hacktoberfest widget

All three server adapters end a reply with data: [DONE]. The widget's client treats the end of the stream as success either way: after the read loop it yields { done: true } (packages/widget/src/api/client.ts, lines 129 and 130). When a proxy or the server cuts the connection mid-reply, the visitor gets a half answer with no error and no Retry button.

What to do

  • If the stream ends without a [DONE] line, yield { error: 'network' } instead of { done: true }.
  • A [DONE] that arrives keeps working as today, and so does the timeout handling.

Acceptance criteria

  • Tests in packages/widget/tests/api/client.test.ts (the mockChatStream helper in tests/helpers/stream.ts builds the fake stream): ending with [DONE] gives done, ending without it gives error: 'network'
  • Changeset for @chatcops/widget (patch)
  • pnpm -r build, pnpm test and pnpm -r typecheck pass

Want to work on this? Comment below and I'll assign it to you. Please take one issue at a time, branch off dev, and open your PR against dev with Closes #<this issue number>. Setup notes (pnpm, build before test) are in CONTRIBUTING.md.

Lenguaje dominante
TypeScript
Estrellas
13
Forks
7
Merge medio
4 h 11 min
PR fusionados (30 d)
122

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 codercops/chatcops

Todos los issues de codercops/chatcops

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.