feat: support icon upload for non-hosted apps (Bolt Framework apps)
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 305
- Forks
- 46
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 23
Description
Description
The apps.hosted.icon endpoint currently rejects non-hosted app IDs, which means traditional apps created via apps.manifest.create (e.g., Bolt apps) can't set their app icon programmatically.
There's already a TODO in internal/pkg/apps/install.go:525 acknowledging this:
// TODO: Currently, cannot update the icon if app is not hosted.
…followed by commented-out code that would handle icon upload for non-hosted apps, identical to how it works for hosted deploys (lines 220-233).
It would be great to extend apps.hosted.icon (or introduce a new endpoint) to accept non-hosted app IDs so all Slack apps can set their icon programmatically. This is also related to slackapi/manifest-schema#42 where Slack staff mentioned a public API for this is in the works.
cc @mwbrooks
Requirements
- I've read and understood the Contributing guidelines and have done my best effort to follow them.
- I've read and agree to the Code of Conduct.
- I've searched for any related issues and avoided creating a duplicate issue.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in internal/pkg/apps/install.go at the TODO around line 525 and compare it with the commented icon-upload logic around lines 220-233. First confirm whether a public endpoint now supports icon uploads for non-hosted app IDs; done would mean the chosen API path can set icons for traditional and hosted apps, with coverage for the supported behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100