change order of hook invocation and setting task id (#3339)

this prevents that the task id is always returned as zero after a hook
is run on it
closes #3312
This commit is contained in:
Felix Schurk 2024-04-06 02:45:55 +03:00 committed by GitHub
parent 933885f21c
commit b5aa7c6ae2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -87,7 +87,7 @@ void TDB2::add (Task& task)
for (auto& attr : task.all ()) {
// TaskChampion does not store uuid or id in the taskmap
if (attr == "uuid" || attr == "id") {
continue;
continue;
}
// Use `set_status` for the task status, to get expected behavior
@ -118,12 +118,13 @@ void TDB2::add (Task& task)
// update the cached working set with the new information
_working_set = std::make_optional (std::move (ws));
if (id.has_value ()) {
task.id = id.value();
}
// run hooks for this new task
Context::getContext ().hooks.onAdd (task);
if (id.has_value ()) {
task.id = id.value();
}
}
////////////////////////////////////////////////////////////////////////////////