Fix sidebar metadata commands failing in multi-window setups (#54)
resolveTabForReport only searched the active window's tab manager, so report_ports, report_git_branch, report_pwd, set_status etc. returned "Tab not found" when the shell's --tab UUID belonged to a different window. Fall back to AppDelegate.tabManagerFor(tabId:) to search all window contexts.
This commit is contained in:
parent
be74e73b20
commit
4220c3808f
1 changed files with 9 additions and 1 deletions
|
|
@ -8661,7 +8661,15 @@ class TerminalController {
|
|||
guard let tabManager else { return nil }
|
||||
let parsed = parseOptions(args)
|
||||
if let tabArg = parsed.options["tab"], !tabArg.isEmpty {
|
||||
return resolveTab(from: tabArg, tabManager: tabManager)
|
||||
if let tab = resolveTab(from: tabArg, tabManager: tabManager) {
|
||||
return tab
|
||||
}
|
||||
// The tab may belong to a different window — search all contexts.
|
||||
if let uuid = UUID(uuidString: tabArg.trimmingCharacters(in: .whitespacesAndNewlines)),
|
||||
let otherManager = AppDelegate.shared?.tabManagerFor(tabId: uuid) {
|
||||
return otherManager.tabs.first(where: { $0.id == uuid })
|
||||
}
|
||||
return nil
|
||||
}
|
||||
guard let selectedId = tabManager.selectedTabId else { return nil }
|
||||
return tabManager.tabs.first(where: { $0.id == selectedId })
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue