# Why diagnostic_aggregator returns ERROR instead of STALE in some cases? [closed]

As you know, diagnostic_aggregator (DA) returns diagnostics by grouping sub devices into certain categories. The operation status of top level devices only becomes STALE when the status of all sub devices are STALE, and otherwise the status becomes ERROR no matter what. And its source code:

00188     // Header is not stale unless all subs are
00189     if (all_stale)

robot_monitor (or its rqt plugin rqt_robot_monitor) provides a feature to fold sub devices at the top level and shows the icon that summarises the status in its sub devices. Because of DA's spec, some top level shows error when it actually doesn't contain error but STALE. I feel it's misleading.