Show pending mailbox messages in the transcript
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- typescript
- Área
- full-stack
Línea de trabajo
Empieza con los flujos de detalle de conversación y del composer del dashboard descritos en el issue, y después sigue las rutas del mailbox y del worker a través de packages/junior/src/chat/api-turns/work.ts y persistConversationMessages. Verifica cómo se leen y renderizan los mensajes web y de Slack aceptados antes de elegir los cambios de reporting. Se considera terminado cuando los mensajes aceptados aparecen como pendientes antes del commit del historial y sus estados de pendiente, completado, fallido, reintento y autorización se conservan tras un refresh y la continuación del worker.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
Accepted inbound messages sit in the conversation mailbox until a worker drains them into durable history. The dashboard transcript only shows committed history, so those messages are invisible while queued — whether they came from the web composer or Slack.
The product bar is ChatGPT-style: once a message is accepted, it should already be in the transcript as pending work, not appear only after the turn starts.
Current behavior
- Web send (
POST /api/conversations,POST /api/conversations/:id/messages) accepts into the mailbox viaappendAndEnqueueApiConversationMessageand returns{ conversationId, messageId, status }. - Slack ingress also lands in the same mailbox before history commit.
- User rows enter the transcript only after the worker runs and
persistConversationMessagescommits them (packages/junior/src/chat/api-turns/work.tsand the shared conversation worker path). - Dashboard composer covers the HTTP accept with
Sending…, then invalidates/refetches. There is no mailbox-pending row and no optimistic transcript insert on send. - Conversation detail polls every 2s only while
status === "active"; mailbox contents are not part of the reporting read model the UI renders.
Gap
- #1200 already requires accepted messages to “appear immediately as pending” and for pending/completed/failed/retry/authorization states to survive refresh and worker continuation.
- That requirement is not scoped as its own slice. Composer (#1399) landed without mailbox-visible pending UI for web or Slack-originated queue.
- Impact: senders and readers watching a live conversation see a blank lag between accept and history commit, especially when the worker is busy or deferred mailbox work is waiting on an active turn.
Related
- Parent: #1200
- Composer slice: #1399
- Prior note: https://github.com/getsentry/junior/issues/1200#issuecomment-5246726967
Requested by David Cramer.
--
- Lenguaje dominante
- TypeScript
- Estrellas
- 367
- Forks
- 41
- Merge medio
- 6 h 9 min
- PR fusionados (30 d)
- 188
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin 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 getsentry/junior
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/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 65/100
getsentry/junior#335 · 1 reacción ·
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
Todos los issues de getsentry/junior
Issues similares
-
[Bug]: Server git tests sign fixture commits with the developer's key when run from the repo rootAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
melgarafael/DeskcommCRM#2657 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
MystenLabs/MemWal#1163 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Mondriaan
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
knaw-huc/textannoviz#709 ·
Los mantenedores suelen responder en 1 día
-
billion-context-pi
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
ranxianglei/billion-context#2521 · 3 comentarios ·
Los mantenedores suelen responder en 1 día