AngleSharp / AngleSharp/AngleSharp.Io

Introduce Minimal Service Worker Registration Surface

Open
#39 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

api enhancement up-for-grabs
Dominant language
C#
Stars
37
Forks
13
PR merge metrics
No merged PRs in 30d

Description

Proposal

Provide a practical subset of Service Worker APIs to support registration and fetch interception workflows.

Scope:

  • Add navigator.serviceWorker getter.
  • Support register, getRegistration, and getRegistrations.
  • Model registration state transitions at a minimal level.
  • Provide integration hook for request/fetch interception.
    Technical Notes:
  • Use in-memory registration store keyed by origin and scope.
  • Keep execution/runtime behavior abstracted behind platform adapters.
    Acceptance Criteria:
  • Registering a worker creates retrievable registrations by scope.
  • Scope matching behaves consistently.
  • Fetch pipeline can be wired to registration hooks.
  • Tests verify lifecycle and scope behavior.
    Out of Scope:
  • Full event loop/task semantics of production browsers.
  • Full worker script runtime.

Description

Introduce a minimal Service Worker registration surface on navigator.serviceWorker, including register, getRegistration, and getRegistrations, plus basic scope handling and lifecycle state tracking.

Background

Service Worker registration is foundational for modern offline/network interception flows. Even without a full worker runtime, registration-level support unlocks realistic app bootstrapping and controlled fetch routing scenarios.

Specification

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the ServiceWorkerContainer and registration lifecycle portions of the linked Service Workers specification, then locate the navigator and request/fetch integration entry points. Define the in-memory origin-and-scope registration behavior and verify lifecycle and scope matching with tests, including that fetch interception hooks can be wired without a full worker runtime.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
web-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.