thunderbird / thunderbird/stormbox

SharedWorker death leaves the app hung until a manual reload

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

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
105
Forks
9
Avg merge
18h 18m
Merged PRs (30d)
16

Description

Problem

The OS can reclaim the SharedWorker process while the tab's document stays alive — common on mobile after the browser spends time in the background. Nothing notifies the page: outstanding RPCs never settle, new ones post into a void, and the user gets a spinner with no explanation. Only a manual refresh recovers.

Chrome for Android's own release notes state SharedWorker instances "might terminate unexpectedly, without notifying users or web developers."

Expected

  • Detect the worker's death without relying on a heartbeat.
  • Reject outstanding RPCs with a distinguishable error instead of hanging them.
  • Reconnect in place — no reload, no sign-in screen — and restart sync when the worker process was actually replaced.
  • Tell the user while recovery is in progress, and when it has given up.

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

No files, tests, or entry points are named. Start by locating the SharedWorker RPC and sync lifecycle, then define coverage for worker death, outstanding and new RPCs, reconnection, sync restart, and user-visible recovery failure states.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend, web-dev
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.