HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
w3c
ServiceWorker
Bikeshed2013–2026
w3c / ServiceWorker

ServiceWorker

Service Workers

27Distinct people
33Mentions
0Explicit recommenders
3.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Service Workers

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year33 dated mentions

Observed mentions: 2013-06-10 14:00:19 UTC to 2026-07-05 09:14:29 UTC.

02468102013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20132014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 8 mentions; 5 submissions, 3 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC211
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC853
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC10010
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC202
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC422
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC110
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

33 sources
Remy is super sharp (pun not intended), super respectable. but I feel like he missed something big on this one. the web as we used to do it didn't have packages. and today we want to be able to bring in some packages. even if we want a more old school jQuery or vanilla js experience, we still want some ability to bring in other code, helpers, libraries. and as soon as we want to do more than hack together 100% fresh novel code, the big nasty world of bundlers &c jumps up at us. we can go the old school route, but we have to forgoe all modernity to do so, renouncing not just big framework, but every other tool & package available too. specs like import maps[1] would help so much to let us make modulehbased development possible & easy, but this straightforward enhancement keeps meeting imo oddly stiff resistance/unenthusiasm from standards
Read the rest
developers/some browsers. and alas the browser still, 5 years latter[2], does not support ecmascript modules[3] in a wide number of places (which themselves are decade old!). even if we do try to use modern javascript, vanilla js + esm, new school modules with old school unframework, we run aground again & have to resort to bundlers if we dare try doing things off the main thread. i still agree with the core thesis. that it's us. that we are responsible for having introduced complexity & that a lot of it is unwarranted. i personally am hoping web components (really, just custom elements) can help us realign, simmer down some of the big framework mentality & return us towards a more apparent mode of development, a better state of grace. i feel fatigued not by how many frameworks there are, but by how few players there are trying to do better, trying to figure out good ways to do custom elements. thankfully there are some good works too. i am very excited to try github's new Catalyst[4], which is inspired by basecamp's Stimulus. there's an amazing mvc feel here that seems straightforward & sensible, makes it easy to look at the dom & grok how things happen. [1] https://github.com/WICG/import-maps [2] https://github.com/w3c/ServiceWorker/issues/831 [3] https://bugs.chromium.org/p/chromium/issues/detail?id=824647 [4] https://github.github.io/catalyst/
In The web didn't change; you did
> Is Safari's team smaller than Firefox's as well? Unknown > but when there is a standard in place, why Safari takes sooo long to implement it is perplexing Some standards are so bad, even Chrome ends up deprecating them (see Custom Elements v0). Or they just go out of favor (see HTML Imports). Or they are so poorly specified that even years after "becoming a standard" they have things like "this section is not specified yet" in their texts. And the status of these "standards" is often not above "Candidate Recommendation" (that is it is gathering implementation experience, and yes, that refers to Service Workers). BTW Service Workers were moved to Candidate Recommendation about half a year ago: https://github.com/w3c/ServiceWorker/issues/1460 ("Double check everyone is happy with v1 going to CR.") So yeah, I don't know what to say. Safari
Read the rest
isn't chasing every API under the sun? Good for them. Web Devs assuming that whatever's in Chrome is the be all end all standards on the web? Bad for the web and for the devs. Apple possibly not prioritising Safari? Bad for the web as well.
In Microsoft and Google collaborate to make PWAs better
When I first heard someone talking about "Progressive Web Apps" I thought they were talking about "Progressive Enhancement" [1]. Turns out doing a PWA is just basically about using the "Service Workers" API [2] and the practices around that. This nice article does a lengthy trace on the origins of the "PWA" term [3]. The same guy that started the "Service Workers" spec in Github [4] created the PWA marketing campaign, apparently. Makes me wonder why he thought it was more marketable to sell this PWA idea more than the simpler and more direct message: "use Service Workers". The PWA campaign also reminds me of the less successful "Offline First" campaign from a couple of years ago [5]. 1: https://alistapart.com/article/understandingprogressiveenhan... 2: https://jakearchibald.github.io/isserviceworkerready/ 3: https://medium.com/@amberleyjo
Read the rest
In Tiny PWAs and why I keep building them
There is a way to verify the new SW file when it updates and warn the user (but not prevent the update), but for now it's quite hacky. - There's an "updatefound" event with which you can listen for updates to the Service Worker - You can request the new SW file from browser cache with: fetch('/serviceworker.js', {cache: 'only-if-cached', credentials: 'same-origin', mode: 'same-origin'}) You would hope that that's all you need (just register for updatefound in the SW file, and when it updates, check the new one, if verifying fails, warn the user). Unfortunately, the new SW can kill the old SW with skipWaiting(). I opened a bug to try and fix that [1]. In the meantime, you could instead listen for the updatefound event in the web application. However, the example fetch() above would go through the new SW, which is no good, but... - You can
Read the rest
bypass the SW from the web app, but only by basically relying on a bug in the spec: if you send a request from an <iframe srcdoc="..."> (or data/object url) it doesn't go through the SW. That will probably be fixed, but a less hacky mechanism will probably replace it [2]. There are some other remaining issues (some of which are discussed in [1]), but given the above the probability of detection of a malicious Service Worker is very high. [1]: https://github.com/w3c/ServiceWorker/issues/1208 [2]: https://github.com/w3c/ServiceWorker/issues/1026
In The Tangled Web: A Guide to Securing Modern Web Applications (2011)
Yes, I did and was wrong. Easy does not mean effortless and I also meant it in a context where the machine was already compromised, but didn't make that clear. > only paranoids and security conscious individuals will ever validate against GitHub. The op expects this to happen anytime a user gets a message saying the code is updated. I agree that no one will do it and it'll become a click through. > but your hypothetical case is weak. It will work for any software that auto update. Browser? OS? I state in another post that you are always subject to this issue. However, when running local software, and not at the mercy of someone else's computer/server, you have the ability to choose when and how you update. I can also validate all code against signatures and public logs before running it, which is not something that can be done with servic
Read the rest
e workers or any website in general. twiss says as much themselves: https://github.com/w3c/ServiceWorker/issues/1208 And yes, there is normally an implicit assumption that the hardware is not spying on you simply because there are no alternatives. It really comes down to how often I need to validate my trust and how easy it is to do so. Web apps, under the best conditions, are hard to grab and pull all the source into external files for examination and almost impossible to do so before executing it, baring using tools like curl or wget, and running the js yourself to figure out what else needs to be downloaded. Not to mention that needs to be done every time I access the app. With a traditional app or is, I could (not that anyone does) verify the code (which for f/oss is easy to obtain) before I compile it myself. (Where I'm trusting the compiler, yes.) I'm not trying to argue that there is a perfect method. I'm arguing that this application isn't even in the running for a good, fairly trustable method. I don't believe it solves the fundamental issue of having to trust the code download every single time, regardless of their service worker check because it itself is not protected. We'll, protected by the vigilance of the end user, which is where we started anyway.
In Show HN: Airborn – Private Google Docs Alternative
Yes, it can, but whenever the Service Worker's code changes, the user is warned. There's an "updatefound" event [1] which both the web page and the old Service Worker get. I wrote a blog post with more background info at [2]. Of course, it would be better to only warn the user if the Service Worker changes if it doesn't match the version on GitHub, but that's blocked on [3]. Furthermore, there are some very edge-case situations where the Service Worker can update when Airborn OS is not open or not visible (e.g., in a hidden iframe [4]). That is why, when you register and check "Notify me before updating Airborn OS", it asks you for permission to send you notifications. Those notifications are currently only used to warn you when the Service Worker updates. [1]: https://developer.mozilla.org/docs/Web/API/ServiceWorkerRegi... [2]: http://bl
Read the rest
og.airbornos.com/post/2017/08/03/Transparent-Web-Ap... [3]: https://github.com/w3c/ServiceWorker/issues/1208 [4]: https://bugs.chromium.org/p/chromium/issues/detail?id=773307, but it's not a browser bug. I should file a spec bug, but I'm still waiting for a reply on [3], too.
In Show HN: Airborn – Private Google Docs Alternative

Showing the 15 most recent of 33 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.