slackapi / deno-slack-sdk

SDK for building Run on Slack apps using Deno
https://api.slack.com/automation
MIT License
155 stars 27 forks source link

[BUG] icon is not changed via `slack run` #242

Closed spoike closed 9 months ago

spoike commented 9 months ago

The deno-slack versions

"deno-slack-sdk/": "https://deno.land/x/deno_slack_sdk@2.4.1/",
"deno-slack-api/": "https://deno.land/x/deno_slack_api@2.1.2/",

Deno runtime version

deno 1.37.2 (release, x86_64-apple-darwin) v8 11.8.172.13 typescript 5.2.2

OS info

ProductName: macOS ProductVersion: 14.0 BuildVersion: 23A344 Darwin Kernel Version 23.0.0: Fri Sep 15 14:42:42 PDT 2023; root:xnu-10002.1.13~1/RELEASE_X86_64

Describe the bug

The bot icon doesn't change when updating the manifest and new image to the assets folder. There are no warnings about any failed upload or anything when running or reinstalling the app.

Steps to reproduce

On an already installed app:

  1. Put a png image to the assets folder (named service_bunny.png) service_bunny.png
  2. Update icon in manifest.ts to point to the new image
  3. slack run

Expected result

The new app icon should be displayed for the app/bot instead of the default one.

Actual result

From the about tab:

image

From the messages tab (and also the user icon):

image

Requirements

Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

WilliamBergamin commented 9 months ago

Hello @spoike thanks for writing in 💯

I was able to reproduce this bug, it does seem like slack run does not update the app icon, but using slack deploy worked

This is potentially a backend limitation, I'm trying to figure out if this was intentional or not

tomas-zijdemans-vipps commented 9 months ago

This has always been the behaviour in the SDK. Only deploy will set the icon. I first thought it was a bug, but then started thinking it might be because several developers can be running a dev version at the same time (so, you have multiple versions of the same app running simultaneously). The only way to differentiate them, in the Slack UI, is by looking at the different icon colours. It also makes it easier to spot the deployed version of the app when adding it to channels, etc.

filmaj commented 9 months ago

Yes just wanted to chime in that this is expected behaviour, exactly for the reason Tomas stated. slack deploy will update the icon, slack run will use a stock image that is meant to represent "this is a locally running, and thus unstable / in development, app."

spoike commented 9 months ago

Is this caveat documented anywhere? Because having some attributes in the Manifest not be updated while running slack run is confusing behavior for developers.

At least it has been a time waster for me debugging it until I reported it here.

filmaj commented 9 months ago

Totally fair @spoike ! I will follow up with our documentation team to make sure we document this.