Present search timeouts in a reasonable and consistent way; bump default Zoekt 1.5s timeout -> 3s
Created by: slimsag
Before this change: a literal UX disaster
Sometimes, you would just get a timeout error without any clear action:
Sometimes, you would get a completely different timeout UI with a clear action:
And other times you would get yet again a completely different UI with different styling and messaging:
After this change: a more pleasant experience
There is only one UI, it is always consistent, and it always has a clear action button to wait longer and recommendations are shown consistently and appropriately.
Additionally, instead of the default Zoekt timeout of 1.5s we now use 3s. The reasoning for this is that no user would reasonably want to get an error instead of waiting an extra 1.5s. There is a clear argument for not going higher than this, of course, because once you start getting into 4-5s territory users may not want to wait that long. This is a stop-gap solution and signals the need for better search timeout monitoring: #6756 (closed)
Fixes #6754 (closed)
Test plan: Manual, this code is unfortunately very difficult to test currently.