You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
bug #2094 [Autocomplete] Reset form state on each request for applications that reuse the Symfony application between requests (dotdevio)
This PR was squashed before being merged into the 2.x branch.
Discussion
----------
[Autocomplete] Reset form state on each request for applications that reuse the Symfony application between requests
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| Issues |
| License | MIT
Hi there, in ux-autocomplete there is an WrappedEntityTypeAutocompleter::getForm which on first call saves form instance in WrappedEntityTypeAutocompleter $form property, it has method setOptions which is called on each request in EntityAutocompleteController, in PHP-FPM everything will work as expected where container is created on each request, but with Swoole or similar where container is not created on each request rather only first request on first EntityAutocompleteController request everything is also fine, but on second request WrappedEntityTypeAutocompleter will have an instance of form from previous request which is fine but the call of setOptions in controller will throw exception.
So in Swoole on second and next requests $this->form already contains an instance of form from previous request because DI Container is not created on each request as in PHP-FPM (Container is created only once) and exception is thrown. So, Symfony have an kernel.reset / kernel.terminate event which probably can be used here to reset $this->form in WrappedEntityTypeAutocompleter because they are fired after request is completed.
Commits
-------
e5e9b90 [Autocomplete] Reset form state on each request for applications that reuse the Symfony application between requests
0 commit comments