Tree Tabs
-
@luetage I'd disagree . I think it's ok to do that (unless it's explicitly prohibited by Store policy) with a note that it works only on Vivaldi (or Chrome forks with side panels, if it's the case).
Regarding the previous discussion - don't see much. You mentioned it once, but I'd appreciate an opinion from @kroppy here too. -
@luetage + I won't call it dysfunctional really. It can display tab tree in a separate tab for example
-
Also, the following thing is happening for me:
I have 2 windows and on restart, I consistently lose tree structure in one of the windows. Also after restart the TreeTabs panel displays the same content for me, so I need to remove and add panel back to get back to operational state. -
@stvad, I would have to do a popup with "sidebar" frame inside of it, otherwise Chrome store would just reject it as non functional. Also they prohibit any references to other browsers. Like things in options page and so on. Same goes for Opera extensions page, they strictly said I have to remove anything that says Vivaldi or Firefox. I had to make dynamic options page. I don't know how strict Chrome store is, but I guess it's similar.
-
@stvad, you mean all goes in "Ungrouped" group?
I'm afraid your local storage have some corrupted data... It can be a lot of work to fix, but you can try to export session, then go to tree tabs options, export your theme and reset everything with the button at the bottom. After that "Import and merge" session. Try not change tabs count too much before merge, otherwise it will fail to recognize them.
I have to make something to make it easier to do...Also after restart the TreeTabs panel displays the same content for me
This is a known issue. When web panels start, Vivaldi reports active windowId to all web panels instead of windowIds where each web panel is. Pretty annoying, because each instance of my extension thinks it's in wrong window. Actually Opera had this issue for quite long time too, but they fixed it more than a year ago. I think it's in the core of Blink-Chromium engine, when using chrome.tabs.query({currentWindow: true}) it returns active window instead of the one where extension runs.
-
@kroppy I uploaded an extension to chrome store with a big relink to Vivaldi download page, so far it's up and running. But it probably fell through the cracks.
-
@kroppy Things going to Ungrouped is one thing, but the tree structure also disappears (i.e. it's flattened out ). Also, it's peculiar, that it happens only for one of the windows.
If it's relevant I've originally imported my tabs from FF version of the extension. I'll try re-import approach.
Re same content - I see, that is unfortunate. But why in this case when I reload the content of the panel it does not help and only the re-adding the panel helps (And is there a less cumbersome way to do re-initialization then re-adding the panel)?
-
@kroppy Having an extension button create a popup that shows current sidebar frame (with all groups/tabs from all windows to work around the fact that the 'active' window does not have other tabs?) does not seem like a big price for entry imho (I may be biased though as I'm doing feature request instead of pull request here)
Not mentioning other browser policy is unfortunate. It will reduce discoverability, but I think on average it'll increase UX for Vivaldi users considerably.
-
@luetage Great, thank you for trying that! (Can't seem to find it though, is it still up? Can you share the link?)
-
@stvad So I've tried Export-Reset-Import.
Results are:
I've lost groups but not the tree structure and this time - for a different window. (which is an improvement on loosing both tree structure and groups, but )UPD: And after the restart, I still lost groups and tree structure on the window where I was losing them previously
UPD2: I've done another import on top of that - that restored the structure and groups and it seems to be holding after restart (hope this persists :)).
-
@stvad For some reason I don't receive notifications And I didn't see your response. I have to check my profile.
Anyway, good. Keep me updated on this -
Having an extension button create a popup that shows current sidebar frame (with all groups/tabs from all windows to work around the fact that the 'active' window does not have other tabs?) does not seem like a big price for entry imho (I may be biased though as I'm doing feature request instead of pull request here)
Not mentioning other browser policy is unfortunate. It will reduce discoverability, but I think on average it'll increase UX for Vivaldi users considerably.When I have time I may think of some way to publish it to Chrome store. But I will have even more testing and maintenance for compatibility.
It's such a shame Vivaldi does not have its own extensions pageRe same content - I see, that is unfortunate. But why in this case when I reload the content of the panel it does not help and only the re-adding the panel helps (And is there a less cumbersome way to do re-initialization then re-adding the panel)?
Reload by using reload button on the web panel toolbar usually does the job... So I'm not sure what's up
If you just turn off and back on the web panel it does not reload tree tabs. Which actually is really cool, since tree tabs shows up instantly. -
@kroppy seems it gets corrupted sometime during usage or something - next restart (after running and using the browser for some time) lead to the situation as before again - loss of tree and groups in one window and loss of groups in another window
-
When I have time I may think of some way to publish it to Chrome store. But I will have even more testing and maintenance for compatibility.
Thank you!
Reload by using reload button on the web panel toolbar usually does the job... So I'm not sure what's up
If you just turn off and back on the web panel it does not reload tree tabs. Which actually is really cool, since tree tabs shows up instantly.Ah, I didn' t interpret the 'home' button as reload. When I meant reload - I did 'Show desktop/mobile version' which is actually works fine it turns out if I do it for both windows.
In this case, may I suggest a hack of doing self-reload on (or a few moments after) browser startup? -
In this case, may I suggest a hack of doing self-reload on (or a few moments after) browser startup?
Sorry I didn't explain it better, issue is a bit more complex than simply reloading.
When I call chrome.windows.getCurrent or chrome.tabs.query({currentWindow: true}) for tabs, Vivaldi always returns activeWindow, so even if I reload all sidebars, all sidebars in non-active windows, will always get window (and tabs) from the active window.
No matter how many times i reload it from the sidebar, result will be the same.
Only when user manually reloads the sidebar (panel), in active window it will get correct tabs, simply because this window is automatically active.
I will have to do something else.
Anyway I found my conversation for exactly this issue in Opera, it got fixed 3 years ago And like I said, it must be in chrome itself.
https://forums.opera.com/topic/11488/sidebar-windowid/11EDIT:
I reported a bug to Vivaldi (VB-39922). So maybe they will take a look. Firefox does it right and also Opera, so why not Vivaldi? Why should we suffer because of this issue right?EDIT2:
Ok, I added a little check, on mouse press on empty space anywhere close to tabs. This way I know for 100% that this window is active and I can check if previously taken window is correct. If not, panel will auto reload. A little clunky, but this way you will have correct tabs, without the need to do it manually. Just click below tabs or on panel's scrollbar.
I will upload update soon. -
@stvad There must be something going on there... Maybe some tab with particular url from Firefox. But I can't tell what it could be. Also after I changed storage method there is no way to check, if it gets truncated or something. When I was using regular local storage It was possible to check all variables from extensions page->inspect background->in dev window->Application->Local Storage.
But permanent storage does not allow to take a look there. I can make something to "print out tabs ids and hashes" so you can run it and and tell me the results afterwards... Also you can turn on debug in options and restart vivaldi, after that you can go to extensions page and click on inspect background and tell me what console says there... -
@kroppy Ah I see. Is there a way to get tabs for all windows i.e {'windowId': [tab_list]} map and maybe then query current window id and pick only relevant tabs from that map (unless querying current window id have the same bug)?
Thanks for introducing a hack (would it work if I try to click on the tab and not nearby?)
-
@kroppy It's embarrassing but I didn't figure out a way to do the raw copy of the console output . Best I found is using copy function to copy any particular object to the clipboard, but there is a ton of them...
I'd go with the custom print script (or advice if you know how to do the raw dump of the console log) -
@stvad That's ok, I packed Nightly today, so can you check this one out?
https://drive.google.com/open?id=1jf-8QtsaFlVjvFFBaU3PYcN8C6R7VcJG -
Ah I see. Is there a way to get tabs for all windows i.e {'windowId': [tab_list]} map and maybe then query current window id and pick only relevant tabs from that map (unless querying current window id have the same bug)?
This is what chrome.tabs.query({currentWindow: true}) is for. And this is where the bug is
Even with just tabs query where I get all tabs, I have no way to get current window, until this window becomes active. Because any command to get current window returns, active, not current. I don't know how to explain this better...