This is kind of hard to explain, so here's the STR:
- Open a clean profile
- Install bitwarden (or any extension with the
tabs permission)
- Change to vertical tabs (not actually sure this matters)
- Create 3 tab groups named "Group 1", "Group 2", and "Group 3", and in each tab group open 3 tabs on different sites (best for each of the 9 tabs to be a different domain to make it easier to see which is which). Note: Don't open the new tab groups in new windows when doing this, just open them one by one in the initial window.
- Now, in the initial window, go to Group 1, then right click on the 2nd and 3rd tab groups and open in separate window.
- Go through all three windows and make sure none of the tabs are sleeping or inactive
- In the bitwarden extension console, run
chrome.tabs.query({}).then((t) => console.table(t, ["url", "id"]));. You should see the 9 tabs listed with their id and url
- In the window with Group 3, switch to Group 2. Click on all the tabs to make sure they are active
- Run
chrome.tabs.query({}).then((t) => console.table(t, ["url", "id"])); again. You'll see that the tabs in Group 2 now have different tab ids than they did the first time you queried them. (Note: you'll also see the tabs in Group 3 disappear from the list, this happens in Safari too, so I'm not considering that a bug)
Doing the same steps in safari (Version 26.2 (21623.1.14.11.9)), you will see that the tab id is the same across all windows.
The UI/UX of the multiple window setup feels like it considers both tabs to be the same (opening it in one window makes it blank in other windows, when you click a link in one, it changes all instances of the tab, etc), so it makes more sense to have them use the same tab id
It also really makes life difficult for extension developers trying to operate on tabs using the tab id. instead of having one id that can always be reliably used to target a tab, we have to constantly query the tabs to figure out which one of the tab ids is the "active" one, since running operations on a tab that isn't in an active window will not work.
Version 1.0.4 (143), WebKit 624.1.2.19.2, MacBook Air (macOS Tahoe 26.2 build 25C56)
Tahoe (26)