Skip to content

fix: better connection lifecycle - #311

Merged
hpopp merged 5 commits into
mainfrom
fix/connection-lifecycle
Sep 8, 2026
Merged

hpopp merged 5 commits into
mainfrom
fix/connection-lifecycle

Conversation

@hpopp

@hpopp hpopp commented Sep 8, 2026 •

Copy link
Copy Markdown
Member

Added

  • Support for Elixir 1.20 and Erlang/OTP 29. (#310)
  • Dispatchers reconnect on their own when a connection drops. (#299, #300, #311)
  • :not_connected push response. You get it when the dispatcher has no connection
    at the moment you push. The push was never sent, so it is safe to send again.
    :timeout still means the push went out but the connection dropped before a reply
    came back. (#311)
  • FCM connections stay alive with periodic pings, the same way APNS connections
    already did. Tune it with the new :ping_period option. (#311)

Changed

  • Dispatchers now connect in the background after they start. If the push service is
    unreachable, the dispatcher logs an error and keeps retrying instead of taking your
    app down with it. (#295, #309, #311)

    Removed

    • Stale :httpoison and :kadabra entries in mix.lock. (#305)

    Fixed

    • ADM no longer crashes the dispatcher when it cannot refresh its access token. The
      push gets a :not_connected response instead. (#311)

@hpopp
hpopp merged commit 2bc04de into main Sep 8, 2026
5 checks passed
@hpopp
hpopp deleted the fix/connection-lifecycle branch September 8, 2026 22:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant