Slack channel mentions lose their entity type
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
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- backend
Línea de trabajo
Start with packages/junior/src/chat/ingress/slack-webhook.ts and packages/junior/src/chat/slack/message/content.ts, then reproduce the Slack-shaped event through @chat-adapter/[email protected]. Compare the synchronous parse output with Slack’s typed channel rich-text representation; done means channel mentions retain their channel type in the agent-visible message path.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When a user refers to a Slack channel in a message, Junior can receive only a plain-text #CHANNEL_ID instead of a typed channel reference. In one observed conversation, Junior treated that ID as a Sentry issue ID, searched for it, then recognized the mistake after the user clarified they had mentioned a Slack channel.
- Slack’s message representation includes a channel mention as a typed rich-text element (
type: channel, withchannel_id) and text markup such as<#CHANNEL_ID>. - In Junior’s Slack ingress,
slack-webhook.tscallsadapter.parseMessage(event). With@chat-adapter/[email protected], the synchronous parse path converts<#CHANNEL_ID>into plain#CHANNEL_ID; a local reproduction using a Slack-shaped event produced that exact output. It does not perform the name lookup used by a separate async parse path. slack/message/content.tsuses the adapter’s formatted text for ordinary messages without section blocks, so the channel type is absent from the agent-visible text in this path.- In the observed incident, the Sentry lookup for the channel ID returned no match; after the user clarified, Junior correctly identified it as a Slack channel. The bot could read the channel, so channel access was not the blocker.
- A separate report said a Sentry PR request returned an unrelated PR from the Junior repo. The prompt and trace for that case are unavailable, so whether it shares this cause is unknown.
- The local parser reproduction used a constructed payload matching Slack’s rich-text format; the exact raw payload for the incident was not available. A later trace showed repeated Slack searches, but its contents are redacted, so it cannot establish whether that behavior was related.
Relevant code: packages/junior/src/chat/ingress/slack-webhook.ts, packages/junior/src/chat/slack/message/content.ts, and dependency @chat-adapter/[email protected]. This report is about the observed behavior and evidence; the underlying fix is not specified here.
via David Cramer.
--
- Lenguaje dominante
- TypeScript
- Estrellas
- 383
- Forks
- 42
- Merge medio
- 6 h 51 min
- PR fusionados (30 d)
- 203
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
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
grafana/profiles-drilldown#1212 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
grafana/traces-drilldown#980 ·
Los mantenedores suelen responder en 1 día
-
Manager flashes an empty "errorOccurred" dialog while redirecting a logged-out user to loginAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
openremote/openremote#3487 · 1 comentario ·
-
triage:needs-human
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
garrytan/gbrain#7635 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
coollabsio/jean#867 ·
Los mantenedores suelen responder en 1 día