kesselborn / conex

Firefox extension
Mozilla Public License 2.0
173 stars 16 forks source link

Conex does not import all tabs from a TabGroups json export/backup saved file, and loses some of the tabs after a restart #318

Closed nekohayo closed 5 years ago

nekohayo commented 5 years ago

I'm trying to give Conex a go as my replacement and migration path from Firefox 56 and "TabGroups", however I found this showstopper problem today. I exported my TabGroups manual backup file (which creates a big .json), and in a different system user account where I had extracted the latest Firefox 67 tarball, launched into a clean profile and installed Conex, when importing from the json file I realized it does not import everything, not even close.

I compared the two instances of Firefox and counted the number of tabs per tab groups. Across 21 tab groups I had 888 tabs (!), and after the Conex import I still had the same amount of groups, but all except two of them had a significant amount of missing tabs, totalling 375 restored tabs.

If you want, I could privately email you my .json file if you would be willing to try using it to reproduce the problem (maybe using a different browser "profile" on your end for the sake of testing, then you can just delete it afterwards). Would you be interested in that?

nekohayo commented 5 years ago

OK, I gave this some more thorough testing and it gets even weirder. I tried the import process 3 more times, and every time I got a different number of imported tabs, and the number of tabs in each group varied between the tries (and for each try, I tried with a blank session/profile). It didn't make a difference if I did the import in offline mode (to save time & CPU & RAM by not loading every tab) or not.

So on the 1st try, out of 888 tabs I got 375 (42%) imported into conex, on the 2nd try I got 157 tabs (18%)... and the 3rd attempt is where it got interesting: normally as soon as the tabs were "imported" (i.e. the CPU stopped chugging and the system seemed to be idle) I would quit Firefox (with ctrl+Q) and restart it to allow Conex to visually hide/set the tabs into each groups; on the 3rd attempt however, I looked at the amount of tabs per group (in Conex's popup widget thingy) and there I could see that it was able to import "most" of the tabs (but not all), totalling 858 out of 888, which is roughly 96%... and then when I restarted Firefox after 5-10 minutes of idle waiting, after the restart Conex reported only 158 tabs spread across the groups. That number remained stable in subsequent restarts.

So somehow, Conex is losing some of the tabs at import time, and then further losing the majority of my tabs upon browser restart. And let's remember that this is with a fresh Firefox profile with only Conex and the global "Restore tabs on startup" Firefox setting enabled, so it's not like there's something borked up in the browser settings regarding the session saving delay. Therefore, I am puzzled as to why this happens.

kesselborn commented 5 years ago

Mmmm … that is indeed very strange — some kind of race condition. It’s been a loooooong time since I last touched this feature as the transition happened quite a while ago. Currently I can unfortunately not really look into this, it will take a while to look into this — sorry.

Cheers

On 9. Jun 2019, at 21:47, Jeff notifications@github.com wrote:

OK, I gave this some more thorough testing and it gets even weirder. I tried the import process 3 more times, and every time I got a different number of imported tabs, and the number of tabs in each group varied between the tries (and for each try, I tried with a blank session/profile). It didn't make a difference if I did the import in offline mode (to save time & CPU & RAM by not loading every tab) or not.

So on the 1st try, out of 888 tabs I got 375 (42%) imported into conex, on the 2nd try I got 157 tabs (18%)... and the 3rd attempt is where it got interesting: normally as soon as the tabs were "imported" (i.e. the CPU stopped chugging and the system seemed to be idle) I would quit Firefox (with ctrl+Q) and restart it to allow Conex to visually hide/set the tabs into each groups; on the 3rd attempt however, I looked at the amount of tabs per group (in Conex's popup widget thingy) and there I could see that it was able to import "most" of the tabs (but not all), totalling 858 out of 888, which is roughly 96%... and then when I restarted Firefox after 5-10 minutes of idle waiting, after the restart Conex reported only 158 tabs spread across the groups. That number remained stable in subsequent restarts.

So somehow, Conex is losing some of the tabs at import time, and then further losing the majority of my tabs upon browser restart. And let's remember that this is with a fresh Firefox profile with only Conex and the global "Restore tabs on startup" Firefox setting enabled, so it's not like there's something borked up in the browser settings regarding the session saving delay. Therefore, I am puzzled as to why this happens.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/kesselborn/conex/issues/318?email_source=notifications&email_token=AAAC7DLPGNBGS4N2UU5EKKDPZVM3XA5CNFSM4HWH6BWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXIQ3LI#issuecomment-500239789, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAC7DMIVDK7SHW5RV6IMIDPZVM3XANCNFSM4HWH6BWA.

nekohayo commented 5 years ago

In hindsight, this might also be similar (in part, or totality, or not at all) to this: https://github.com/Drive4ik/simple-tab-groups/issues/407 (the difference is that in Conex the number of tabs lost varies across tests, while in Conex it was constant and was clearly linked to the "Reader" mode)

kesselborn commented 5 years ago

ok ... I will close this issue then, as I will not work on this. Thanks for coming back on this