MM-46380: Support status updates without a reminder ("Never" option) - #2330
Draft
calebroseland wants to merge 3 commits into
Draft
MM-46380: Support status updates without a reminder ("Never" option)#2330calebroseland wants to merge 3 commits into
calebroseland wants to merge 3 commits into
Conversation
Add a "Never" option to the status-update reminder timer so a playbook (and an in-progress run) can be configured with no default reminder. Relax the server validation that rejected a zero reminder in createPlaybook, the status-update path, and the reminder-reset path; negative values are still rejected. Surfaces a "Never" choice in the playbook editor (with the text changing to "A status update is never expected."), the post update modal, the legacy update dialog, and the reminder snooze menu, plus a "Remove reminder" action on the run status widget to clear a scheduled reminder in place. MM-46380 Context: /longshot — add "Never" status-update reminder (0 = no reminder) across editor, run modal, snooze, legacy dialog, and run-widget kebab
Add unit coverage for the never-vs-empty reminder distinction (isNeverOptionSelected) and the playbook editor "never expected" text variant, plus Cypress coverage for selecting Never in the editor and removing a scheduled reminder from the run widget. Extract the en.json strings, add a status-update-timer test id, and update the existing run-widget kebab assertion to account for the new "Remove reminder" item. MM-46380 Context: /longshot phase 4-5 — tests + i18n/lint for the "Never" reminder feature
Guard the post-update reminder warning so it is not mis-computed
when "Never" is selected (reminder is 0 but the selection is
valid). Make the run-widget DropdownItem disabled prop optional
and drop a redundant disabled={false}. Add a unit case for an
option with an undefined value.
MM-46380
Context: /longshot phase 6 — review fixes for the "Never" status-update reminder feature
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Allows a playbook (and an in-progress run) to be configured with no status-update reminder by adding a "Never" option to the reminder timer dropdowns.
0reminder (createPlaybook, the status-update path, and the reminder-reset path) now accepts0; negative values are still rejected. A0reminder means "no reminder" — the scheduler already skips scheduling and overdue tracking for it, so no scheduling changes were required.Ticket Link
https://mattermost.atlassian.net/browse/MM-46380
Test Plan
isNeverOptionSelected(never-vs-empty reminder distinction) and the playbook editor "never expected" text variantmake i18n-extract,make check-style-server,go test ./api ./app, and the webapp unit suite passKnown Issues / Review Notes
0) from an unset picker (still invalid) via anisNeverOptionSelectedhelper.en.jsonchange.updatePlaybookpath does not validate a negativeReminderTimerDefaultSeconds(pre-existing; the UI cannot emit a negative value). Could add a>= 0guard for parity with RESTcreatePlaybook.Checklist
Gated by experimental feature flag(this plugin does not use experimental feature flags)