UpdateHostDisplay withNonParameterStateChanged sometimes ignored by Reaper

Our plugin calls
AudioProcessor::updateHostDisplay (ChangeDetails().withNonParameterStateChanged (true));
when the user performs an action that invalidate the plugin state in order to notify the host that the plugin state has changed. Besides calling it after special user interaction, we also call it when the Editor is closed.

Now when testing the VST3 build with Reaper, I see a strange behaviour: I can follow the call to updateHostDisplay down to the VST3 internal ComponentRestarter::handleAsyncUpdate function I can see that it being executed. However, if the editor is not closed, reaper will not mark the project as unsaved and ask the user to save the session. In contrast to that, e.g. Ableton Live 11 immediately marks the project as unsaved when the user performs an action that leads to the invocation of updateHostDisplay.

I’m not sure how to debug this better, but does anyone have a clue why reaper would ignore this call unless the editor has been closed? Is there anything else I should do than calling updateHostDisplay in order to inform the host that the plugin state has been invalidated and needs to be re-saved?

The project uses JUCE 6.1.4

I am having the same issue with Juce 7, updateHostDisplay with withNonParameterStateChanged doesn’t add an undo state in Reaper or mark the project dirty. I guess the annoying workaround of using a dummy parameter still needs to be used…

Did you check that with the latest Reaper release? We were under the impression that this has been fixed from the Reaper side recently.