slack-ruby / slack-ruby/slack-ruby-client

Make HTTP async as well with async-http

Open
#220 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

new feature
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.