Skip to content

[Fix] Saved Slack destinations lose their selection checkmark - #2301

Merged
roomote-roomote[bot] merged 1 commit into
developfrom
fix/slack-channel-selection-3qgx8ji79ww0j
Sep 7, 2026
Merged

[Fix] Saved Slack destinations lose their selection checkmark#2301
roomote-roomote[bot] merged 1 commit into
developfrom
fix/slack-channel-selection-3qgx8ji79ww0j

Conversation

@roomote-roomote

@roomote-roomote roomote-roomote Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

​Opened on behalf of @daniel-lxs. Follow up by mentioning @roomote-roomote, in the web UI, or in Slack.

What changed

Saved Slack automation destinations retain their checkmark when the settings form reloads a channel name rather than its ID. The marker now uses the same resolved option as the picker label. Selecting another channel still emits its canonical ID.

Added focused coverage for canonical IDs, hydrated names and labels, unmatched values, and changing a saved selection.

Why this change was made

In Weekly Manager Stats, selecting a channel and saving persisted its canonical ID correctly, but reopening the settings picker showed no checkmark. The form hydrates the display name, while the old marker compared it directly with the ID. This was a display inconsistency, not a lost destination or failed Slack delivery.

Impact

No persistence, routing, or provider behavior changes. The fix reuses the existing channel matching result.

On baseline d95a5fd045ff82f81d458256a6a871ec9cda611a, the real application save/reload path returned C123ABC456 and #product-debug, but both menu markers had opacity 0. With this change, only the saved channel is marked. Changing to #engineering, resetting, saving the new channel, and reloading preserved the expected marker and canonical database target. Slack was the repository's local mock provider; this does not establish real Slack authorization or message delivery.

The six focused cases and adjacent automation tests passed (62 tests across five files), as did web typechecking, formatting, focused lint, and the full pre-push lint/typecheck/knip gates.

Final-head visual proof was recovered in one separately authorized bounded attempt on 0ef6f963a43184c6acf08983bee679f1e9642d9b. The actual save/reload/change/reset path and desktop/mobile marker states passed; the proof package was uploaded and handed off within five minutes, then independently inspected. CI, CodeQL, and CLA passed. The PR remains draft pending the in-progress Roomote review; no review approval is claimed.

Screenshots

These captures use the repository's local mock Slack provider and a synthetic installation. Application form submission, persistence, and reload are real. Images show rendered states, not real Slack authorization, delivery, or a recording of the temporal sequence.

Saved destination after page reload:

Saved product-debug destination marked after reload

Changed selection:

Selection marker moves to engineering

Reset restores the saved destination at mobile width:

Mobile reset restores product-debug selection

@roomote-community

Copy link
Copy Markdown
Contributor

Reviewing the PR now. Follow

Reviewing 0ef6f96

@daniel-lxs
daniel-lxs marked this pull request as ready for review September 7, 2026 03:17
@roomote-roomote
roomote-roomote Bot merged commit 1b8c8ae into develop Sep 7, 2026
16 of 17 checks passed
@roomote-roomote
roomote-roomote Bot deleted the fix/slack-channel-selection-3qgx8ji79ww0j branch September 7, 2026 03:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant