Patch panic around pinned tab count (#33335)

After much investigation, I have not been able to track down what is
causing [this
panic](https://github.com/zed-industries/zed/issues/33342). I'm clamping
the value for now, because a bug is better than a crash. Hopefully
someone finds reproduction steps, and I will implement a proper fix.

Release Notes:

- N/A
This commit is contained in:
Joseph T. Lyons 2025-06-24 16:24:06 -04:00 committed by GitHub
parent 9427526a41
commit 0c78a115de
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2784,7 +2784,19 @@ impl Pane {
})
.collect::<Vec<_>>();
let tab_count = tab_items.len();
let unpinned_tabs = tab_items.split_off(self.pinned_tab_count);
let safe_pinned_count = if self.pinned_tab_count > tab_count {
log::warn!(
"Pinned tab count ({}) exceeds actual tab count ({}). \
This should not happen. If possible, add reproduction steps, \
in a comment, to https://github.com/zed-industries/zed/issues/33342",
self.pinned_tab_count,
tab_count
);
tab_count
} else {
self.pinned_tab_count
};
let unpinned_tabs = tab_items.split_off(safe_pinned_count);
let pinned_tabs = tab_items;
TabBar::new("tab_bar")
.when(