Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
OwenAR opened this issue Aug 21, 2021 · 11 comments
Closed
Labels
intentional intentional behavior by design works for me

Comments

@OwenAR
Copy link

OwenAR commented Aug 21, 2021

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...)

@sillyfrog
Copy link

I'm having a similar issue on a Mac

@piroor
Copy link
Owner

piroor commented Aug 22, 2021

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.

@OwenAR
Copy link
Author

OwenAR commented Aug 22, 2021

@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...?

@irvinm
Copy link
Contributor

irvinm commented Aug 22, 2021

@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

@OwenAR
Copy link
Author

OwenAR commented Aug 23, 2021

@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.

@piroor
Copy link
Owner

piroor commented Aug 23, 2021

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.)

@piroor
Copy link
Owner

piroor commented Aug 23, 2021

I've added a new FAQ topic: https://github.com/piroor/treestyletab/blob/trunk/README.md#user-content-feature-requests-send-tab-tree-to-device-does-not-work

@piroor piroor added the intentional intentional behavior by design label Sep 30, 2021
@github-actions
Copy link

github-actions bot commented Oct 7, 2021

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.

@github-actions github-actions bot closed this as completed Oct 7, 2021
@bryankaplan
Copy link

bryankaplan commented Feb 6, 2023

@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.

@iFUCKINGHATEcomputers
Copy link

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.

@piroor
Copy link
Owner

piroor commented Oct 30, 2023

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...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
intentional intentional behavior by design works for me
Projects
None yet
Development

No branches or pull requests

6 participants