Open
Conversation
Collaborator
|
@sej3506 apologies for such a long time before anyone responded (mostly my fault). This project went through a whirlwind of initial changes based on some internal experimentation we were doing and the repo happened to be public for GitHub Actions. I didn't initially have the extra bandwidth to give the project support with external contributions and I let this fall through the cracks. The two PRs you worked on are valuable; they simply became something I kept putting off responding to for much longer than I anticipated. If you're still interested in getting these merged, they'll need updated. I will ensure they get merged this time around. No worries if you're no longer interested. |
added 2 commits
July 10, 2025 10:05
If there are over 1000 slack channels in an organization, which is entirely possible with the ability to archive channels, the call method in loads_slack_channels would only retrieve the first 1000. This change adds a method to follow any pagination cursors and combine channel list pages together to ensure we have a complete channel list. This change also makes use of the exclude_archived argument for conversations_list which will (on Slack's side) throw out any archived channels. A snippet to keep in mind from Slack's docs: https://api.slack.com/methods/conversations.list "When paginating, any filters used in the request are applied after retrieving a virtual page's limit. For example. using exclude_archived=true when limit=20 on a virtual page that would contain 15 archived channels will return you the virtual page with only 5 results. Additional results are available from the next cursor valuePaginate through slack channels."
Changing get_paged_chanels to take keyword args. Updating the loads_slack_channels spec for testing pagination to include the pagination cursor. Including types when calling get_paged_channels (bug fix)
cee64d2 to
cc59fa6
Compare
Author
|
@tuxagon After 84 years, I've rebased and updated both. 😁 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
If there are over 1000 slack channels in an organization, which is
entirely possible with the ability to archive channels, the call method
in loads_slack_channels would only retrieve the first 1000.
Solution
This change adds a method to follow any pagination cursors and combine
channel list pages together to ensure we have a complete channel list.
This change also makes use of the exclude_archived argument for
conversations_list which will (on Slack's side) throw out any archived
channels. A snippet to keep in mind from Slack's docs:
"When paginating, any filters used in the request are applied after
retrieving a virtual page's limit. For example. using
exclude_archived=true when limit=20 on a virtual page that would contain
15 archived channels will return you the virtual page with only 5
results. Additional results are available from the next cursor
valuePaginate through slack channels."