3080: Rename `originalFilters` into `originalFilter` on the cancelation and deletion routes r=irevoire a=Kerollmops
This PR fixes https://github.com/meilisearch/meilisearch/issues/3079.
Co-authored-by: Clément Renault <clement@meilisearch.com>
3067: Fix task details serialization r=Kerollmops a=ManyTheFish
# Pull Request
- document addition task details always contain the field `indexedDocuments`
- value is set to `null` when the task is enqueued or processing
- value is set to `0` when the task is canceled or failed
- the field `deletedDocuments` of the document deletion task details is set to `0` when the task is canceled or failed
- the field `deletedDocuments` of the document clearAll task details is set to `0` when the task is canceled or failed
- the field `deletedTasks` of the task deletion task details is set to `0` when the task is canceled or failed
- the field `canceledTasks` of the task cancelation task details is set to `0` when the task is canceled or failed
## Related issue
Fixes#3057Fixes#3058
Co-authored-by: ManyTheFish <many@meilisearch.com>
3068: Prepend question mark to the `originalFilters` of the task deletion and cancelation r=irevoire a=Kerollmops
This pull request fixes#3064 by prepending [the HTTP query question mark](https://en.wikipedia.org/wiki/Question_mark#Computing) to the `originalFilters` of the task deletion and cancelation.
Co-authored-by: Kerollmops <clement@meilisearch.com>
3036: Bump milli to v0.35.1 r=irevoire a=Kerollmops
This PR bumps milli to v0.35.1 which brings some fixes. You can see [the changelog of milli on the release page](https://github.com/meilisearch/milli/releases/tag/v0.35.1).
Fixes#2905Fixes#3004Fixes#3000Fixes#3021Fixes#2945
Co-authored-by: Clément Renault <clement@meilisearch.com>
Co-authored-by: Kerollmops <clement@meilisearch.com>
3023: Update error codes related to tasks cancelation + add canceledBy filter r=Kerollmops a=Kerollmops
<details>This PR changes the error codes [to follow the specification](https://github.com/meilisearch/specifications/pull/195).
- [x] The `missing_filters` error code is renamed `missing_task_filters` to be more accurate and follow the `invalid_task_*` convention.
- [x] The error code `invalid_task_uids_filter` is added.
- [x] The error code `invalid_task_canceled_by_filter` is added.
- [x] The error code `invalid_task_date_filter` is added.
- The error message is the same as for expires_at in the API Key EXCEPT that it does not explicitly mention that a date must be given in the future.
</details>
Edit by `@loiclec` :
I have added a few more changes into this PR. The related issues are:
- Fixes https://github.com/meilisearch/meilisearch/issues/3029
- Implements https://github.com/meilisearch/meilisearch/issues/3026
- Fixes https://github.com/meilisearch/meilisearch/issues/2940
- Fixes https://github.com/meilisearch/meilisearch/issues/2939
Additionally:
- Fixes a bug where global tasks were returned by `GET /tasks` queries even if the user did not have the `index.*` API key action.
- Rename `originalQuery` to `originalFilters`
- Display `error: null` and `canceledBy: null` in the task views
- Allow using the star operator in the task filters in the `DELETE /tasks` and `POST /tasks/cancel` routes
- Make sure that the index scheduler keeps making progress even when a grave error occurs.
Co-authored-by: Kerollmops <clement@meilisearch.com>
Co-authored-by: Clément Renault <clement@meilisearch.com>
Co-authored-by: Loïc Lecrenier <loic.lecrenier@me.com>
And make index_not_found error asynchronous, since we can't know
whether the index will exist by the time the index swap task is
processed.
Improve the index-swap test to verify that future tasks are not swapped
and to test the new error messages that were introduced.