Skip to content

Photon iMessage: persistent RST_STREAM code 2 (Internal server error) on free shared line — sidecar alive but stream dead #55416

Description

@cjboy007

Hi,

Photon/iMessage has been completely non-functional since yesterday. The sidecar process stays alive and port 8789 is open, but the gRPC stream to Photon cloud keeps getting killed with RST_STREAM code 2 (Internal server error). Restarting the sidecar reconnects briefly (~90s) then the same error returns.

Environment

  • hermes-agent: f53b184 (latest main)
  • macOS 26.5.1, Apple Silicon
  • Node v25.6.1
  • @photon-ai/advanced-imessage: 0.12.0
  • @spectrum-ts/imessage: 8.0.0
  • @spectrum-ts/core: 8.0.0
  • nice-grpc: 2.1.16
  • Photon free shared line

Symptoms

  1. Sidecar process is running, port 8789 is LISTEN + ESTABLISHED
  2. gRPC stream to Photon cloud connects successfully ("Spectrum started", "connected — sidecar on 127.0.0.1:8789")
  3. After ~60-90 seconds, stream dies with:
Received RST_STREAM with code 2 (Internal server error)
path: '/photon.imessage.v1.MessageService/SubscribeMessageEvents'
code: 13
grpcCode: 13
  1. Sidecar's built-in reconnect loop fires ("stream interrupted; reconnecting", attempt 1, delay 500ms)
  2. Reconnect hits the same RST_STREAM error again
  3. This repeats indefinitely — 685 occurrences in my logs since 2026-06-29 10:53

What I tried

  • Killed sidecar PID, adapter auto-restarted it → connected briefly, then same error after ~90s
  • Verified @photon-ai/advanced-imessage is latest (0.12.0) on npm registry
  • Verified no local network issues (other gRPC/HTTPS connections fine)
  • No auth/credential errors in logs — the connection authenticates fine, then gets dropped by the server

Impact

  • iMessage channel is completely dead (no inbound, likely no outbound either)
  • Other platforms (Feishu, Telegram) unaffected
  • Sidecar is not crashing — it's alive but the upstream stream is unusable

This looks like a Photon cloud-side issue on the free shared line. The server accepts the connection, then immediately resets the stream with an internal error.

Any workaround or ETA on a fix?

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havearea/streamingStreaming responses: gateway delivery, provider wirecomp/pluginsPlugin system and bundled pluginssweeper:risk-message-deliverySweeper risk: may drop, duplicate, misroute, or suppress messagestype/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions