Skip to content

feat: support features.code_channels in app manifest round trip - #670

Open
mcodik wants to merge 1 commit into
mainfrom
mcodik-code-channels
Open

feat: support features.code_channels in app manifest round trip#670
mcodik wants to merge 1 commit into
mainfrom
mcodik-code-channels

Conversation

@mcodik

@mcodik mcodik commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Changelog

Lets devs set code_channels feature in their manifests, and have it display in manifest export

Summary

AppFeatures had no field for code_channels, so Go's json.Unmarshal silently dropped it before the manifest was sent to apps.manifest.validate/update. Add it as a RawJSON passthrough so any future sub-fields survive without further struct changes.

Preview

Before
Screenshot 2026-09-09 at 2 24 12 PM

After

Screenshot 2026-09-09 at 2 23 43 PM

Testing

Run manifest export on app that has the code_channels feature set in the manifest

Notes

(Add any additional context, trade-offs, or follow-up items)

Requirements

AppFeatures had no field for code_channels, so Go's json.Unmarshal
silently dropped it before the manifest was sent to
apps.manifest.validate/update. Add it as a RawJSON passthrough so any
future sub-fields survive without further struct changes.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
@mcodik
mcodik requested a review from a team as a code owner September 9, 2026 21:25
@mcodik
mcodik requested a review from zimeg September 9, 2026 21:25
@codecov

codecov Bot commented Sep 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.20%. Comparing base (9b4235c) to head (0184671).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #670      +/-   ##
==========================================
+ Coverage   78.19%   78.20%   +0.01%     
==========================================
  Files         239      239              
  Lines       18149    18149              
==========================================
+ Hits        14192    14194       +2     
+ Misses       3957     3955       -2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@zimeg zimeg changed the title fix: preserve features.code_channels in app manifest round trip feat: support features.code_channels in app manifest round trip Sep 9, 2026

@zimeg zimeg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mcodik Kind thanks for following up with this! 🏆 ✨

I think this is good to merge whenever but would like to align on changes of #641 🪬

ManifestSlashCommandsItems []ManifestSlashCommandsItem `json:"slash_commands,omitempty" yaml:"slash_commands,flow,omitempty"`
Search *Search `json:"search,omitempty" yaml:"search,flow,omitempty"`
RichPreviews *RichPreviews `json:"rich_previews,omitempty" yaml:"rich_previews,flow,omitempty"`
CodeChannels *RawJSON `json:"code_channels,omitempty" yaml:"code_channels,flow,omitempty"`

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👁️‍🗨️ question: Should we extend values for code_channels to include the following or are these values sometimes changed?:

type CodeChannels struct {
	Enabled         *bool  `json:"enabled,omitempty" yaml:"enabled,omitempty"`
	SlashCommandURL string `json:"slash_command_url,omitempty" yaml:"slash_command_url,omitempty"`
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add it as a RawJSON passthrough so any future sub-fields survive without further struct changes.

🌚 note: Am open to this as well but think we benefit from strict structures overall after stable API releases!

@zimeg zimeg added enhancement M-T: A feature request for new functionality changelog Use on updates to be included in the release notes semver:minor Use on pull requests to describe the release version increment labels Sep 9, 2026
@zimeg zimeg added this to the Next Release milestone Sep 9, 2026
@zimeg

zimeg commented Sep 9, 2026

Copy link
Copy Markdown
Member

📚 note: I'm open to keeping this with changelog despite a limited GA so that updates to the upcoming release can guarantee support instead of magic later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog Use on updates to be included in the release notes enhancement M-T: A feature request for new functionality semver:minor Use on pull requests to describe the release version increment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants