piroor/treestyletab

Are "Send Tab to Device"/"Send this Tree to Device" currently working for others?

OwenAR opened this issue · 11 comments

Hi, I've got Firefox Sync working between two computers,
and TST is version 3.8.11 on both.

In my TST preferences on each computer,
under "Send Tabs to Other Devices with the context menu via Firefox Sync",
the name and icon for that computer is set to the same as that in Firefox Sync.

However, it doesn't work.
(
On both computers,
in the context-menu,
"Send this Tree to Device" doesn't have any children at all,
and "Send Tab to Device" has under it only "Manage Devices..."
(which opens in a new tab"Tree Style Tab Options")
)

If this is supposed to be working, any ideas how to troubleshoot it?


The problem is that I have one obvious first thing to try, which I can't actually do.

See, one computer has a perfectly normal FF version 91.0.1 on Ubuntu 20.04.3 LTS,
but for complicated reasons
the other computer has an awkwardly mostly-frozen FF version 75.0 on an awkwardly mostly-frozen Gentoo 2.7.

Obviously I have a longterm goal of getting rid of the awkwardly mostly-frozen system,
but practically speaking, I need to keep using it kinda indefinitely,
and I was kinda hoping someone might be able to recommend some other potential troubleshooting that might work around that anyway...

(... even just asking like this makes me feel kinda dumb and bad, so... really thanks a lot if you can even try to help anyway...)

I'm having a similar issue on a Mac

The feature works for me. I've created a new Firefox Account and logged in two Firefox insntances, and I successfully send tree from an instance to another.
Screenshot: top=Nightly 93.0a1, bottom=Firefox Developer Edition 92.0b6
image

But there are some notes we need to remind.

  • Firefox does not allow addons to access Firefox Sync features like "send tab to device" directly. Such an API proposal was already rejected. See also: 1417183 - Provide a web extensions API-based way to send pages between devices
  • Instead, storage.sync API is the only one method for addons to share user data across devices.
  • [Edit] Thus TST simulates Firefox's "send tab to device" feature based on storage.sync API. The simulated feature does not work same as Firefox's native one due to various restrictions.
    • TST tries to suggest device name from available information, but it may have less identifiability because Firefox does not allow addons to get native device name. Thus you need to give enough identifiable name manually. Indeed I gave names "DevEdition on Home" and "Nightly on Home" by my hands for each instance in the screenshot above.
    • storage.sync has no guarantee that written data is synchronize immediately. Even if you change device name from TST options or choose the "send tab/tree to device" command, you may need to wait until Firefox synchronize storage.sync data. Sadly we don't know when it happens.
    • So, if you need to send or receive tabs via TST's "send tab/tree" command immediately, you'll need to run "sync now" command of Firefox itself on both sender and receiver Firefoxes after you ran the "send tab/tree" command.

@piroor The problem is that I can't figure out how to get anything to show up under "Active other devices:"...?

Again, I have the device names the same, and the "Send tab to device" entry that shows up in the right-click menu for the native (ie, non-TST) tabs does work normally...

Is there some additional setup step I can't find...?

@OwenAR I haven't used this feature before, but I could only see 1 of my 2 primary Firefox instances where I use TST. I finally got both instances to see each other after some combination of changing the device names and setting the advanced expiration number of days to "0" for "no expiration". I'm not sure what fixed it for me, but maybe some things to try. [Obviously, I manually did a manual Firefox sync on each browser to sync the information]

image

@irvinm Hm, well that's interesting... evidence that if I keep poking it enough, it might randomly start working...

Thing is, I had already monkeyed around with signing out and in again, changing device names, and setting that expiration number to 0 (I even tried setting it to "-1" ; No idea what the code might do with a negative value if not either the same thing as "0" or an error, but it accepted it), so... I'm completely out of ideas how to poke at it.

I've updated my previous comment about restrictions. And TST never cleanup disappeared devices if the expiration is zero or less (so negative values are simply ignored.)

I often forget to run "sync now" on the sender side, so I mainly use Firefox's native "send tab to device" context menu command on the native horizontal tab bar despite I implemented the simulated "send tab/tree to device" feature. (I don't use any userChrome.css hack to hide the horizontal tab bar - this is one of reasons why I didn't that.)

This issue has been closed due to no response within 7 days after labeled as "intentional", 7 days after last reopened, and 7 days after last commented.

@piroor I'm encountering this same problem. Is there a way to debug it? I have multiple browser profiles on a new laptop. Each of them are named, and are listed under "Active other devices". But sending a tree of tabs does not work. I have tried syncing both browsers, repeatedly, and I have tried waiting a whole day. Might there be an error message somewhere I could find?

Edit: I have discovered about:sync-log, and indeed there are errors in there, such as Sync encountered an error: [Exception... "Abort" nsresult: "0x80004004 (NS_ERROR_ABORT)" location: "<unknown>" data: no] No traceback available and Exception calling anonymous function: [Exception... "Abort" nsresult: "0x80004004 (NS_ERROR_ABORT)" location: "<unknown>" data: no] No traceback available … I'm standing by to find out what I should look for, or what I might do to make tree transfers succeed.

Further Edit: FWIW I'm currently on Firefox 109.0.

How tf am I supposed to send tabs to/from android? I managed to sideload TST as an extension, but there's no way to enter the extension settings on Android - it's just a blank page.

Mozilla announced that allowing us to install arbitrary third-party addons to Firefox for Android. Here is the blog article:
https://blog.mozilla.org/addons/2023/08/10/prepare-your-firefox-desktop-extension-for-the-upcoming-android-release/

It says that we need to rewrite addons with non-persistent background pages, and it is the blocker for TST, because currently TST is strongly depends on a persistent background page. In other words we could develop a small receiver addon to receive tabs sent from a desktop Firefox via TST's "Send Tabs to Device" feature, if we could define a manifest for both platforms with different background page definitions...