Raise Method Error - Client Property not rollback

Hi,

I did the TodoList tutorial (Angular Meteor one if that matters), and I wanted to see how the “Methods” error management was working.

In the ‘tasks.setChecked’ method, I changed the test:

if (task.private && task.owner !== Meteor.userId()) {
            // If the task is private, make sure only the owner can check it off
            throw new Meteor.Error('not-authorized');
        }

to

if (task.private && task.owner == Meteor.userId()) {
            // If the task is private, make sure only the owner can check it off
            throw new Meteor.Error('not-authorized');
        }

so if I have a todo item that is private and that I own, I throw an error.

I change on the client side:

Meteor.call('tasks.setChecked', task._id, !task.checked, function (err) {
            if (!err) {
                console.log("Successfully check " + task._id + "!");
            } else {
                console.log("Failed to Check!")
            }
        });

I run my test.
All the console log are correct, I can see the error throws, the message log, but on the UI the check box is in the wrong state, it has not rollback.

Why?

Thanks for you time to help to understand what’s wrong.

FYI: I did a test with Insert / Remove and it is “rollbacking” as expected, It seems that only property are not rollbacked.