ngxs-labs / dispatch-decorator

:dart: Distribution for separation of concern between the state management and the view
MIT License
43 stars 4 forks source link

Dispatch problem after upgrading from version 4 to 5 #574

Closed angeladeliz closed 4 months ago

angeladeliz commented 5 months ago

After updating the project to Angular 17, it was also necessary to update the version of @ngxs-labs/dispatch-decorator from "4.0.2" to "5.0.0" and then I started to face usability problems. Actions that previously worked correctly have a long delay and often only trigger a click event elsewhere on the screen.

To validate that the problem was updating this plugin, I returned my application to Angular version 15.1.5 and the @ngxs-labs/dispatch-decorator version to 4.0.2 and it worked perfectly as you can see in the gif below:

evidencia issue funcionamento correto

So still in version 15.1.5 of Angular I updated the version of @ngxs-labs/dispatch-decorator to "5.0.0" and the problem starts to occur as shown in the gif below: evidencia erro

The gifs were an example, but all actions in my application that use @Dispatch() have the same behavior of not executing the action automatically, requiring a click event.

However, as the version of dispatch-decorator 4.x.x is not compatible with Angular 17, it is not an option to downgrade the version.

It is important to highlight that tests were carried out in different environments and not all of them were able to be reproduced in the same way. In some cases it works correctly in Chrome, while in Firefox it happens more frequently and the other way around too. Tests carried out locally and in environments published in AWS.


[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report  
[x] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => https://github.com/ngxs/store/blob/master/CONTRIBUTING.md
[ ] Other... Please describe:

Current behavior

@Dispatch() waiting for click event

Expected behavior

@Dispatch() should follow the flow without the need for manual on-screen interaction

Minimal reproduction of the problem with instructions

Dispatch actions from the example above image image

image

image image

Environment


Libs:
- @angular/core version: 15.1.5 and 17.1.3
- @ngxs/store version: 3.7.3 and 3.8.2


Browser:
- [x] Chrome (desktop) version 125.0.6422.141
- [ ] Chrome (Android) version XX
- [ ] Chrome (iOS) version XX
- [x] Firefox version 127.0.1
- [ ] Safari (desktop) version XX
- [ ] Safari (iOS) version XX
- [ ] IE version XX
- [ ] Edge version XX

For Tooling issues:
- Node version: 18.19.1 
- Platform: Linux

Others:

angeladeliz commented 4 months ago

I identified that the problem was due to my app.module being configured with NoopNgxsExecutionStrategy, the removal worked correctly