Instead of replacing the entire group of characters
with a single block.
While at it, highlight all tab spaces separately,
even in the middle. Unlike spaces, tabs in the middle
of a name were likely used by mistake.
Queue and exchange names, for now.
Currently leading and trailing whitespace in names
is very difficult to spot as both management UI
and CLI tools do not highlight whitespace in names
in any way.
Names with leading and trailing whitespace are always
a mistake and cause confusion. In a recent support
case they wasted quite a bit of time.
B is used for powers of 10, e.g. 10^6 bytes = 1MB
iB is used for powers of 2, e.g. 2^20 bytes = 1MiB
Since the division is using a power of 2, the symbol used also needs to
be a power of 2.
https://en.wikipedia.org/wiki/Byte
Without this, as soon as a column is sorted, extra padding is added and
all table contents get shifted a few pixels downwards in a rather jerky
fashion - this is difficult to capture in screenshots. Also, text in
table headers becomes misaligned.
By using sorting symbols that have the same height, sorting columns
asc/desc doesn't make the content in table headers "jump" and remain
misaligned.
This change ensures that nodes whose name begins with `rabbit@` have that leading text removed. This saves UI space as, in production environments, the default node name is `rabbit@`.
While at it, remove remaining references to owner_pid_details.
We don't return it in the API any more.
It is useful for linking to the owner connection, so that part
we will brought back eventually in some shape or form (see #467).
Vhost supervisor status can be different on different nodes.
Report a warning if a vhost is down on any node.
State can be calculated from the cluster state.
Fixes#460
[#149634421]
This is more precise: internal flow control (the "flow"
state) is transient and throttling is a more suitable
and widely used term for describing what it effectively does.
* Don't throw and give up when our "pre-pre-prehistoric virtual DOM"
update isn't consistent, reaload instead
* Coerce the input to a string in two formatting functions
* In the same functions, catch nulls and undefined values early
This fixes a couple of relatively difficult to reproduce exceptions
caused by stats emission timing + DOM updates timing
that make the UI dysfunctional.