Rewrite Lightbeam using Web Extensions

RESOLVED FIXED

Status

P3
normal
RESOLVED FIXED
2 years ago
3 months ago

People

(Reporter: francois, Assigned: jkt)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [triaged][awe:jid1-F9UJ2thwoAm5gQ@jetpack])

(Reporter)

Description

2 years ago
Lightbeam is currently implemented using jetpack and needs to be rewritten using web extension so that it can work in Firefox 57+.

While we could in theory salvage some of the existing UI code, it has significant performance problems (see https://github.com/mozilla/lightbeam/issues?q=is%3Aissue+is%3Aopen+label%3APerformance and bug 1188507) and therefore would benefit from a fresh start.

The scope of this bug is to build an MVP which includes the most important features of Lightbeam while leaving out the problematic ones.

Included:

- graph view linking pages to all of the third-parties resources they load
- displaying the total number of third-parties found
- internationalization (https://github.com/mozilla/lightbeam/issues/74)
- tracking protection toggle
- filter out Private Browsing loads (https://github.com/mozilla/lightbeam/issues/662)

Not in the MVP:

- list view
- favicons (https://github.com/mozilla/lightbeam/issues?q=favicon+label%3Afavicons)
- origin details sidebar
- coloring edges to show the presence of cookies
(Reporter)

Comment 1

2 years ago
BTW, I'm not sure which component this should be in, but being on Bugzilla seems much better than GitHub since we will likely want to depend on new Web Extension APIs at some point (though maybe beyond the MVP).
(Reporter)

Comment 2

2 years ago
Luke has said he will spend an hour looking at this to provide a rough estimate of the amount of effort needed to do this rewrite.
Flags: needinfo?(lcrouch)
A consolidated outline of functionality that would be needed, that doesn't exist in the webext APIs, would be great so we can consider those needs.

Updated

2 years ago
Component: WebExtensions: General → WebExtensions: Compatibility
Whiteboard: [triaged]
:francois - do we want to visualize only the 3rd-party trackers that would have been blocked by TP, or all 3rd-party trackers?

:mixedpuppy - at minimum, we will likely need a new property on webRequest details objects. Something like:

tracker
  boolean. True if the domain of the request is on the Disconnect blocklist. False if the domain of the request is NOT on the Disconnect blocklist.
Flags: needinfo?(lcrouch) → needinfo?(francois)
(Reporter)

Comment 5

2 years ago
(In reply to Luke Crouch [:groovecoder] from comment #4)
> :francois - do we want to visualize only the 3rd-party trackers that would
> have been blocked by TP, or all 3rd-party trackers?

Lightbeam only displays third-party loads, it doesn't attempt to infer tracking or not. So for the MVP (which is about not losing the existing Lightbeam functionality), we can completely ignore TP and the Disconnect list.

> :mixedpuppy - at minimum, we will likely need a new property on webRequest
> details objects. Something like:
> 
> tracker
>   boolean. True if the domain of the request is on the Disconnect blocklist.
> False if the domain of the request is NOT on the Disconnect blocklist.

It would be nice to have this for MVP+1, but we don't need it for the MVP.

One thing we do need for the MVP however is for privacy.trackingprotection.enabled to be added to the newly-landed Privacy API. That's needed by the TP toggle that's currently in the top-right corner of the Lightbeam UI.
Flags: needinfo?(francois)
Depends on: 1345158
(Assignee)

Comment 6

2 years ago
Adding Bug 1342265 as a "See Also" as Francois mentioned it's not MVP, it would however make the extension smaller and not require shipping it's own lists.
See Also: → bug 1342265

Comment 7

a year ago
Hi Francois,

Are you actively working on the WebExtensions version?  If yes, can we assign the bug to you and do you have an expected release date?
Flags: needinfo?(francois)
(Assignee)

Comment 8

a year ago
:shell we are working on this as part of Outreachy, work is about to begin next week on this.

No expected date as of yet. Please pester me or pauljt if you have questions.

Work will happen here: https://github.com/pauljt/lightbeam-we/issues
Assignee: nobody → jkt
Flags: needinfo?(francois)
Adding tag so this bug appears on https://arewewebextensionsyet.com/
Whiteboard: [triaged] → [triaged][awe:jid1-F9UJ2thwoAm5gQ@jetpack]

Updated

a year ago
Priority: -- → P3

Comment 10

a year ago
Hi Jonathan,

Following up to see if there is an ETA for the migration of Lightbeam to a webextension completing.  Beta 57 has gone out, and with it Firefox is running only webextensions.
Flags: needinfo?(jkt)
(Assignee)

Comment 11

a year ago
Pushed!

Bugs: https://github.com/mozilla/lightbeam-we/issues

Support: https://discourse.mozilla.org/latest?tags=lightbeam

Thanks for asking :shell, I had not forgotten. We ironed out the last minute issues today.
Let's wait for the dust to settle before getting the featured extension badge back on.
Flags: needinfo?(jkt)
(Assignee)

Updated

a year ago
Status: NEW → RESOLVED
Last Resolved: a year ago
Resolution: --- → FIXED

Updated

3 months ago
Product: Toolkit → WebExtensions
You need to log in before you can comment on or make changes to this bug.