slackapi / deno-slack-sdk

SDK for building Run on Slack apps using Deno

Home Page:https://api.slack.com/automation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

spoike opened this issue · comments

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.

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

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.

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."

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.

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