Ref T8637. If a user tries to batch edit a list of tasks which can't be edited, we fall through to withIDs(array()), which can affect everything.
Explicitly stop batch editing if we don't have valid IDs or valid tasks.
The UI sort-of warns you that something is wrong, but this is ultimately a pretty severe UX issue. I'll fix the underlying Query in the next diff.