ContextWatchdog should be able to exclude singletons #12292
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.
📝 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 thegetSubNodes()
helper, though. When an error is thrown in one editor, the connection througheditor.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 theTooltipManager
instance (andgetSubNodes()
) 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.
The text was updated successfully, but these errors were encountered: