Remove instead of fade to-do items that get marked as (un)done

What does this MR do and why?

This removes the custom fade effect from todos that just got marked as done, or undone.

Instead, a full Apollo refetch gets triggered, which, when finished, removes the todo from the list.

To make this effect smoother, Vue list transitions are used.

It was also required to change the Apollo cache strategy. Otherwise, on a long, paginated list, checking (removing) an item would not load in the next item to fill up that page. Nor would that removed item show up on the other tab if that tab was already cached earlier.

And since we want to still provide our users a way to undo an action, instead of the faded item staying around, we show a toast with an Undo button.

References

Immediately remove completed todos from the list (#501440 - closed)

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

recording_1730398566160

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

Related to #501440 (closed)

Edited by Thomas Hutterer

Merge request reports

Loading