Problem
The netclaw config Channels > Mattermost > Channels & Permissions screen displays raw Mattermost channel IDs/slugs only. Slack and Discord can show resolved display labels because their probe contracts return resolved channel metadata, but the Mattermost probe currently only validates IDs and does not return channel display names.
Impact
Operators reviewing Mattermost channel permissions cannot easily verify which human-readable channel each row represents. This is especially noticeable beside Slack/Discord, where resolved labels are available in the same config flow.
Expected behavior
When Mattermost channels are configured, the config UI should resolve and display a readable channel label where possible, while preserving the canonical channel ID/slug used by runtime config.
Notes
This is not a regression from the guided config surfaces PR. It is an existing Mattermost probe/API contract limitation exposed by comparing the channel-management UI across providers.
Likely implementation work:
- Extend Mattermost channel resolution to return display metadata, not just success/unresolved status.
- Reuse that resolved metadata in
ChannelsConfigViewModel row labels.
- Keep persisted config canonical:
Mattermost.AllowedChannelIds and Mattermost.ChannelAudiences should still use runtime-consumed IDs/slugs.
- Add config UI tests matching the Slack/Discord resolved-label coverage.
Problem
The
netclaw configChannels > Mattermost > Channels & Permissions screen displays raw Mattermost channel IDs/slugs only. Slack and Discord can show resolved display labels because their probe contracts return resolved channel metadata, but the Mattermost probe currently only validates IDs and does not return channel display names.Impact
Operators reviewing Mattermost channel permissions cannot easily verify which human-readable channel each row represents. This is especially noticeable beside Slack/Discord, where resolved labels are available in the same config flow.
Expected behavior
When Mattermost channels are configured, the config UI should resolve and display a readable channel label where possible, while preserving the canonical channel ID/slug used by runtime config.
Notes
This is not a regression from the guided config surfaces PR. It is an existing Mattermost probe/API contract limitation exposed by comparing the channel-management UI across providers.
Likely implementation work:
ChannelsConfigViewModelrow labels.Mattermost.AllowedChannelIdsandMattermost.ChannelAudiencesshould still use runtime-consumed IDs/slugs.