Title here
Summary here
When a task is assigned, DeskFlow should email Alex after the HTTP response — not block the API.
defer() for post-response worktask.createcomposer require react/promise if not already in your app (needed for defer/async helpers)In createAction, after save():
$assignee = $data->getString('assignee', 'alex@northwind.studio');
defer(function () use ($assignee, $task) {
logger()->info('DeskFlow assignment email queued', [
'assignee' => $assignee,
'task_id' => $task->id ?? null,
]);
});The client gets JSON immediately; logging runs after send().
For durable jobs with RoadRunner, use async('mail', 'send', …) — see Background work.