In a single page app that has a list of things, i.e. ‘tasks’, is it best to allow the user to edit them in place

Say I develop a single page app using Angular that displays a list of todo tasks, for example:

   Task: Grocery Shopping
   Due:  10/01/17
   [Done][Delete]

   Task: Call Mobile Company
   Due:  23/02/17
   [Done][Delete]

From a usability perspective, do you think it's better to have users be able to edit the task name 'Grocery Shopping' and date in place as it is in the list with no confirmation that it's been updated (it just happens behind the scenes when it detects a change), or is it better to pop up a modal with that information then hit 'done'? Or is it better to allow them to edit it in place and then have a 'done editing' button?