Skip to content

Service Workers always available #243

@aarongustafson

Description

@aarongustafson

The Service Worker API is regularly unavailable in cases where a user refreshes a page, or privacy modes are enabled.

Service Workers have uses beyond caching:

  • Adapting stream protocols (i.e. SHOUTcast/Icecast ICY) to work in standard HTMLMediaElements. (MediaSource Extensions do not work here.)
  • Streaming data for image elements (and others) from alternative sources (Bluetooth, MIDI, WebSocket, wherever.)
  • Auto-resuming/graceful handling of uploads.
  • Streaming dynamically rendered "downloads".
  • API abstraction (fetch('midi.local/ch1/patch'), and maybe the Service Worker goes and does the actual MIDI work)

We can't rely on any of these things today because Service Workers are often simply unavailable.

Rather than disabling the Service Worker in privacy mode, or on refresh, it makes more sense to disable its storage. That way, all of these other alternative use cases can still work.

Metadata

Metadata

Labels

wantIncoming requests from the community

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions