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

Centralize side effect management #4232

Closed
boydc2014 opened this issue Sep 22, 2020 · 2 comments
Closed

Centralize side effect management #4232

boydc2014 opened this issue Sep 22, 2020 · 2 comments
Assignees
Labels
Area: Quality feature-request A request for new functionality or an enhancement to an existing one. Team: Platform

Comments

@boydc2014
Copy link
Contributor

Leave the side effect (lu/lg/qna) management into the caller side (form\visual) is an architecture is fragile and very error-prone architecture. In the past, we've fixed many issues, regressions on those operations. See blow of the list.

Letting shell take control the side effect management will lead us to a more stable, testable architecture which have a higher level guarantee of correctness of the application.

This would include a generic change detection mechanism in shell and a pub-sub mechanism to call certain actions under certain changes. This would also make the application more extensible for further customization.

Note: this ticket is a pure refactoring, only cover the centralization part, without creating any new v property.

@zhixzhan
Copy link
Contributor

zhixzhan commented Sep 22, 2020

FYI, some previous issue on areas that generate side effect.

undo/redo

copy/paste

concurrency

resource consistency

editor calling

other entrance

previous discuss

@benbrown benbrown removed the Needs-triage A new issue that require triage label Sep 22, 2020
@gabog gabog added feature-request A request for new functionality or an enhancement to an existing one. and removed Type: Enhancement labels Oct 6, 2020
@boydc2014
Copy link
Contributor Author

Close this for now, since it's out of date.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Quality feature-request A request for new functionality or an enhancement to an existing one. Team: Platform
Projects
None yet
Development

No branches or pull requests

4 participants