Open Bug 1957234 Opened 6 months ago Updated 5 months ago

Send tab to device is hidden from context menu if sync is disabled, but is enabled from FXA menu.

Categories

(Firefox :: Sync, defect, P3)

defect

Tracking

()

Tracking Status
firefox-esr115 --- wontfix
firefox-esr128 --- affected
firefox136 --- wontfix
firefox137 --- wontfix
firefox138 --- wontfix
firefox139 --- fix-optional

People

(Reporter: emilio, Unassigned)

References

(Regression)

Details

(Keywords: regression)

I had sync disabled on one nightly instance, and I realized I couldn't send a tab. It turns out it's because of this line.

But I don't understand why do we gate the context menus on syncEnabled? It seems I can still send the tab from my FXA menu -> Send tab to device...

Set release status flags based on info from the regressing bug 1690567

:sfoster, since you are the author of the regressor, bug 1690567, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

(In reply to Emilio Cobos Álvarez (:emilio) from comment #0)

But I don't understand why do we gate the context menus on syncEnabled? It seems I can still send the tab from my FXA menu -> Send tab to device...

I don't quite understand this - if you aren't signed in to Sync you shouldn't have "send tab to device" available on the FxA menu either - indeed, you shouldn't have an FxA menu.

(There is actually one "accidental" way to get in to this state, and a more "formal" way being introduced soon for Relay, but this is always going to be complicated and problematic, as "send tab" uses the sync key for encryption, and only FxA accounts with passwords (as opposed to ones connected to google or apple accounts via oauth) have such keys, but the relay team certainly wants these 3rd-party auth accounts to work with Relay...)

Flags: needinfo?(emilio)

I was logged into firefox accounts, but wasn't syncing. I can get into that state by:

  • Going to about:preferences#sync
  • Manage sync
  • Disconnect.
Flags: needinfo?(emilio)

Set release status flags based on info from the regressing bug 1690567

(In reply to Mark Hammond [:markh] [:mhammond] from comment #2)

(In reply to Emilio Cobos Álvarez (:emilio) from comment #0)

But I don't understand why do we gate the context menus on syncEnabled? It seems I can still send the tab from my FXA menu -> Send tab to device...

I don't quite understand this - if you aren't signed in to Sync you shouldn't have "send tab to device" available on the FxA menu either - indeed, you shouldn't have an FxA menu.

Going through my need-infos. If I understand this right, the change in my patch to also check syncEnabled is correct. If sync isn't enabled send tab shouldn't work, so we shouldn't be enabling the context menu item. So I'm not sure how this worked before my patch and in what sense it is the regressor.

Flags: needinfo?(sfoster)

oops, sorry, turns out I had not submitted this comment:

(In reply to Emilio Cobos Álvarez (:emilio) from comment #3)

I was logged into firefox accounts, but wasn't syncing. I can get into that state by:

  • Going to about:preferences#sync
  • Manage sync
  • Disconnect.

Right, that's the "accidental" way I mentioned - the intent was for that to disconnect your account. We aren't fixing that due to the relay work I mentioned, where in that scenario it will make sense to remain signed in to your account but not Sync - however, we expect that we will end up throwing the sync key away in that scenario, meaning reconnecting sync will require a password flow and "send tab" can't work.

(In reply to Sam Foster [:sfoster] (he/him) from comment #5)

Going through my need-infos. If I understand this right, the change in my patch to also check syncEnabled is correct. If sync isn't enabled send tab shouldn't work, so we shouldn't be enabling the context menu item. So I'm not sure how this worked before my patch and in what sense it is the regressor.

I haven't dug in here, but checking whether sync is enabled is indeed the correct check (and that should be false in the above scenario). The wrong thing to do would be to just check whether FxA is enabled, because in the cases above that might be true even though sync is not enabled.

Severity: -- → S4
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.