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
Warning icon next to button after click #869
Comments
Thanks for filing the issue, @amkoehler. My apologies we didn't get back to you sooner. I totally expected a button with a URL (rather than an app's own action) to work as you described at first too. However, these buttons actually dispatch a request to your app when a user clicks on them, and Slack expects you to respond to that request with an If you're using app.action('button', ({ ack }) => ack()); If you're using slackInteractions.action({ actionId: 'button' }, () => { return; }); The feedback here is valuable though. I'm exploring what it would take for us to change this behavior within the platform in the future. If this answers your question, please close the issue. |
Thanks @aoberoi! This answers my question and it looks like sending a dummy response will solve our problem. |
This is quiet annoying to have to setup a response handler just to be able to display a link button. |
+1 @GoMino's point here and then follow up question: @aoberoi Where does it send the payload if Interactivity is toggled to off on the https://api.slack.com/apps/{YOUR_APP_ID}/interactive-messages page? If "Interactivity" is toggled off, one would expect that no payload should be fired and therefore no error. This doesn't seem like an error/warning if the app settings has Interactivity disabled, and particularly URL buttons for the most is just a nice looking link button, no need for interactivity on that. Can this be amended on Slack's side? Alternative can also be an option either on the button object to disable payload being fired for that button. Thanks, appreciate your time and work! |
I have a use case where the system making the API call is a desktop application and can't implement inbound webhooks (proprietary line of business software.) I would welcome a way to disable the callback/handler behavior (or a "simple button link" block action) |
@aoberoi I'm in the same boat here as @plabbett. I have no way to send back a webhook. I'm using the |
@joshuatobin no work around at this time 😞 |
I was able to sort of work around this by turning on interactivity and setting the URL to a webhook that returns an empty JSON array and HTTP 200 status code for any request/method sent to it. Does the trick until I need to handle more interactivity events in the future. It would be nice that if you have interactivity turned off, that the webhook would not be required/fired. |
Wanted to raise a flag on hitting this as well. We're using |
Any reason this is closed? This is definitely not working as intended given if you have interactive turned off it shouldn't expect a return response given no payload is sent |
@matoszz this is still the intended behavior from Slack's backend. |
So what is the purpose of having interactivity on or off at all if it doesn't change the behavior? |
Yes, vote on this. Slack should give an option to disable this. |
Slack why are you like this |
I imagine that this being closed means that no one is actively paying attention to this. @seratch any possibility to give this some love? #869 (comment) has quite a few upvotes |
Reopening. We were able to work around it, but the requested feature in #869 (comment) would be useful. |
I wanted to drop a note to say that I escalated this issue through our product team letting them know the number of developers that have agreed with #869 . Apologies that this is the current (and frustrating) behavior—I agree it's unintuitive and limits the contexts in which URL buttons can be used without causing end-user confusion. Unfortunately they've told me that it isn't likely to be worked on in the near future 😞 I understand it's a widespread concern so I'll continue to internally advocate for the change in the capacity I can. I know this isn't helpful for the time being, but I'll be sure to update this issue when the behavior changes. For use cases when URL buttons are in home tabs or modals, we released a With that said, I'm going to go ahead and close this issue. Again, apologies that this is the current-day behavior but unfortunately there really isn't anything I can think of to address this within our SDK since we can't limit the events needing a response that are sent by Slack. I've documented the use cases in this issue, and am happy to relay any additional concerns, but the most direct path to the team that works on the API events will be using the |
This also happens when using the web api. I have created a nice notification using Block Kit which is sent by calling POST chat.postMessage from integromat.
… On 10 Mar 2021, at 01:48, Shay DeWael ***@***.***> wrote:
I wanted to drop a note to say that I escalated this issue through our product team, letting them know how many developers have agreed with #869 . Apologies that this is the current (and frustrating) behavior—I agree it's unintuitive and limits the contexts in which URL buttons can be used without causing end-user confusion.
Unfortunately they've told me that it isn't likely to be worked on in the near future 😞 I understand it's a widespread concern so I'll continue to internally advocate for the change in the capacity I can. I know this isn't helpful for the time being, but I'll be sure to update this issue when the behavior changes.
For use cases when URL buttons are in home tabs or modals, we released a dispatch_action flag in October that allows you to limit the events sent to your app but only in input blocks which don't work in messages. However, I know that most of the time buttons will be used in messages or outside of input blocks, so that solution is only applicable to a small subset of scenarios. The eventual solution to this issue will likely be similar (or the same) as this dispatch_action flag, but within messages and non-input blocks.
With that said, I'm going to go ahead and close this issue.
Again, apologies that this is the current-day behavior but unfortunately there really isn't anything I can think of to address this within our SDK since we can't limit the events needing a response that are sent by Slack. I've documented the use cases in this ticket, and am happy to relay any additional concerns, but the most direct path to the team that works on the API events will be using the /feedback slash command or emailing ***@***.*** which will go through our developer support.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
--
_
Empower Our Customers to Drive Value Through Successful Change_
|
Yeah this seems like such odd behaviour for anyone trying to use the Slack "button" block as a fancy "link". How about being able to disable the interactivity behaviour / "post requests on click" in the button config object in the block json. |
CircleCI-Public/slack-orb#188 suggests some workarounds like hitting postman to get an ok back. I also hit this issue when refactoring some old code to use blocks and needed a button for redirecting and nothing more. |
facing similar issue while use jenkins slack plugin, please reopen this, |
Facing issue when building a slack app as well for our logs. It makes it look like something's wrong which is bad. Would love a fix! |
+1 on the "I want to use buttons as fancy links" use case, looks like I'll be going back to regular old links in the meantime as the warning icon would be too confusing for users. Would be great if there were support for non-interactive link-like buttons! |
As a temp workaround you can use a public service that always returns 200. E.g. I found this service https://httpstat.us/200 that's useful for local testing. |
People keep mentioning adding callbacks but aren't sharing examples with the webhook, is this not possible? Can I not just add something to avoid this in my one webhook function?
|
Please reconsider this feature, it's very frustrating to have this "requirement" for simple URL buttons |
Considering this has been an issue for almost four years I doubt we'll see an update but I also support removing this need for a callback. 🙏 |
Consider this another +1 on fixing this issue |
worked around with
you need a webserver of course, and a Request URL on your Slack App https://api.slack.com/interactivity/handling |
I ran into this as well and found a workaround that seems to work using
|
The warning when clicking a link button is a known issue with the slack api in certain use cases . And by known I mean they have admitted that it is a problem and should be fixed and then subsequently said they wouldn't fix it. Go slack! 🙄
Description
We are using
postMessage
to send a button with a link. Everything displays fine and the link works as expected, but after clicking our 'View Report' button a warning icon displays as if something is set up incorrectly. I'm not sure if this is a UI bug with blocks or an issue with ourpostMessage
payload.Here is our payload:
We see this issue on the windows and mac slack clients, but not in the iOS app.
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.
Packages:
Select all that apply:
@slack/web-api
@slack/events-api
@slack/interactive-messages
@slack/rtm-api
@slack/webhooks
Reproducible in:
package version: 5.1.0
node version: 10.14.2
OS version(s): Windows 10, macOS
Steps to reproduce:
postMessage
payload aboveExpected result:
A warning icon does not display when clicking a button with a URL
Actual result:
A warning icon displays when clicking a button with a URL
Attachments:
On click the loading spinner displays briefly:
After my browser loads the URL, back in slack there's now a warning icon next to the button:
The text was updated successfully, but these errors were encountered: