slack-ruby / slack-ruby/slack-ruby-client
Make HTTP async as well with async-http
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 1.3k
- Forks
- 222
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 3
Description
Coming from https://github.com/slack-ruby/slack-ruby-client/issues/210#issuecomment-416109261
One thing to consider is that you also want APIs like chat_postMessage to be async. For my hack around the other slack gem, I just made a wrapper for faraday which worked fine. I suggest you continue with the next release supporting different models for concurrency. However, on your next major release (0.13), I suggest you go all in, removing EM, Celluloid, etc, and using async-http and async-websocket. You can get concurrency across all the APIs.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing how the Slack APIs, including chat_postMessage, currently handle concurrency and compare that model with async-http and async-websocket. The issue proposes replacing EM and Celluloid in a future major release; done would require an agreed design and concurrency support across the APIs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100