Some of these issues are just me learning how this code works, so feel free to close them without "fixing" ...
toolbox-overlay.js calls listTabs:
target.client.listTabs(response => {
Then later calls it again inside the arrow function:
target.client.listTabs(({ tabs, selected }) => {
If I understand correctly, the 2nd call could be:
target.client.listTabs((response.tabs, response.selected) => {
❓
That would eliminate a duplicate call to listTabs right?