profile
viewpoint
Adam Conrad acconrad @indigo-ag Boston, MA https://adamconrad.dev Director of Engineering @indigo-ag 🚜 Advisor for Fisherman 🥡 Speaker / Host for Software Engineering Radio 🎙️ Writer for Software Daily ✏️

acconrad/jquery-expander 3

Expander is a jQuery plugin that makes it easy to support expanding tables with "Show N More" functionality.

acconrad/css3-iphone-textmsg 2

A Pure CSS3 iPhone Text Message Demo

acconrad/bostonrb 1

Website for bostonrb.org

acconrad/laptop 1

Laptop is a set of scripts to get your laptop set up as a development machine.

acconrad/acconrad 0

My profile

acconrad/activeadmin 0

The administration framework for Ruby on Rails applications.

acconrad/autotrainer 0

Automated workouts with built-in progression algorithms

acconrad/bootstrap 0

The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.

acconrad/co2 0

Lispy language for creating NES / Famicom software

push eventacconrad/acconrad

Adam Conrad

commit sha 48fd3802f9e1fff0e0bfd4f4f11323b181f9fb57

Update README.md

view details

push time in 18 days

push eventacconrad/acconrad

Adam Conrad

commit sha 5e54ab2eeb6ed3ef9995d55a1a173cc049bb95c1

Update README.md

view details

push time in 18 days

create barnchacconrad/acconrad

branch : master

created branch time in 19 days

created repositoryacconrad/acconrad

My profile

created time in 19 days

push eventBlakeWilliams/Elixir-Slack

kyle-owen-opendoor

commit sha d5e5dd2539ffe58c73c07e70e0c9369a8db6ccf4

Add optional `thread_ts` param to chat.postMessage https://api.slack.com/methods/chat.postMessage#arg_thread_ts `thread_ts` is a timestamp which identifies a message thread. If `thread_ts` is specified in chat.postMessage, the message is posted as a reply to the thread Based on the the readme, I think that adding this json is all that is necessary to add this to the client, do I have that right?

view details

Adam Conrad

commit sha c4fd5946365da128bdeaf58e2b653b54ef7a623e

Merge pull request #230 from kyle-owen-opendoor/patch-1 Add optional `thread_ts` param to chat.postMessage

view details

push time in a month

PR merged BlakeWilliams/Elixir-Slack

Add optional `thread_ts` param to chat.postMessage

https://api.slack.com/methods/chat.postMessage#arg_thread_ts thread_ts is a timestamp which identifies a message thread. If thread_ts is specified in chat.postMessage, the message is posted as a reply to the thread

Based on the the readme, I think that adding this json is all that is necessary to add this to the client, do I have that right?

+5 -0

1 comment

1 changed file

kyle-owen-opendoor

pr closed time in a month

pull request commentBlakeWilliams/Elixir-Slack

Add optional `thread_ts` param to chat.postMessage

Nice work @kyle-owen-opendoor !

kyle-owen-opendoor

comment created time in a month

issue commentBlakeWilliams/Elixir-Slack

Support JSON payloads on web api chat methods

Thanks for the help @juanazam ! 0.23.5 published - feel free to add to your package now!

juanazam

comment created time in 2 months

created tagBlakeWilliams/Elixir-Slack

tagv0.23.5

Slack real time messaging and web API client in Elixir

created time in 2 months

release BlakeWilliams/Elixir-Slack

v0.23.5

released time in 2 months

push eventBlakeWilliams/Elixir-Slack

Juan Azambuja

commit sha e069306c6488616a5512a5e0fa8948bd57208f1d

oAdd missing blocks optional argument to chat endpoints

view details

Juan Azambuja

commit sha 68ae419644b3b8ad8522520c688331775a6992b0

Bump version

view details

Adam Conrad

commit sha 44851afcd41070b6075b042d8a36ef13c47a04ba

Merge pull request #226 from juanazam/add_missing_blocks_arg_to_chat_calls Add missing blocks optional argument to chat endpoints

view details

push time in 2 months

PR merged BlakeWilliams/Elixir-Slack

Add missing blocks optional argument to chat endpoints

Closes #225

Turns out the blocks optional argument was missing from 2 chat methods

https://api.slack.com/methods/chat.postMessage https://api.slack.com/methods/chat.postEphemeral

+13 -3

1 comment

4 changed files

juanazam

pr closed time in 2 months

issue closedBlakeWilliams/Elixir-Slack

Support JSON payloads on web api chat methods

Slack offical API supports JSON objects on these methods, but this package doesn't. I tried sending a JSON string on the text parameter and it doesn't work because of how HTTPoison is used underneath the hood. Any plans on supporting this?

https://api.slack.com/changelog/2017-10-keeping-up-with-the-jsons#what

closed time in 2 months

juanazam

issue commentBlakeWilliams/Elixir-Slack

Support JSON payloads on web api chat methods

So I think the way you would have to do this is create an overloaded function of the documentation function with a slightly modified argument set that allows you to pass either the Elixir arguments or one argument which is a Map that can be JSON-stringified.

juanazam

comment created time in 2 months

issue commentBlakeWilliams/Elixir-Slack

Support JSON payloads on web api chat methods

@juanazam are you referring to something like a Modal? Modals use BlockKit and I am able to structure modals via Maps (view.open offers a view property which can be built via Maps)

juanazam

comment created time in 2 months

issue commentBlakeWilliams/Elixir-Slack

Support JSON payloads on web api chat methods

@juanazam so you want to be able to POST JSON payloads? What is wrong with the current slack methods, just so I understand better? What is the use case you're looking for here?

juanazam

comment created time in 2 months

issue commentBlakeWilliams/Elixir-Slack

Support JSON payloads on web api chat methods

@juanazam want to give it a shot and send us a PR?

juanazam

comment created time in 2 months

issue closedBlakeWilliams/Elixir-Slack

Web API: Proposed breaking change before 1.0 - comments wanted

The web API, though quite fully featured in its support, is currently somewhat limited in its semantics in that are function calls assume the happy path and return only correct data/raise a number of different possible exceptions. This may be fine in some situations for simple apps, but for production apps that need to handle and report on different sorts of error combinations it would be very valuable to have more of both consistency and control here.

I'm not sure I really see an easy way around this without breaking the current API, so this is a suggestion to break it while this library is still pre-1.0. Let's have a discussion here with anybody that cares and figure out how it might work best.

Proposal 1 - Tagged tuples

For < 400 status, decode response body from JSON and return {:ok, decode_response}

For other cases, define a series of exception structs in the format Slack.Web.*Error and return in the format {:error, exception}. These could wrap HTTPoison exceptions like timeouts, as well as more slack specific exceptions like 429 rate limit (this is one I care about a lot).

This approach would allow all error cases to be mapped into a consistent format that could report on, and have conditional retry logic in place for certain cases.

Proposal 2 - Move Slack.Web to different repo as dependency.

If breaking this API is problematic for enough people, a reasonable approach could be to move everything in Slack.Web into a different open source project (which could potentially start with the tagged tuple approach immediately after code migration). The project could provide the same interface to web API calls as it current does by unwrapping the tagged responses are raising error errors passed back.

It could be useful if doing this to consider incorporating any overlap from the other slack API client which is currently a stale/dead project and is the one listed in the slack API community page

@BlakeWilliams @JEG2 @christhekeele @davydog187 @timabdulla and others, would be great to get your feedback.

closed time in 3 months

mmartinson

issue commentBlakeWilliams/Elixir-Slack

Web API: Proposed breaking change before 1.0 - comments wanted

Closing as this is over 3 years old and no one has responded to move forward in over 3 months

mmartinson

comment created time in 3 months

issue closedBlakeWilliams/Elixir-Slack

API docs repo is dead

Currently, the web API client is missing many features because https://github.com/slackhq/slack-api-docs isn't being updated. According to https://github.com/slackhq/slack-api-docs/issues/74 we should expect it to remain dead.

Should we move off generating the web API function from JSON? We could define DSL to make defining calls to those remote procedures easier.

I have a specific need for https://api.slack.com/methods/chat.getPermalink which is not currently provided by Slack.Web. Would you merge a PR that added that feature via code (rather than JSON files)?

closed time in 3 months

pezra

issue commentBlakeWilliams/Elixir-Slack

API docs repo is dead

Closing since I've been adding methods manually - if you need a method just let me know

pezra

comment created time in 3 months

issue closedBlakeWilliams/Elixir-Slack

Bot crashes when user joins a channel

It looks like the bot module still expects to have knowledge of channels and users. When a channel join event is received it attempts to update the bot's internal state. But this data was removed in #177 and causes the bot to crash.

As an aside, I'm not sure how this is a reasonable solution. It's not possible to update the bots slack state in the init callback. The only return value is the users state. If the expectation is really to do these calls, inline, for every request, that means the bot will only be able to receive 4 text messages a minute before a user hits their rate limit. Obviously, it's possible to make more targeted requests and to cache the results. I'm using both of these strategies in fawkes. But that leaves me wondering if the bot is supposed to be doing this sort of book keeping still. It seems to me like most of the slack state code can be removed but maybe I'm missing something.

closed time in 3 months

keathley

issue commentBlakeWilliams/Elixir-Slack

Bot crashes when user joins a channel

Great I'm going to close this issue since that's a pretty hefty test to ensure the bot isn't crashing

keathley

comment created time in 3 months

issue commentBlakeWilliams/Elixir-Slack

Bot crashes when user joins a channel

@entertainyou @dylanmei just pushed another fix so if you pull 0.23.4 that may resolve this Issue here and we can close this?

keathley

comment created time in 3 months

pull request commentBlakeWilliams/Elixir-Slack

Fix crash of put_in/update_in

thanks again @entertainyou ! bumped to 0.23.4 on hex now 😄

entertainyou

comment created time in 3 months

created tagBlakeWilliams/Elixir-Slack

tagv0.23.4

Slack real time messaging and web API client in Elixir

created time in 3 months

release BlakeWilliams/Elixir-Slack

v0.23.4

released time in 3 months

push eventBlakeWilliams/Elixir-Slack

Wei Huang

commit sha e2eddc8ee92829ea364f75c0b344e972a92d6091

Move {channel, group}_join to marco generation

view details

Wei Huang

commit sha 8bc12cfea4e2ac48c8c68554d7796729b3a9166f

Make group channel handling safe

view details

Wei Huang

commit sha 4b0e359448343b7aa85e3537df4869a0831e0f0a

Move {channel, group}_topic handle to macro

view details

Wei Huang

commit sha 0d67523ec0bbcb0dbcd6b7c8cb325e2ab5e79298

Bump version

view details

Adam Conrad

commit sha a288ef616c110af7804f0b6654ae38e732edb019

Merge pull request #224 from entertainyou/master Fix crash of put_in/update_in

view details

push time in 3 months

issue commentBlakeWilliams/Elixir-Slack

Bot crashes when user joins a channel

@dylanmei I'm pretty active on approving PRs so if you have a proposal on how to fix it please go ahead and submit and we'll get it up on Hex ASAP!

keathley

comment created time in 3 months

pull request commentBlakeWilliams/Elixir-Slack

Set default for bots,channels,groups,users,ims state

Thanks @entertainyou ! You can now pull 0.23.3 from your deps :)

entertainyou

comment created time in 3 months

created tagBlakeWilliams/Elixir-Slack

tagv0.23.3

Slack real time messaging and web API client in Elixir

created time in 3 months

release BlakeWilliams/Elixir-Slack

v0.23.3

released time in 3 months

push eventBlakeWilliams/Elixir-Slack

Wei Huang

commit sha 51971fc3ae067e10f4cfcc70027afa66c27a10a4

Set default for bots,channels,groups,users,ims state It was crashing for me when handle user_change event and the users in Slack.State is nil.

view details

Wei Huang

commit sha f75139d187d5956e832512e3e03476cca29d799f

Bump version

view details

Adam Conrad

commit sha a43c7b77f023b40a950ee5a5cfe7e2ddb7ea841a

Merge pull request #223 from entertainyou/master Set default for bots,channels,groups,users,ims state

view details

push time in 3 months

PR merged BlakeWilliams/Elixir-Slack

Set default for bots,channels,groups,users,ims state

It was crashing for me when handle user_change event and the users in Slack.State is nil.

+7 -7

2 comments

3 changed files

entertainyou

pr closed time in 3 months

pull request commentBlakeWilliams/Elixir-Slack

Set default for bots,channels,groups,users,ims state

Approved @entertainyou - like this PR can you bump the README.md and mix.exs files by 1 patch version? I will then merge this, tag it, and publish to Hex and you'll be able to capture your changes right away.

Thanks again!

entertainyou

comment created time in 3 months

startedLisaDziuba/Marketing-for-Engineers

started time in 3 months

issue commentdenoland/deno

Add Node.js native module polyfills to std/node

@Soremwar cool! url is massive and feels a bit over my head for the first one. dns seems pretty reasonable as does crypto (though would I also need to build out all of the helper classes like Hash, Sign, and Cipher?) if so I could just start with dns and see how that goes.

kevinkassimo

comment created time in 3 months

more