insomniacslk / irc-slack

IRC-to-Slack gateway
BSD 3-Clause "New" or "Revised" License
195 stars 19 forks source link

Reduce chunkSize to avoid internal error #176

Open rodarima opened 3 years ago

rodarima commented 3 years ago

See #170

insomniacslk commented 3 years ago

Thanks @rodarima ! The large number for user pagination was done to speed up joining large Slack teams. I suspect that decreasing to 30 will defeat that speed gain, we should verify that. Furthermore the Slack API of users.info seems to have changed compared to the slack-go implementation - the latter uses users as parameter, while (now?) the API method expects a singular user. I wonder how does this even work with a different argument

rodarima commented 3 years ago

Thanks @rodarima ! The large number for user pagination was done to speed up joining large Slack teams. I suspect that decreasing to 30 will defeat that speed gain, we should verify that.

I tested with a chunkSize of 40 users and it was already returning the internal error, so I don't thing there is much room for improvement with this endpoint. Maybe we could use the list.users to fetch all the users at the beginning and then ensure that the list is kept updated when joining channels (or when a user id is found to be new) by fetching only the new users (either one by one or using the legacy method).

Furthermore the Slack API of users.info seems to have changed compared to the slack-go implementation - the latter uses users as parameter, while (now?) the API method expects a singular user. I wonder how does this even work with a different argument

I guess they have changed the API and the documentation, but they have left the legacy working for some time. It is likely to be broken soon.