I do not see a flickering due to this change on my unagi device. I do see a flicker because of the platform using the cached screenshot of the app, then it shows the app itself, but the app is at that "HTML page has loaded, but I do not know my state yet so I'm showing black" state.

For the transition from blank card to Inbox though, I do not see a flicker. That said, I looked at doing the following:

* Convert the insertedNoAccount boolean to a "insertedCard" string that would store the string of the card type inserted on the first pass.
* If insertedCard was "message-list" then do tellCard and not removeSuccessors

The problem with that approach is the reset of the insertedNoAccount at the end of the function, around line 181 (which would then be `insertedCard = ''`). That is needed to allow the no account card insertion later if the user does an "add, remove, then add again" in the same session. That reset is done before the async code that would check for insertedCard === 'message-list' would run, so the tellCard optimization would not run.

An alternative approach would be to query the DOM to get the truth. However, since these changes are done for performance reasons, I was not comfortable adding in some DOM querying. But if you all feel that would be better, then I would likely introduce a new Card method, something like hasCard() which would operate similar to _findCard() but not throw.

However, I would rather have confirmation that this change flickers on other devices before doing that change.