# Slipstream

[![Coverage Status](](
[![ version](](
[![ license](](
[![Last Updated](](

A slick websocket client for Phoenix channels

See the [online documentation](

## Main Features

- backed by [Mint.WebSocket](
- an `await_*` interface for a interacting [synchronously](
- built-in [re-connect and re-join mechanisms]( matching `phoenix.js`
- a [testing framework]( for clients
- emits [`:telemetry` events](

## Installation

Add slipstream to your dependencies in `mix.exs`:

def deps do
    {:slipstream, "~> 1.0"}

> We've been using Slipstream in production for the better part of a year.
> The interface is stable and a v1.0.0 release is imminent!

## Documentation

Documentation is automatically published to
[]( on release. You may build the
documentation locally with

MIX_ENV=docs mix docs

## Contributing

Issues and PRs are very welcome! See our organization
for more information about best-practices and passing CI.

If you're considering sending a PR or otherwise forking Slipstream, you may
wish to read [the implementation docs](guides/ first.