- Fixed an issue where `fullConfig` was not passed to `setTimeout` in
`getSpareTab`.
- Wrapped `ensureHotSpareTab` with an arrow function to ensure
`fullConfig` is properly passed.
**When I use wave as my terminal, sometimes the setting does not work. I
read the source code and found this issue**
Co-authored-by: Evan Simkowitz <esimkowitz@users.noreply.github.com>
When a user spams Cmd:T, a WaveTabView might be created but never end up
getting mounted to the window, since another will come along before it
can. In these cases, the WaveTabView is essentially in a bad state and
attempting to switch to it will result in the window becoming
unresponsive. While we could recover it by running waveInit again, it's
easier to just dispose of it and treat it as an unloaded tab next time
it gets switched to.
This adds a timeout to each WaveTabView where once it gets assigned a
tab ID, it has 1 second to respond "ready" or it will be destroyed. This
should help prevent resource leakages for these dead views.
fixes bug with closeTab when the tab didn't exist in the waveWindow cache. also adds Cmd-Shift-W to close a tab (doesn't work for pinned tabs). and restores Cmd-W for killing blocks on pinned tabs