So I agree with the overall goal of this function, but I think it can be implemented a little easier with existing routines.  Mainly we want to reset our state and perform the search again.  This will automatically pull the contact DOM entries from the list again in the potentially new sort order.  It will also automatically use our chunking code to break up the work and avoid screen jank.

We probably also only want to do this if search is actually enabled.

So something like:

```javascript
var updateSearchList = function updateSearchList() {
  if (!searchEnabled) {
    return;
  }

  setTimeout(function updateTimeout() {
    // Resetting state
    contactNodes = null;
    searchTextCache = {};
    resetState();

    search();
  });
}
```

It would actually be good to factor out the part about clearing `contactNodes`, `searchTextCache`, and `resetState()` into a separate function since they are also called from `existSearchMode()`.  Maybe call it `resetStateAndCache()`?