Repository: obsidian-tasks-group/obsidian-tasks
Pull request #2530 (2023-12-23 22:06:33)

feat: Update "Check your Statuses" text for new behaviour
<!--- Provide a general summary of your changes in the Title above -->

# Description

Update the message in "Check your Statuses" report for DONE tasks not followed by TODO or IN_PROGRESS.

## Motivation and Context

May the report match the new behaviour.

## How has this been tested?

- Existing test
- Exploratory testing

## Screenshots (if appropriate)

### Before

![image](https://github.com/obsidian-tasks-group/obsidian-tasks/assets/4840096/4c07f9a6-2d56-4a38-ae0c-9888c5c0e6c0)


### After

![image](https://github.com/obsidian-tasks-group/obsidian-tasks/assets/4840096/2afcfb3c-9c98-4abf-8c0c-478422f73550)


## Types of changes

<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->

Changes visible to users:

- [x] **New feature** (prefix: `feat` - non-breaking change which adds functionality)

Internal changes:

- [x] **Tests** (prefix: `test` - additions and improvements to unit tests and the smoke tests)

## Checklist

<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->

- [x] My code follows the code style of this project and passes `yarn run lint`.
- [x] My change requires a change to the documentation.
- [ ] I have [updated the documentation](https://publish.obsidian.md/tasks-contributing/Documentation/About+Documentation) accordingly.
- [x] My change has adequate [Unit Test coverage](https://publish.obsidian.md/tasks-contributing/Testing/About+Testing).

## Terms

<!--
By submitting this pull request, you must agree to follow our
[contributing guide](https://publish.obsidian.md/tasks-contributing) and
[Code of Conduct](https://github.com/obsidian-tasks-group/obsidian-tasks/blob/main/CODE_OF_CONDUCT.md).
Put an x in the boxes to confirm you agree.
-->

- [x] My contribution follow this project's [contributing guide](https://publish.obsidian.md/tasks-contributing)
- [x] I agree to follow this project's [Code of Conduct](https://github.com/obsidian-tasks-group/obsidian-tasks/blob/main/CODE_OF_CONDUCT.md)



Patch:
diff --git a/src/StatusSettingsReport.ts b/src/StatusSettingsReport.ts
index fffadb85..82140d32 100644
--- a/src/StatusSettingsReport.ts
+++ b/src/StatusSettingsReport.ts
@@ -51,11 +51,14 @@ function checkNextStatusSymbol(statuses: StatusConfiguration[], status: StatusCo
         if (nextStatus.type !== 'TODO' && nextStatus.type !== 'IN_PROGRESS') {
             const helpURL =
                 'https://publish.obsidian.md/tasks/Getting+Started/Statuses/Recurring+Tasks+and+Custom+Statuses';
-            problems.push(
+            const message = [
                 `This \`DONE\` status is followed by ${getPrintableSymbol(
                     nextStatus.type,
-                )}, not \`TODO\` or \`IN_PROGRESS\`: this will not work well for recurring tasks. See [Recurring Tasks and Custom Statuses](${helpURL}).`,
-            );
+                )}, not \`TODO\` or \`IN_PROGRESS\`.`,
+                'If used to complete a recurring task, it will instead be followed by `TODO` or `IN_PROGRESS`, to ensure the next task matches the `not done` filter.',
+                `See [Recurring Tasks and Custom Statuses](${helpURL}).`,
+            ].join('<br>');
+            problems.push(message);
         }
     } else {
         problems.push('Unexpected failure to find the next status.');


Test patch:
diff --git a/tests/StatusSettingsReport.test.StatusSettingsReport_should_include_problems_in_table.approved.md b/tests/StatusSettingsReport.test.StatusSettingsReport_should_include_problems_in_table.approved.md
index 82770e0b..91247405 100644
--- a/tests/StatusSettingsReport.test.StatusSettingsReport_should_include_problems_in_table.approved.md
+++ b/tests/StatusSettingsReport.test.StatusSettingsReport_should_include_problems_in_table.approved.md
@@ -11,6 +11,6 @@
 | `n` | `n` | Non-task | `NON_TASK` |  |
 | `1` | `space` | DONE followed by TODO | `DONE` |  |
 | `2` | `/` | DONE followed by IN_PROGRESS | `DONE` |  |
-| `3` | `x` | DONE followed by DONE | `DONE` | This `DONE` status is followed by `DONE`, not `TODO` or `IN_PROGRESS`: this will not work well for recurring tasks. See [Recurring Tasks and Custom Statuses](https://publish.obsidian.md/tasks/Getting+Started/Statuses/Recurring+Tasks+and+Custom+Statuses). |
-| `4` | `X` | DONE followed by CANCELLED | `DONE` | This `DONE` status is followed by `CANCELLED`, not `TODO` or `IN_PROGRESS`: this will not work well for recurring tasks. See [Recurring Tasks and Custom Statuses](https://publish.obsidian.md/tasks/Getting+Started/Statuses/Recurring+Tasks+and+Custom+Statuses). |
-| `5` | `n` | DONE followed by NON_TASK | `DONE` | This `DONE` status is followed by `NON_TASK`, not `TODO` or `IN_PROGRESS`: this will not work well for recurring tasks. See [Recurring Tasks and Custom Statuses](https://publish.obsidian.md/tasks/Getting+Started/Statuses/Recurring+Tasks+and+Custom+Statuses). |
+| `3` | `x` | DONE followed by DONE | `DONE` | This `DONE` status is followed by `DONE`, not `TODO` or `IN_PROGRESS`.<br>If used to complete a recurring task, it will instead be followed by `TODO` or `IN_PROGRESS`, to ensure the next task matches the `not done` filter.<br>See [Recurring Tasks and Custom Statuses](https://publish.obsidian.md/tasks/Getting+Started/Statuses/Recurring+Tasks+and+Custom+Statuses). |
+| `4` | `X` | DONE followed by CANCELLED | `DONE` | This `DONE` status is followed by `CANCELLED`, not `TODO` or `IN_PROGRESS`.<br>If used to complete a recurring task, it will instead be followed by `TODO` or `IN_PROGRESS`, to ensure the next task matches the `not done` filter.<br>See [Recurring Tasks and Custom Statuses](https://publish.obsidian.md/tasks/Getting+Started/Statuses/Recurring+Tasks+and+Custom+Statuses). |
+| `5` | `n` | DONE followed by NON_TASK | `DONE` | This `DONE` status is followed by `NON_TASK`, not `TODO` or `IN_PROGRESS`.<br>If used to complete a recurring task, it will instead be followed by `TODO` or `IN_PROGRESS`, to ensure the next task matches the `not done` filter.<br>See [Recurring Tasks and Custom Statuses](https://publish.obsidian.md/tasks/Getting+Started/Statuses/Recurring+Tasks+and+Custom+Statuses). |