Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Member lists missing (fixed in 2.4.0), implement in 3.0.0 #220

Open
svenssonaxel opened this issue May 19, 2023 · 11 comments · Fixed by #221
Open

Member lists missing (fixed in 2.4.0), implement in 3.0.0 #220

svenssonaxel opened this issue May 19, 2023 · 11 comments · Fixed by #221
Labels
enhancement New feature or request

Comments

@svenssonaxel
Copy link

Describe the bug
Member lists in groups.json and channel.json are null.
The stated number of members in groups.json is claimed to be zero.

To Reproduce
./slackdump/slackdump -export workspacename-username.zip -export-type mattermost -download -cache-dir slackdump-cache-workspacename-username

Expected behavior
Member lists are exported for channels, dms and groups.

Actual behaior

  • In channels.json and num_members, the num_members fields have non-zero values as expected, but members is unexpectedly null.
  • In dms.json, members is an array with seemingly the correct user IDs, as expected.
  • In groups.json, num_members is always 0 and members is null, both are unexpected.

Desktop (please complete the following information):

>uname -a
Linux d 5.10.0-17-amd64 #1 SMP Debian 5.10.136-1 (2022-08-13) x86_64 GNU/Linux
>cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
>go version
go version go1.20.4 linux/amd64

Additional context
Slackdump version:

Slackdump dev (commit: placeholder) built on: 2077
dev

Built on git commit 74520fada6a3ba27d6e3dd671cfcba662a6f3cd2.

@rusq
Copy link
Owner

rusq commented May 19, 2023

Confirmed. It was never populated.

The problem with this is that it's not possible to get it the "fast" way, because neither of conversations.list or conversations.info methods return it. To get the member list one has to explicitely call the https://api.slack.com/methods/conversations.members method, and paginate through results. On a workspace with thousands channels this can take a while.

Good news is, that in version 3, which is still in development, I changed the way the information is retrieved, and will be able to incorporate this improvement.

I'll flag this as an enhancement for v3.

@rusq
Copy link
Owner

rusq commented May 19, 2023

And, thanks for such a nice explicit report, of course :)

@rusq rusq added bug Something isn't working enhancement New feature or request labels May 19, 2023
@rusq rusq added this to the v3.0.0 milestone May 19, 2023
@svenssonaxel
Copy link
Author

Thank you for such a swift reply, and thank you for making slackdump!

Now to be frank, without a populated members list slackdump is not entirely usable. It seems that private channels with an unpopulated members list will (perhaps due to a bug in, or worse, intended behavior of, mmetl) be imported as open channels in mattermost, and thus jeopardize information security. It appears to me that the slack dump taking a minute, hour or day longer would be much preferable over the current behavior that (in the end result after mmetl) is quite undesirable.

I suppose my options now are: wait for v3, patch the current version myself, edit the .jsonl manually before import, or look for alternative ways to export from Slack. Could you offer any advice on the best course of action? Very sorry to turn this into a support request, feel free to refuse taking your time with it!

@rusq
Copy link
Owner

rusq commented May 19, 2023

Hey, no problem. I wasn't aware of the way mattermost treats the DMs with missing members, of course that's unacceptable.

I'll aim to find some time and see what I can do on the weekend, this seems like a serious flaw to me as well.

Thank you for your support :)

@rusq rusq modified the milestones: v3.0.0, 2.3.5 May 19, 2023
@svenssonaxel
Copy link
Author

@rusq Much appreciated, thank you so much!

@rusq rusq modified the milestones: 2.3.5, v2.4.0 May 19, 2023
@rusq rusq linked a pull request May 19, 2023 that will close this issue
@rusq rusq closed this as completed in #221 May 19, 2023
rusq added a commit that referenced this issue May 19, 2023
@rusq rusq reopened this May 20, 2023
@rusq
Copy link
Owner

rusq commented May 20, 2023

Fixed in v2.4.0 (#221 )

TODO:

  • implement in v3

@rusq
Copy link
Owner

rusq commented May 20, 2023

Hey @svenssonaxel , this is fixed now, you should see "members" populated (you can build from master, or use the v2.4.0 release)

NOTE: I'm unable to verify the "groups.json" because I don't have any workspace at my disposal that has the groups, I'd appreciate if you could check it and let me know.

@rusq rusq removed this from the v2.4.0 milestone May 20, 2023
@rusq rusq removed the bug Something isn't working label May 20, 2023
@rusq rusq changed the title Member lists missing Member lists missing (fixed in 2.4.0), implement in 3.0.0 May 20, 2023
@svenssonaxel
Copy link
Author

  • channels.json: Can confirm that members is populated with an array whose length matches num_members.
  • groups.json: Can confirm that members is populated with an array whose length seems right, however num_members is still 0.
  • I have yet to attempt an import, will report when I do.

@rusq
Copy link
Owner

rusq commented Jun 4, 2023

Hey @svenssonaxel , how's it going? Did it work?

@svenssonaxel
Copy link
Author

It did!

@rusq
Copy link
Owner

rusq commented Jun 5, 2023

Excellent, thanks for update :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants