Slipstream
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
:telemetryevents
Installation
Add slipstream to your dependencies in mix.exs:
def deps do
[
{:slipstream, "~> 0.8"}
]
endN.B.: Slipstream is still being evaluated and tested in production. Once the interface is stable and initial bugs worked out, a v1.0.0 version will be published.
Documentation
Documentation is automatically published to hexdocs.pm on release. You may build the documentation locally with
MIX_ENV=docs mix docsContributing
Issues and PRs are always welcome! See our organization
CONTRIBUTING.md
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 first.
Merge-styles
Incoming PRs will be squashed in order to maintain a more readable commit log. If you'd like your PR to not be squashed, please say so in your PR description.
PRs which create examples
(e.g. #17) will
not be squashed so that the commits may be referenced in the tutorial
section of the example (and not have GitHub's ~annoying~ helpful "This
commit does not belong to any branch on this repository..." message, e.g.
db79a32)