An open-source browser extension that alerts you when you navigate to a website belonging to an organization whose employees are on strike. You can then click on the notification to learn more about the strike. You can also click on the extension's icon in your browser's toolbar to show a popup with a list of active strikes and links to more information.
If available for your browser, we recommend installing this browser extension automatically to ensure you receive any updates to the extension itself. Regardless of what browser or installation method you choose though, after installing the browser extension for the first time, you'll get the latest strike data automatically thereafter.
Install from our page on the Chrome Web Store.
Install from our page on Microsoft Edge Addons.
Install from our page on Mozilla's list of Firefox add-ons.
This browser extension is not yet available from Opera's Extensions page; official approval for it to be listed there is still pending. In the meantime, please use the manual installation instructions for Opera below.
- Download this repository as a ZIP file from GitHub.
- Unzip the ZIP file and you should have a directory named
picket-line-notifier-main
. Move this directory to a permanent location, as deleting it will uninstall the extension. - Launch your web browser and go to its Extensions page (chrome://extensions in Chrome; edge://extensions in Edge; opera://extensions in Opera). Enable 'Developer Mode' from there.
- Drag the
picket-line-notifier-main
directory anywhere on the Extensions page to install it. Remember: don't delete thepicket-line-notifier-main
directory unless you want to uninstall the extension.
Yes! After you've installed our browser extension, our list of active strikes is downloaded periodically by your browser, so just because you're not seeing browser extension updates for your browser doesn't mean you're not getting the latest strike notifications. We're regularly adding new strikes to our browser extension regardless of whether or not we're regularly pushing new browser extension updates.
You may have Focus Assist enabled, which can block browser notifications. Click here (and scroll down to the 'Quiet down those notifications' section) for some general instructions on how to configure it.
New strikes are automatically picked up by an AWS Lambda function managed by @jamespizzurro that runs code in the jamespizzurro/picket-line-discoverer repository every hour of every day. When a newly active or inactive strike is detected, a new issue is created in this repository by @picket-line-bot with any details about the strike that it was able to collect. Us humans are then responsible for doing the rest: taking the information about that newly active/inactive strike and adding/removing the relevant data about that strike to/from the data/strikes.json
file in this repository.
Of course, our automation won't pick up every strike; it can be slow to discover new strikes and slow to let us know that a given strike has concluded. If you notice a strike is missing, or if you notice the information for a given strike listed in data/strikes.json
isn't as good as it could be, or if you notice a strike that's no longer active is still listed in that file, create a new issue or submit a pull request to this repository.
For reference, here's an example of what an entry in data/strikes.json
should look like:
"Wirecutter": {
"moreInfoUrl": "https://twitter.com/wirecutterunion/status/1463734222812856321",
"matchingUrlRegexes": [
"wirecutter.com",
"nytimes.com/wirecutter",
"facebook.com/thewirecutter",
"instagram.com/wirecutter",
"twitter.com/wirecutter",
"tiktok.com/@wirecutter"
]
}
In the example above, "Wirecutter" is the organization name, matchingUrlRegexes
is the list of case-insensitive regular expressions that match on Wirecutter's websites which will create a browser notification alerting the user to the strike, and moreInfoUrl
is the URL that the user will be navigated to when the user clicks on that browser notification to learn more about the strike.
For the organization name, make sure the organization isn't already listed, e.g. from another strike. This can happen with larger, international companies. If you run into this, simply edit the organization name for both strikes, i.e. for the strike you're adding as well as for the one that was already there, to be more specific by including the location of the strike. This will help users know which strikes are more relevant to them at a glance.
For moreInfoUrl
, URLs to primary sources are preferred, as are those to landing pages or social media profiles that are actively being kept up to date about the strike as new events unfold, e.g. the union's landing page for the strike or a post on the union's Facebook or Twitter profile that includes a link to a strike donation page. If nothing like this is readily available though, links to secondary sources are okay, e.g. a news story that includes interviews with striking workers or union representatives that details why they're striking.
For matchingUrlRegexes
, we've found one of the easiest ways to generate this list is to go to the company's website and look for links to their social media pages. These are usually shown as icons at the top or bottom of most pages on their website and/or on 'About' or 'Contact Us' pages. You can then add these links to the list along with a link to the company's website, just be sure to remove boilerplate like http://www.
from the beginning of all those links along with everything after the "?" or "#" character at the end of them. This will help ensure more people see the strike notification more often if they find themselves visiting these pages belonging to the company. For example, https://www.tiktok.com/@wirecutter/video/7111430975724195118?is_copy_url=1&is_from_webapp=v1
should be added to the list as tiktok.com/@wirecutter
to ensure users are notified whenever they view any video on Wirecutter's TikTok page in their web browser, not just the one particular video you viewed. A good way to check to see if you've removed too much from the URL is to visit your edited one (e.g. tiktok.com/@wirecutter
) in your web browser; if it still takes you to the page you were expecting, e.g. Wirecutter's TikTok page, you're good, but if you are taken to a 404 page or something, you need to revisit your edits.
There are also two optional attributes: startTime
and endTime
. You can use these independently or together to define start and end times for when a given strike is set to begin and end, respectively. This allows you to schedule strike notifications in advance. When using these attributes, make sure to express their values in standard ISO 8601 format, e.g. 2023-12-09T00:00:00.000-05:00
for startTime
and 2023-12-10T00:00:00.000-05:00
for endTime
. For more examples of accepted formats, check out these MDN docs.
If you're familiar with JavaScript and/or writing browser extensions, you are welcome to check out our list of feature requests, code up a solution, and submit a new pull request! Other feature requests you don't see listed are also welcome, we just ask that you create a new issue for them so that they can be discussed first before you start working on them.
- Add support for Apple's Safari web browser and publish it in Apple's App Store.
- 'Protest' icon made by Chanut-is-Industries from www.flaticon.com