Updating tracker for dispatcher.utter_message

Hello,

Any idea why the dispatcher uses an outdated tracker state (w.r.t slots?)

We are updating the tracker object of actions and forms in a decorator (in order to ensure some specific bot state fields).

We are then dispatching messages within the actions/forms. We then notice that the data in the tracker slots used to fill the message variables is outdated or missing.

It used to be that the dispatcher would also accept a tracker as argument. Why is that not possible anymore?

it’s not outdated, it is different trackers and different dispatchers: inside rasa core and inside Rasa SDK. The core one get updated after action is executed, so during an action the dispatcher uses the tracker inside the core. You can pass the new slots like it is done here: rasa-sdk/forms.py at ec40591a2aed09cc31c1399a2c95fca060a31e98 · RasaHQ/rasa-sdk · GitHub