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

ContextWatchdog should be able to exclude singletons #12292

Closed
oleq opened this issue Aug 19, 2022 · 2 comments
Closed

ContextWatchdog should be able to exclude singletons #12292

oleq opened this issue Aug 19, 2022 · 2 comments
Labels
package:ui package:watchdog resolution:expired This issue was closed due to lack of feedback. status:stale type:improvement This issue reports a possible enhancement of an existing feature.

Comments

@oleq
Copy link
Member

oleq commented Aug 19, 2022

📝 Provide a description of the improvement

The new tooltip manager system works as a singleton. Its only instance is shared across all editors under editorui.ui.tooltipManager property.

This is unprecedented and it makes the context watchdog go off the rails when and error is thrown.

Watchdog uses areConnectedThroughProperties() to determine which editor instances to restart in case of an error. It has a logic that ignores certain things hardcoded in the getSubNodes() helper, though. When an error is thrown in one editor, the connection through editor.ui.tooltipManager is discovered, and all editors are restarted, which is incorrect.

To workaround this issue, we had to set the temporary this._watchdogExcluded = true; flag in the TooltipManager instance (and getSubNodes()) to prevent the watchdog from making this kind of connection. This is not pretty to say the least and probably we need a better logic to discover singletons and manage them.

cc @scofalik


If you'd like to see this improvement implemented, add a 👍 reaction to this post.

@oleq oleq added type:improvement This issue reports a possible enhancement of an existing feature. package:ui package:watchdog labels Aug 19, 2022
@CKEditorBot
Copy link
Collaborator

There has been no activity on this issue for the past year. We've marked it as stale and will close it in 30 days. We understand it may be relevant, so if you're interested in the solution, leave a comment or reaction under this issue.

@CKEditorBot
Copy link
Collaborator

We've closed your issue due to inactivity over the last year. We understand that the issue may still be relevant. If so, feel free to open a new one (and link this issue to it).

@CKEditorBot CKEditorBot added the resolution:expired This issue was closed due to lack of feedback. label Oct 31, 2023
@CKEditorBot CKEditorBot closed this as not planned Won't fix, can't repro, duplicate, stale Oct 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package:ui package:watchdog resolution:expired This issue was closed due to lack of feedback. status:stale type:improvement This issue reports a possible enhancement of an existing feature.
Projects
None yet
Development

No branches or pull requests

2 participants