Skip to content

[Drift] Sync status shared across tabs via broadcast channel when shared workers are disabled (powersync-js #1047) #546

Description

@benitav

What's changing: When shared web workers are disabled or unavailable (Safari, mobile browsers), each browser tab previously synced independently and only the oldest tab displayed sync status. The connected tab now broadcasts its sync status (including download progress and hasSynced) and stream subscription changes over a BroadcastChannel so other tabs reflect the same state, without requiring any configuration change.

High priority — existing docs are now inaccurate or incomplete

  • JavaScript Web SDK Reference (https://docs.powersync.com/client-sdks/reference/javascript-web) — the "Using PowerSync between multiple tabs" section currently states: "Currently, using the SDK in multiple tabs without enabling the enableMultiTabs flag will spawn a standard web worker per tab for DB operations... Only one tab can sync from the PowerSync instance at a time. The sync status will not be shared between tabs, only the oldest tab will connect and display the latest sync status." This is no longer accurate for the case where shared workers are disabled (e.g. Safari, mobile): sync status and hasSynced are now shared across tabs via a broadcast channel even without shared workers.

For reviewer consideration — may be worth documenting
None identified.

Source PR: powersync-ja/powersync-js#1047 — merged 2026-07-27.

Filed automatically by Claude Code (claude-sonnet-5). A human must verify the scope, prepare the docs PR, and publish it only once this update has been released.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions