Not sure when this happened, but the feature got broken:

https://user-images.githubusercontent.com/29597/130155150-18fbca13-42d7-4d7d-831e-8db4a9672d94.mp4

Using the up/down arrows to navigate the list works fine, but jumping to the next/previous component with a warning or error doesn't quite work correctly. (The scroll offset is wrong so the component is often not visible.)
console.groupCollapsed('onBridgeOperations');
      debug('onBridgeOperations', operations.join(','));
    }
    let haveRootsChanged = false;
    let haveErrorsOrWarningsChanged = false;
    // The first two values are always rendererID and rootID
    const rendererID = operations[0];
    const addedElementIDs: Array<number> = [];
    // This is a mapping of removed ID -> parent ID:
    const removedElementIDs: Map<number, number> = new Map();
    // We'll use the parent ID to adjust selection if it gets deleted.
    let i = 2;
    // Reassemble the string table.
    const stringTable = [
      null, // ID = 0 corresponds to the null string.
    ];
    const stringTableSize = operations[i++];
    const stringTableEnd = i + stringTableSize;
    while (i < stringTableEnd) {
      const nextLength = operations[i++];
      const nextString = utfDecodeString(
        (operations.slice(i, i + nextLength): any),
      );
      stringTable.push(nextString);
      i += nextLength;
    }
    while (i < operations.length) {
      const operation = operations[i];
      switch (operation) {
        case TREE_OPERATION_ADD: {