slackapi / python-slack-sdk

Slack Developer Kit for Python
https://tools.slack.dev/python-slack-sdk/
MIT License
3.87k stars 834 forks source link

client_msg_id missing from messages with attachments #736

Closed pbrackin closed 3 years ago

pbrackin commented 4 years ago

Description

For all messages without attachments we see client_msg_id as a root element in the message event data. For all messages with attachments, we do not see any element client_msg_id anywhere. Same for RTMClient or EventsAPI.

What type of issue is this? (place an x in one of the [ ])

Requirements (place an x in each of the [ ])


Bug Report

Filling out the following details about bugs will help us solve your issue sooner.

Reproducible in:

slackclient version: 2.6.1

python version: 2.6.9 3.6.9

OS version(s): MacOS, Ubuntu 16.04

Steps to reproduce:

  1. Send message with an image attachment
  2. Observe message event data.
  3. Attempting to extract client_msg_id as with messages without attachments will yield a KeyError

Expected result:

client_msg_id should be present no matter if the message has an attachment or not

Actual result:

client_msg_id is missing

Attachments:

Logs, screenshots, screencast, sample project, funny gif, etc.

seratch commented 4 years ago

Thanks for taking the time to report the inconsistency issue.

As this is a server-side issue, I will share your feedback with the teams concerned. In the meantime, we can keep this issue open for a while, but this project (Python API SDK) won't have anything further we can do for you.

If you have similar feedback that is not specific to this SDK, please contact our customer support team from https://slack.com/help 🙇 It would be appreciated if you could understand this.

pbrackin commented 4 years ago

Great thanks for forwarding this on. For future reference, what is the recommended path to report these types of issues?

seratch commented 4 years ago

Thanks for your understanding and asking this. When you submit a message about the Slack Platform from https://slack.com/help/requests/new , it will be assigned to a technical support agent. They'll relay your feedback to the right people.

pbrackin commented 4 years ago

Just to follow up on this... CS person Zach facilitated an interaction with the Slack dev team for me on this. What they said was a little weird. They said it was actually a mistake that they had the client_msg_id in the event structure anywhere at all (this despite the fact that it is actually almost everywhere) & that they intended to "clean up the event structure over time". Initially, they advised that I use the event_id, but that was before they realized I was using the Slack RTM in addition to the Events API. THEN, they suggested I use an amalgam of [slack channel id]+[event_ts] as a surrogate id.

My guess is that the reason they are not supporting the client_msg_id is that they REALLY want to get rid of the RTM Client altogether. On the other hand, they acknowledge it's something many of their paying customers REALLY want to keep. So this could get interesting going forward.

seratch commented 3 years ago

Thanks for sharing the outcome of the inquiry and I do understand the answer might not be a desired one for you.

Please allow us to close this issue in Python SDK project now. Feel free to write in when you have anything related to this topic. It'd be appreciated if you could understand this.