Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

SocketModeClient crashes on Events API payloads without an inner event

Aperta Adatta ai principianti
#2,753 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@kyungyeon-byun-imweb-me ci sta già lavorando.

Dal 1/10/2026.

  • #2754 di @kyungyeon-byun-imweb-me — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
84/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
typescript
Ambito
api, networking

Direzione di ricerca

Inizia in SocketModeClient.onWebSocketMessage, in prossimità dell'accesso a event.payload.event.type descritto nell'issue, e analizza i test esistenti per la gestione dei messaggi di Socket Mode. Il lavoro è completato quando i payload app_rate_limited vengono sottoposti a dispatch usando il proprio tipo, il payload viene esposto come event, viene emesso slack_event per la conferma e i payload malformati non terminano l'elaborazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Package

@slack/socket-mode

SDK Version

3.0.1 and current main (3.1.0)

Node.js Version

v24.20.0

Operating System

macOS 26 and Linux

Steps to Reproduce
  1. Create a SocketModeClient.
  2. Deliver an events_api envelope whose Events API payload has no inner event, such as Slack's documented app_rate_limited payload:
{
  "type": "events_api",
  "envelope_id": "example",
  "payload": {
    "type": "app_rate_limited",
    "team_id": "T111",
    "minute_rate_limited": 1610241741,
    "api_app_id": "A111"
  }
}
  1. SocketModeClient.onWebSocketMessage evaluates event.payload.event.type.

Slack documents that app_rate_limited has no inner event: https://docs.slack.dev/reference/events/app_rate_limited/

Expected Result

The client should dispatch the payload using its own type, expose the payload as event, and continue to emit the generic slack_event so consumers can acknowledge the envelope. Malformed payloads without either type should not terminate the process and should still reach slack_event for acknowledgement.

Actual Result

The client throws before application listeners can acknowledge the envelope:

TypeError: Cannot read properties of undefined (reading 'type')
    at SocketModeClient.onWebSocketMessage (.../SocketModeClient.js:346:37)

This can produce a restart and redelivery loop because the envelope cannot be acknowledged.

I have a focused fix with regression tests ready to submit.

Lingua principale
TypeScript
Stelle
3.4k
Fork
687
Merge medio
1g 3h
PR unite (30g)
15

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di slackapi/node-slack-sdk

Tutte le issue di slackapi/node-slack-sdk

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.