Releases: pote/philote
Fix possible race condition
There was a possibility of a race condition where two unrelated messages could have been written at the same time to the outgoing websockets connection, it was brought to my attention some time ago by @ccl0326.
This patch fixes the problem using channels for synchronization.
HTTP API
Now Philote has a (very simple) HTTP API available.
I'll be adding message posting via HTTP, but for now the only endpoint implemented is /api/info
, which returns general information about the running philote instance receiving it.
The authentication mechanism is the same as when a websocket connection is attempted: an Authorization
header consisting on Bearer <your JWT>
. The token, however, needs to be created with an api: true
claim.
This is a sample of what the endpoint returns at this point in time:
{
"version": "0.3.0",
"go_arch": "amd64",
"go_os": "darwin",
"go_version": "go1.8.3",
"num_cpu": 4,
"uptime_in_seconds": 28,
"uptime_in_days": 0,
"tcp_port": "6380",
"pid": 88052,
"connections": 0,
"max_connections": 255,
"read_buffer_size": 1024,
"write_buffer_size": 1024,
"check_origin": false
}
Homebrew Formulae
You can now install both Philote and Jane via homebrew
brew install pote/philote/philote
brew install pote/philote/jane
Sandalone rewrite
Philote no longer depends on Redis or uses it in any way.
In the end, it turned out to be simpler to implement pub/sub in the tool itself than to act as a bridge to redis's pub/sub commands, the result is a standalone tool that you can deploy on its own.
Please refer to the README for the updated documentation.
Bugfix
Reddit user lstokeworth noticed that if an open websocket ever gets an error while reading from Redis the new Redis connection was not resubscribed to the appropriate pub/sub channels. This release fixes that issue.
v0.1.2
Initial Release
v0.1.1 Updates to version v0.1.1
Initial Prerelease
v0.1.0 Include philote-admin in release