Giter Club home page Giter Club logo

contain-facebook's Introduction

Facebook Container

Prevent Facebook from tracking your visits to other websites

Facebook Container is an add-on you can install on Firefox to prevent Facebook from tracking your activity on other websites, so you can continue to use Facebook while protecting your privacy.

Note: To learn more about Containers in general, see Firefox Multi-Account Containers.

How does Facebook Container work?

The Add-on keeps Facebook in a separate Container to prevent it from following your activity on other websites. When you first install the add-on, it signs you out of Facebook and deletes the cookies that Facebook uses to track you on other websites.

Every time you visit Facebook, it will open in its own container, separate from other websites you visit. You can login to Facebook within its container. When browsing outside the container, Facebook won’t be able to easily collect your browsing data and connect it to your Facebook identity.

How do I enable Facebook Container?

We’ve made it easy to take steps to protect your privacy so you can go on with your day.

  1. Install Facebook Container. This will log you out of Facebook and delete the cookies it’s been using to track you.
  2. Open Facebook and use it like you normally would. Firefox will automatically switch to the Facebook Container tab for you.
  3. If you click on a link to a page outside of Facebook or type in another website in the address bar, Firefox will load them outside of the Facebook Container

How does this affect Facebook’s features?

Facebook Containers prevents Facebook from linking your activity on other websites to your Facebook identity. Therefore, the following will not work:

“Like” buttons and embedded Facebook comments on other websites.

Because you are logged into Facebook only in the Container, “Like” buttons and embedded Facebook comments on other websites will not work.

Logging in or creating accounts on other websites using Facebook

Websites that allow you to create an account or log in using Facebook will generally not work properly.

Will this protect me from Facebook completely?

This add-on does not prevent Facebook from mishandling the data it already has or permitted others to obtain about you. Facebook still will have access to everything that you do while you are on facebook.com or on the Facebook app, including your Facebook comments, photo uploads, likes, and any data you share with Facebook connected apps, etc.

Other ad networks may try to link your Facebook activities with your regular browsing. In addition to this add-on, there are other things you can do to maximize your protection, including changing your Facebook settings, using Private Browsing and Tracking Protection, blocking third-party cookies, and/or using Firefox Multi-Account Containers extension to further limit tracking.

How do I use Containers for other websites?

Good news! Containers aren’t just for Facebook. You can use Containers to prevent websites from linking your identities across the Web by installing Firefox Multi-Account Containers.

To learn more about how Multi-Account Containers work, see our support page at Firefox Multi-Account Containers.

Development

  1. npm install
  2. ./node_modules/.bin/web-ext run -s src/

Testing

npm run test

or

npm run lint

for just the linter

Building

  1. npm run build
  2. use the add-on zip file generated in the web-ext-artifacts folder

Links

contain-facebook's People

Contributors

aalam avatar abelardo-py avatar ag12r avatar akerbeltz avatar andy-moz avatar baradur avatar codemist avatar dependabot[bot] avatar fjoerfoks avatar gaby2300 avatar groovecoder avatar itielman avatar jimsp472000 avatar jonathankingston avatar jordis avatar jsyanis avatar karm46 avatar lesleyjanenorton avatar marceloghelman avatar maxxcrawford avatar mcdutchie avatar milupo avatar mrwensveen avatar petercpg avatar piotrdrag avatar rprys avatar selimsumlu avatar stoically avatar theochevalier avatar zubialevich avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

contain-facebook's Issues

Facebook links opened from 3rd party apps while the browser is closed will not be loaded in a Facebook container tab

[Affected versions]:

  • Firefox 59.0.1 and up

[Affected Platforms]:

  • All Windows
  • All Mac
  • All Linux

[Prerequisites]:

  • Have a Firefox profile with the latest version of the "Facebook Container" add-on (1.2.4) installed.
  • Firefox is set as your default browser.

[Steps to reproduce]:

  1. Start the browser by clicking a Facebook link from a 3rd party application (mail, skype).
  2. Observe the opened tab.

[Expected result]:

  • The link is opened in a Facebook container tab.

[Actual result]:

  • The link is opened in a normal tab.

[Notes]:

  • Subsequent links will be opened in Facebook container tabs.
  • Attached a screen recording of the issue: Link

Use facebook logo instead of a blue circle icon?

I was testing this alongside the Firefox Multi-Account Containers add-on to try and verify there would be no conflicts, and managed to set my custom facebook icon to a pair of glasses.
Not sure how difficult it'd be to add a Facebook logo icon to make it less vague "blue circle".

facebook-en-gb
Figure 1: Default blue circle.


menubar_and_facebook_-_log_in_or_sign_up
Figure 2: Custom fancy sunglasses, compliments of Multi-Account Containers customization.

Block facebook.com when its a subresource

If a webpage attempts to load facebook.com as a third party, intercept the request and block it. So if cnn.com tries to load an image or iframe to facebook.com, it will get blocked before a request is ever made.

Share buttons, likes, comments coming from facebook, signing in with facebook - will never work.

If this is too restrictive, we can consider having an option so that users can opt out of this restriction.

You can no longer navigate to the Facebook website or log in with Facebook, after removing the new Facebook container

[Notes]:

  • The user also cannot login into any website which uses Facebook authentication.

[Affected versions]:

  • Firefox 59.0.1 and up

[Affected Platforms]:

  • All Windows
  • All Mac
  • All Linux

[Prerequisites]:

  • Have a Firefox profile with the latest version of the "Facebook Container" add-on (1.1.0) installed.

[Steps to reproduce]:

  1. Open the browser with the profile from prerequisites and navigate to any website.
  2. Long click on "+" tab button and choose the "Manage containers" option.
  3. Click the "Remove" button for the "Facebook" container.
  4. Open a new tab and navigate on "facebook.com".

[Expected result]:

  • The "Facebook" page is successfully loaded.

[Actual result]:

  • The tab is closed.

[Additional Notes]:

  • Attached a screen recording of the issue:
    facebook_container_removed

facebook.com visit results in infinite loop of tabs

Steps to reproduce:

In the first tab of the first window of a brand new Firefox session with the add-on install, visit facebook.com

Expected results:
The tab switches to the Facebook container and shows facebook.com

Actual results:
SOMETIMES this first visit creates an infinite loop of the facebook.com tab opening and closing.

The conditions that seem to trigger it more consistently:

  1. Use web-ext run -s . to run the add-on with a fresh, 1-time Firefox profile
  2. Visit facebook.com very quickly - maybe before the add-on is fully bootstrapped?

Facebook ads use outbound links which pass tracking IDs outside facebook container

Clicking on an add in my facebook feed creates a loading sequence like:

  1. https://l.facebook.com/l.php
    (HERE WE LEAVE THE CONTAINER)
  2. https://ad.doubleclick.net/ddm/trackclk/N572608.270751FACEBOOK0/B20574784.212221695;dc_trk_aid=411433341;dc_trk_cid=96262426;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=
  3. https://ad.doubleclick.net/ddm/trackclk/N572608.270751FACEBOOK0/B20574784.212221695;dc_trk_aid=411433341;dc_trk_cid=96262426;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=
  4. https://azure.microsoft.com/en-au/campaigns/cloud-application-architecture-guide/

So as you can see ad tracking token is past to doubleclick in a url. THis means:
a) the user is still tracked despite being logged in
b) the microsoft ad page is broken, but Im not exactly sure why

This isn't a game breaker, but I think we do need to set expectations for users - containers helps, but ads can potentially still associated your facebook authenticated profile with your non-authenticated profile. We could strip URLs, which would totally break links, and it wouldn't really stop this kind of tracking. (anecdotally its common for ad networks to do fingerprinting, which is always going to be an escalating problem).

Duplicate tabs opening

When a non-Facebook URL is typed into the address bar, the existing tab will go to the page but switch from the Facebook container to the default container. However, a duplicate tab will also open with that same URL.

ctrl-click on a facebook page moves focus from the current page upon tab load

Links opened in FF with ctrl-click will open in a new tab, without moving the focus to that tab so that it loads in the background and is available when the user decides to explicitly bring that tab to the forefront. However, the current version of this addon seems to "steal" focus in that ctrl-clicking a link in the facebook domain will open it in a container tab and then immediately bring that tab to the forefront.

I don't know if that's something this addon can fix, or whether that's a problem with the container API.

When undoing a previously closed Facebook container tab where a non-Facebook website was accessed, the same non-Facebook website reopens in a new normal tab

[Affected versions]:

  • Firefox 59.0.1 and up

[Affected Platforms]:

  • All Windows
  • All Mac
  • All Linux

[Prerequisites]:

  • Have a Firefox profile with the latest version of the "Facebook Container" add-on (1.2.4) installed.

[Steps to reproduce]:

  1. Open the browser with the profile from prerequisites.
  2. Navigate to https://www.facebook.com/ website.
  3. Click on the address bar and type the address of a non-Facebook website (e.g. www.wikipedia.org).
  4. Right click on the tab strip and select the "Undo Close Tab" option.
  5. Observe what happens next.

[Expected result]:

  • The previously closed container tab and Facebook website are reopened.

[Actual result]:

  • A normal tab with the non-Facebook website accessed at step 3 is opened.

[Notes]:

  • This issue is also reproducible when Instagram, Messanger or WhatsApp websites are opened in the container.
  • The container tab is reopened only when selecting the second time "Undo Close Tab" option.
  • Attached a screen recording of the issue:

undo close tab

Alert the user when they have already assigned facebook to a Container

If we find that a user has already assigned facebook.com to a Container using Multi-Account Containers, alert the user that this addon won't work. With text something like:

Looks like you use Multi-Account Containers and have already assigned facebook.com to a Container. Since we do not want to interfere with your setup, Facebook Containers will not work to ensure that you don't visit any other sites in your Facebook Container. If you would like this additional protection, uninstall Facebook Containers, unassign facebook.com in the Multi-Account Container extension, and then reinstall Facebook Containers.

Copy needs some work.

Not sure what kind of UI we have the ability to create in an addon. An alert box? The UI doesn't need to be particularly fancy, since this is a one-time thing for a certain class of users that is savvy enough to have already assigned Facebook to a Container.

@ryanfeeley do you have ideas?

Update this addon to isolate more social networks

I think it would make sense to refer this addon not only to Facebook but to the biggest other social networks. Not only Facebook tracks a lot of third party cookies, almost all of them do.

The idea behind it: Put the biggest social networks into different containers and thus help the masses relatively easily not to be tracked everywhere. It should remain as simple as possible so as not to discourage any users. No cumbersome settings, but easy to install and directly usable.

Thanks @stoically for this idea. He found the name "contain-trackers" interesting, but I think "contain-social" fits better here, because tracking and analysis services like google analytics or Matomo (formerly piwik) are only isolated if you use containers everywhere.

There is currently an addon that works similarly, but the user has to configure everything there himself. This discourages the layman, who is in the foreground here, quite a bit. A preconfigured addon is easier.

I made a new branch in my fork and added Google roughly but ugly. However, it works fundamentally. You can test this with loading an addon temporary.

Duplicate tabs open when opening link from Facebook to a site that is assigned to a different container

A bug report from a user via the containers@ mailing list:

"When opening a link from Facebook to a site that is assigned to a different container (in my case youtube), it opens up two tabs of the same link/video. Also, it seems that when using the Facebook container, opening links to other sites (that are switched to no container) do not conform to my settings about opening new tabs in the background, but instead switches to the new tab immediately."

"Like <website>" button doesn't get updated with the "check" sign after liking a website by clicking the same button

[Notes]:

[Affected versions]:

  • Firefox 59.0.1 and up

[Affected Platforms]:

  • All Windows
  • All Mac
  • All Linux

[Prerequisites]:

  • Have a Firefox profile with the latest version of the "Facebook Container" add-on (1.2.3) installed.
  • You must be logged in to Facebook.

[Steps to reproduce]:

  1. Open the browser with the profile from prerequisites.
  2. Navigate to https://www.betterhelp.com/ website and scroll to the bottom of the page.
  3. Click the "Like 855K" button from the right side of the page.
  4. Click the "Like" button from the newly opened tab and observe what happens next.

[Expected result]:

  • The newly opened tab is closed and the "Like 855K" button from the website is updated displaying a "check" sign.

[Actual result]:

  • "Go back to (website link)" is displayed in tab and the "Like 855K" button from the website doesn't update.

[Additional Notes]:

  • Attached a screen recording of the issue:

like button not updating

The Facebook website is wrongly moved between its assigned container and the "Facebook" container tab in a continuous loop

[Affected versions]:

  • Firefox 59.0.1 and up

[Affected Platforms]:

  • All Windows
  • All Mac
  • All Linux

[Prerequisites]:

[Steps to reproduce]:

  1. Open the browser with the profile from prerequisites and open a new container (eg. Personal).
  2. Navigate to "https://www.facebook.com/" in the container from step 1.
  3. Click the "Multi-Account Containers" toolbar button and check the "Always Open in Personal" option.
  4. Navigate to the "about:debugging" page and load the "Facebook Container" add-on (1.1.0) as temporary add-on.
  5. Open a new normal tab and navigate to "https://www.facebook.com/".
  6. Check the "Remember my decision for this site" option when prompted and click the "Open in Personal Container" button.
  7. Observe the behavior.

[Expected result]:

[Actual result]:

  • The https://www.facebook.com/ website is moved between the "Personal" and the "Facebook" container tab in a continuous loop.

[Notes]:

  • The issue is also reproducible if the "Facebook" website is assigned to any other container instead of the "Personal" one.
  • Attached a screen recording of the issue:
    loop between containers

Personal, Work, Shopping, Banking Containers still exist.

When you install this addon, the containers preference is turned on (if it is not already on) and we create a Facebook Container.

When the containers preference is turned on, Firefox platform creates the Personal, Work, Shopping, and Banking Containers for the user. For users who have never used Containers before, they will see these along with Facebook in the following locations:

  • File->NewContainerTab
  • Long Press of the plus button
  • about:preferences#General -> Tabs -> Enable Container Tabs Settings.
  • Right click Context Menu->Open Link In
  • The down arrow when you have lots of tabs open -> New Container Tab

If we want to delete these, we can try to do that with the addon. The trouble is, I'm not sure if we can detect whether a user is already using Containers. If they are, we definitely don't want to delete these as we will be deleting valuable state for the user. We have also had multiple bugs in the past where Containers got deleted; users weren't happy. Lets not do this again.

So unless we can reliably detect that Containers is already enabled when we install this add on, we should live with this issue.

@ryanfeeley @pdolanjski

use URL objects to parse for facebook

substring matching won't do what you want:
const isFacebook = requestUrl.indexOf("facebook.com") > -1;

That could match facebook anywhere in the host (facebook.com.scammer.biz) or path. Instead construct a real URL (new URL() so it matches the browser's interpretation) and make sure you're checking against the host name. [honestly the WE apis should be returning URL objects and not url strings -- strings just encourage people to do the wrong thing]

Trying to open facebook.com in a private browsing window closes the window/tab

Steps to reproduce:

  1. Git clone.
  2. web-ext run -s . to launch w/ a fresh Firefox and add-on preinstalled.
  3. File ➡️ New Private Window.
  4. Go to "facebook.com" (tab auto closes, also, so does the private browser instance, since it was the only open tab).
  5. File ➡️ New Private Window.
  6. Go to "bing.com" (or whatever, who cares)
  7. Open a new/second tab, and go to "facebook.com" (tab auto closes, but window remains open since we had a second open tab).

Actual results:

I seemingly cannot launch Facebook in a Private Window without it auto-closing.

Expected results:

I honestly have no clue. But this doesn't feel like the correct behavior.


tp-facebook

Maintain tab order when switching containers

From email:

Whenever I navigate to facebook, it seems to close the current tab, and create a new tab at the end of all the tabs that are open.

This is quite annoying when I have multiple tabs open and I want facebook to be at a certain position, and not having to scroll to the end all the time.

I think this is because when we switch we:
browser.tabs.create({url: requestUrl.toString(), cookieStoreId: facebookCookieStoreId});
browser.tabs.remove(options.tabId);

IE create a new tab and delete the old one. (meaning that we get tab on the right most edge). Can we control tab ordering with web extensions? Not sure? Could we just re-use the existing tabId when we swtich?

A blank page is opened when trying to log in to Facebook from a "Facebook Comments" field

[Notes]:

  • Even if you are not logged in to Facebook, after following the normal log in flow, you will encounter the same issue. However, this could be encountered quite easily since we assume most of the users will be logged-in in the container.

[Affected versions]:

  • Firefox 59.0.1 and up

[Affected Platforms]:

  • All Windows
  • All Mac
  • All Linux

[Prerequisites]:

  • Have a Firefox profile with the latest version of the "Facebook Container" add-on (1.2.3) installed.
  • You must be logged in to Facebook.

[Steps to reproduce]:

  1. Open the browser with the profile from prerequisites.
  2. Navigate to a website that has the "Facebook Comments" plug-in (list in Notes).
  3. Click the comment field and write a string.
  4. Click the "Log In to Post" button and observe the behavior.

[Expected result]:

  • The "Log In" with Facebook window is opened.

[Actual result]:

  • A blank page is opened in a new tab with the number 1 displayed in the top left corner.

[Additional Notes]:

  • Here is a list with some websites with the "Facebook Comments" plug-in. We must mention that spotify.com, shutterstock.com, usatoday.com and nfl.com are quite known sites that use this way of commenting so this increases the bug severity.
  • Attached a screen recording of the issue:
    rec of the issue

minimize PNG logo

Currently ./contain-facebook.png is ~27K. If I run it through a simple image optimizer, it shrinks down to 16K (which is still subjectively large for a simple logo -- but that's probably a conversation for #5).

$ ls -lash *.png

16K    contain-facebook.min.png
27K    contain-facebook.png

Block facebook.com cookies when it is a subresource

If a webpage attempts to load facebook.com as a third party, intercept the request and response and remove cookies from them. This way facebook.com won't be able to set a logged-out user cookie and track the user across the web that way. Later, facebook won't be able to tie that logged-out user to a real user in the backend by cookie-syncing or using other techniques.

However, facebook could still i) set site storage (ex: localstorage) and track the logged-out user across page loads that way, or ii) fingerprint the browser and identify the user (including the users logged in identity that is separated into the facebook container). #3 is more full proof, but would cause more breakage (ex: reading other peoples facebook comments) and is harder to implement.

Block fb.com as well?

Steps to repro:

  1. Go to https://www.facebook.com/careers/?ref=pf
  2. Scroll to bottom and click on "Company Info" page in footer.

Actual results:

New tab opens to https://newsroom.fb.com/company-info/ which isn't in a Facebook container.
Looks like a coulpe of other "*.fb.com" URL:s as well: https://investor.fb.com/home/default.aspx

Looking at random network requests, there are also calls to other Facebook related properties (or so I blindly assume from their domains):

  • connect.facebook.net
  • *.fbcdn.net
  • fbnewsroomus.files.wordpress.com

Add ESLint and run on CI

Not high priority, but would be very nice to have if this is a long-living project.
It recently caught a couple of potential issues with a PR, so would be nice to run linting automatically on every commit and just not some weird franken-script that lives solely on my machine.

Other benefits include:

  • we could run linting and build the add-on automatically on Circle-CI and save the XPI/ZIP as a build artifact. Not sure if this would be a huge improvement over loading the manifest.json via about:debugging.

"Facebook" container isn't deleted after uninstalling add-on

Steps to reproduce:

  1. Enable containers by flipping configs in about:config (see "For advanced users" section at the bottom of https://support.mozilla.org/en-US/kb/containers).
  2. Install the signed add-on.
  3. Go to https://www.facebook.com and note that the site is loaded in the new Facebook container.
  4. Go to about:addons and delete the Facebook Container add-on.
  5. Long press the + button (or go to about:preferences#containers).

Actual results:

The "Facebook" container gets created by installing the add-on, but doesn't get deleted when uninstalling the add-on.

What if a Facebook Container already exists?

Assume that a user already uses Containers. (They may be using Containers in Nightly, they may be using it by switching the about:config pref to true in Firefox release, they may have Multi-Account Containers installed, or they may have some other Containers addon installed).

They have a Container named "Facebook". They have not assigned facebook.com to it. They have choosen a color and an icon for it (could be any of our built in colors or icons). They may have visited other sites in that Container too (instagram, some site where they use login with facebook, some site completely unrelated to facebook)

What is the expected behavior?

  1. Installing Facebook Containers is a no-op. Facebook Containers does nothing.
  2. We delete their existing Facebook Container and create a new Facebook Container with the color and icon we choose.
  3. We use their existing Facebook Container with the color and icon of their choice, and apply our rules on it. Namely, we make sure no other website can be open in that Container.
  4. We use their existing Facebook Container, with the color and icon of their choice, and apply our rules on it. But only after deleting all cookies in that Container.

The difference between 3 and 4, is that we delete cookies in 4. The reason to do this is because, if we don't, then cookies that already live in that container and are tied to a user identity can continue to track a users facebook.com usage.

I think 1, 2, and 4 are all good solutions. For 1, we need to add a disclaimer. 4 is more coding work. 2 seems pretty simple to code, but we lose user choice of color/icon (That seems fine, since they are after all installing this addon. They can always change the color aftewards).

With Luke's latest code, I believe we do 3.

@pdolanjski @ryanfeeley

Update README with AMO URL and remove web-ext reference

We've seen some issues w/ launching the add-on using $ web-ext run -s . using the Terminal.
We should probably update the documentation to point users at the AMO page to download the signed extension, as well as provide some instructions on installing the add-on using about:debugging and pointing to the manifest.json file.

Notify users when they have been moved into the facebook container

I know this is the way contain facebook is supposed to work, but maybe somethjing to think about for future UX improvement. If you try to open a facebook link in any other tab, it silently gets forced into the facebook container. This is the behavior that we want, but its subtle and might confuse users, especially when they are just visiting something which isnt obviously facebook. (like my local cafe's web presence is just a facebook page for example).

Maybe this is a UX request for containers in general though.

Alternative Approach

How about blocking all cookies for all domains until they are whitelisted? I Always felt the browser should be the place to implement things like EU cookie legislation anyway and it seems all this does is block requests and cookies.

Clearing Facebook Data on Install

In addition to cookies, can we clear all site data - localstorage, indexeddb.

Here is a list of site data I previously compiled. Not all areas may be relevant, or easy to clear. So just do what you can and document it here.

Cookies
Cache
Session Manager
IndexedDB
localStorage
Site Storage (Persistent and Non-persistent)
Service Worker storage

Manual navigation away from Facebook breaks ability to navigate Back

STR:

  1. Install add-on
  2. Type Facebook.com
  3. In same tab, type in bbc.com and navigate to BBC

Expected Result:
BBC loads in same tab but outside of container. Pressing back button brings user back to Facebook (within container).
OR
BBC loads in new tab outside of container.

Actual Result: BBC loads in same tab, outside of container. User cannot navigate back to Facebook.

Log in with Facebook still works

While clicking on Log in or Sign up with Facebook take you to the Facebook container. Ideally, it shouldn't do that. It must take you outside the container.
free mouse auto clicker software to auto click in minimized windows

Unable to open facebook.com if you foolishly delete the Facebook container

Steps to reproduce:

  1. Install the signed Facebook [email protected]_ add-on via AMO (or whatever).
  2. Go to facebook.com and confirm it opens in the expected Facebook container.
  3. Long press the + button in the tab bar area and select "Manage containers"
  4. Remove the "Facebook" container from the about:preferences#containers settings page.
  5. Open a new tab and try navigating to "facebook.com".

Actual results:

The facebook.com tab is automatically closed, presumably because the Facebook container is closed.

Expected results:

Facebook is opened in a regular container, or maybe we try recreating the Facebook container.


facebook-looper

Are we really doing this for all users?

Are we actually going to opt users in by default and log them out?

Would it be less aggressive to inject a banner advert into Facebook pages to ask users if they want containment. We could explain it would log them out and the implications.

Also you could inject adverts into pages that use like buttons and mention they are tracking and ask them to turn on tracking protection / block just FB urls etc.

Also we risk breaking FB logins which are used widely across the internet and any other widget they provide.

The "Facebook" container context menu option is wrongly displayed for any links clicked

[Notes]:

  • If there is a possibility to detect if the link is related or not with "Facebook", then maybe we could display the "Facebook" container option for the related link and we should not display it for the non-related ones.

[Affected versions]:

  • Firefox 59.0.1 and up

[Affected Platforms]:

  • All Windows
  • All Mac
  • All Linux

[Prerequisites]:

  • Have a Firefox profile with the latest version of the "Facebook Container" add-on (1.2.2) installed.

[Steps to reproduce]:

  1. Open the browser with the profile from prerequisites and open a new normal tab.
  2. Right click on any "Top Site" beside the "Facebook" one (eg. Youtube).
  3. Hover the "Open Link in New Container" option and observe the displayed containers.

[Expected result]:

  • The following containers are displayed:
    - Personal
    - Work
    - Banking
    - Shopping

[Actual result]:

  • The "Facebook" container is also displayed for any kind of links.

[Additional Notes]:

  • Even if the user selects the "Facebook" container option from the context menu, the website will be opened in a normal tab.
  • Attached a screen recording of the issue:
    rec of the issue

Support isolation of other websites

This is probably out of scope, but it would seem fairly trival to scale this addon to support other websites. At least in its current form. If we make this add-on more specific (by blocking subresources etc) it will be less suited to the general isolation case, so maybe this feature request is better suited to Multi-account containers, but just wanted to throw it out there.

The size of the icon does not match the manifest

Expected icon at "contain-facebook.png" to be 48 pixels wide but was 700.

$ npm run web-ext

> [email protected] web-ext /Users/pdehaan/dev/github/mozilla/contain-facebook
> web-ext lint -s .

Applying config file: ./package.json
Validation Summary:

errors          0
notices         0
warnings        1

WARNINGS:

Code                Message                     Description                                        File            Line   Column
ICON_SIZE_INVALID   The size of the icon does   Expected icon at "contain-facebook.png" to be 48   manifest.json
                    not match the manifest.     pixels wide but was 700.

Facebook workplace with microsoft SSO doesn't work

Report via email:

My workplace uses Workplace by Facebook (https://www.facebook.com/workplace) and it does not work with the Facebook Containers add-on installed in Firefox. Facebook Containers is still active since it uses the Facebook domain when accessing Workplace by Facebook (http://work.facebook.com)

What happens when trying to login is a perpetual loop where it opens our single sign-on page (in this instance Microsoft) only to close it again. Keeps happening until you close the tab.

Explicitly assigning Facebook to Facebook Container from MAC menu will make the user end up with 2 opened Facebook tabs at each visit

[Affected versions]:

  • Firefox 59.0.1 and up

[Affected Platforms]:

  • All Windows
  • All Mac
  • All Linux

[Prerequisites]:

  • Have a Firefox profile with the latest version of the "Facebook Container" add-on (1.2.3) installed.
  • Have the Firefox Multi-Account Containers add-on (6.0.0) installed.

[Steps to reproduce]:

  1. Open the browser with the profile from prerequisites.
  2. Navigate to the https://www.facebook.com/ and click the "Multi-Account Containers" toolbar button.
  3. Check the "Always open in Facebook" option and navigate to https://www.facebook.com/ in a new tab.
  4. In the container confirmation tab check the "Remember my decision for this site" option.
  5. Click the "Open in Facebook Container" button.
  6. Open a new tab and navigate to Facebook.

[Expected result]:

  • A single Facebook container tab is opened and the page is correctly loaded.

[Actual result]:

  • Two Facebook container tabs are opened and the page is loaded in both.

[Additional Notes]:

  • Attached a screen recording of the issue:
    rec of the issue

History Navigation work around

Step 1 - user browses internet in Tab 1.
Step 2 - user navigates to facebook.com. browser opens facebook container Tab 2 and closes Tab 1.
Step 3 - user navigates to non-facebook.com site and browser opens regular Tab 3 and closes Tab 2.

In Step 2, we don't have to close Tab 1. The issue is to stop closing Tab 1 in Step 2.

Here are more details:
In Step 3, we close Tab 2 because we don't want facebook.com open and lurking around in a background tab unnecessarily. The addons purpose is privacy protection against facebook, so letting it keep running doesn't help with that.

But there is no reason to delete the pre-facebook history.

This isn't a big UX issue, since the user knows that the addon is isolating Facebook into its own tab. So if they type "facebook.com" in the url bar and see a new tab open, the user knows that this is the addon doing its job of isolating facebook.

Blank page or log in fails when you try to log into certain websites using the Facebook authentification

[Affected versions]:

  • Firefox 59.0.1 and up

[Affected Platforms]:

  • All Windows
  • All Mac
  • All Linux

[Prerequisites]:

  • Have a Firefox profile with the latest version of the "Facebook Container" add-on (1.2.0) installed.
  • Be logged in a valid Facebook account.

[Steps to reproduce]:

  1. Open the browser with the profile from prerequisites and navigate to https://pinterest.com/ (blank page) or https://www.instagram.com (login fail).
  2. Click the "Continue with Facebook"/"Log in with Facebook" button and observe the behavior.

[Expected result]:

  • You are redirected to the Pinterest page / Instagram log in form populated with FB credentials.

[Actual result]:

  • Pinterest: The Facebook authentification tab becomes blank and you cannot access your Pinterest account.
  • Instagram: You are wrongly redirected again to the sign up form each time you click the "Log in with Facebook" button.

[Notes]:

  • Blank page issue is also reproducible on https://www.emag.ro/.
  • This issue is also reproducible if you are not logged into your Facebook account.
  • Attached screen recordings of the issue:
    Pinterest
    log in pinterest 1

Instagram
instagramfacebook authentification

Does this require Multi-Account Containers to be installed and active?

When I first installed the Facebook Container extension, it didn't work, even after restarting the browser. I had to activate Multi-Account Containers, then deactivate and reactivate Facebook Container, to get the expected behavior.

That's OK (though I don't entirely see why it's necessary) but it's not clearly documented. The blog post didn't make that clear at all, and the README in this repo actually seems to indicate that Multi-Account Containers is not a requirement, but is an additional option if you like Facebook Container.

So if it's intentional that Multi-Account Containers is required to use Facebook Container, it should be clearly documented. If it's not intentional, it does appear to be a requirement at the moment.

Two tabs with the same website are wrongly opened when trying to log in on it with Facebook, if the website was previously assigned to a container

[Notes]:

  • If at step 2 the "Remember my decision for this site" option was not checked then the user will end with two confirmation windows.
  • Even if you are not logged in to Facebook, after following the normal log in flow, you will encounter the same issue.

[Affected versions]:

  • Firefox 59.0.1 and up

[Affected Platforms]:

  • All Windows
  • All Mac
  • All Linux

[Prerequisites]:

  • Have a Firefox profile with the latest version of the "Facebook Container" add-on (1.2.3) installed.
  • You must be logged in to Facebook.
  • Have the Firefox Multi-Account Containers add-on (6.0.0) installed.
  • Have the any website assigned that has the "Log In with Facebook" option to any container (eg. https://9gag.com to Work).

[Steps to reproduce]:

  1. Open the browser with the profile from prerequisites.
  2. Navigate to https://9gag.com and check the "Remember my decision for this site" option.
  3. Press the "Open in Work Container" option.
  4. Click the "Log In" button and select the "Facebook" option.
  5. Observe the behavior.

[Expected result]:

  • You are successfully logged in.

[Actual result]:

  • You are successfully logged in but also two tabs with the same website are opened.

[Additional Notes]:

  • The issue is reproducible with any website that has the "Log In with Facebook" option.
  • Attached a screen recording of the issue:
    rec of the issue

Ensure forks are up-to-date with upstream

Several forks are popping up: twitter, linkedin and google. It might be worth to move the core-logic of this Add-on to a separate repo and publish that to npm and make a simple build-script available that uses the "core-logic" repo to build the Add-on - that way would be ensured that forks can easily stay up-to-date with the "core-logic".

Related: #14

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.