Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Middlewares can not detect modification directly made in the parent action #1948

Open
3 tasks done
weiwei-lin opened this issue Aug 23, 2022 · 3 comments
Open
3 tasks done
Labels
docs or examples Documentation or examples related level: intermediate on hold

Comments

@weiwei-lin
Copy link

Bug report

  • I've checked documentation and searched for existing issues
  • I've made sure my project is based on the latest MST version
  • Fork this code sandbox or another minimal reproduction.

Description
The documentation on addMiddleware says

Middleware can be used to intercept any action is invoked on the subtree where it is attached. If a tree is protected (by default), this means that any mutation of the tree will pass through your middleware.

However, this is not true. When the parent action modify the child directly, the middleware cannot detect the action.
This either needs to be fixed. Or at least the function documentation needs to be updated to reflect the actual behavior.

Sandbox link or minimal reproduction code
sandbox

Describe the expected behavior
Click on "modify from parent".
Console should print "action detected"

Describe the observed behavior
Click on "modify from parent".
Console did not print "action detected"

@coolsoftwaretyler
Copy link
Collaborator

@weiwei-lin - thanks for the Sandbox, and apologies for taking so long to get back to you. I see what you mean. I think this is a case of the documentation being unclear/conflicting.

The documentation you posted here conflicts with (my interpretation of) what we say in the middleware concepts doc about targets:

the middleware will only be attached to actions of the target and further sub nodes of such.

The behavior in your Sandbox is consistent with the conceptual documentation, but not the actual documentation for addMiddleware.

@jamonholmgren - do you have thoughts/knowledge on which interpretation is the intended behavior?

@zuhorer
Copy link

zuhorer commented Sep 19, 2023

issue moved to coolsoftwaretyler/mst-middlewares#5

@coolsoftwaretyler coolsoftwaretyler added the docs or examples Documentation or examples related label Sep 21, 2023
@coolsoftwaretyler
Copy link
Collaborator

^ Whoops, we are not moving this over there. This got captured in a big issue migration because it looked like a middlewares issue, but I think this is just a docs problem. Leaving here and open for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs or examples Documentation or examples related level: intermediate on hold
Projects
None yet
Development

No branches or pull requests

3 participants