Not all devices are displayed inside Firefox View> Send tab to device
Categories
(Firefox :: Sync, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr115 | --- | unaffected |
| firefox123 | --- | affected |
| firefox124 | --- | affected |
| firefox125 | --- | affected |
People
(Reporter: atrif, Unassigned)
References
Details
Attachments
(1 file)
|
100.72 KB,
image/png
|
Details |
Found in
- 124.0b8
Affected versions
- 125.0a1 (2024-03-05)
- 124.0b8
- 123.0.1
Tested platforms
- Affected platforms: Windows 10x64, macOS 12, Ubuntu 22
- Unaffected platforms: none
Preconditions
- multiple devices connected to sync
- signed in to sync
Steps to reproduce
- Open Firefox View > Open Tabs
- Click on the Options for new tabs > Sent tab to device
Expected result
- All devices are displayed.
Actual result
- Only some devices are displayed.
Regression range
- Not a regression, happens after implementation (bug 1845333)
Additional notes
- Attached a screenshot.
Updated•2 years ago
|
Comment 1•2 years ago
|
||
I'm going to move this over to core::widgets since I think this might be an issue with the panel-list. It checks for left and ride positioning of the top-level menu before determining position of the nested/flyout menu but it doesn't check for whether its off the viewport based on content of the submenu.
Comment 2•2 years ago
|
||
Er... wrong widgets. Moving to the correct place!
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Comment 3•1 year ago
|
||
I'm also seeing this. Devices will eventually disappear from the list. I'd prefer they stay there.
Opening up the other device and syncing it will make the devices reappear.
I'd rather not do that every time I wan to move a tab.
Comment 4•1 year ago
|
||
Affected by version 128.12.0esr
Comment 5•1 year ago
|
||
Sadly this is hard coded to pull in the most recent 21 days of devices.
const DEVICES_FILTER_DAYS = 21;
used here
async getDeviceList(sessionTokenHex) {
let timestamp = Date.now() - 1000 * 60 * 60 * 24 * DEVICES_FILTER_DAYS;
let path = `/account/devices?filterIdleDevicesTimestamp=${timestamp}`;
let creds = await deriveHawkCredentials(sessionTokenHex, "sessionToken");
return this._request(path, "GET", creds, {});
},
Comment 6•1 year ago
|
||
Related to https://bugzilla.mozilla.org/show_bug.cgi?id=1772415
I'm not seeing any justification for this change in the Bugzilla nor Phabricator commentary - presumably an out-of-band internal / JIRA discussion - do we know why this change was made?
Comment 8•1 year ago
|
||
Are you asking me? I have no idea. I'm a developer, but in terms of Firefox, I'm a user. If you want this changed, please let me know how and maybe I can work on it and send you a PR.
Can we make this an about:config thing?
(In reply to Brian DeRocher from comment #5)
Sadly this is hard coded to pull in the most recent 21 days of devices.
const DEVICES_FILTER_DAYS = 21;used here
async getDeviceList(sessionTokenHex) { let timestamp = Date.now() - 1000 * 60 * 60 * 24 * DEVICES_FILTER_DAYS; let path = `/account/devices?filterIdleDevicesTimestamp=${timestamp}`; let creds = await deriveHawkCredentials(sessionTokenHex, "sessionToken"); return this._request(path, "GET", creds, {}); },
Thanks for investigating this. The sync team maintains this code and looking at bug 1772415 I don't see any explanation for why a hard-coded time was added.
:markh, is this something that can be changed or made into a pref?
Comment 10•1 year ago
|
||
This was added because many users were reporting duplicate devices for various reasons. After 3 weeks of inactivity Sync is likely to also drop remote tabs from that device and its push subscription will have expired. Most devices which haven't been used for 3 weeks never show up again (although some obviously do).
I can't see a good reason it can't be made a pref though.
Comment 11•1 year ago
|
||
The severity field is not set for this bug.
:skhamis, could you have a look please?
For more information, please visit BugBot documentation.
Updated•1 year ago
|
Description
•