Problem
waitForReady() only means local SQLite is open. It does not wait for connect() or the first checkpoint/download. Apps that enable the main UI after waitForReady() can show empty or misleading state before sync has applied anything.
README Sync caveat: Local UI ready ≠ sync ready.
Proposed direction
- Add a small DX helper (or documented recipe) e.g. wait until connected + first useful download/apply (or timeout with explicit error), distinct from
waitForReady().
- Showcase: gate "ready for interaction" on the stronger condition where appropriate, while still allowing offline-first local edits if that is intentional.
Acceptance
- Public helper or clear documented pattern.
- Showcase uses it (or documents why it intentionally does not).
- README Sync caveats updated.
Refs: README Sync caveats; PowerSync waitForReady / connect semantics.
Problem
waitForReady()only means local SQLite is open. It does not wait forconnect()or the first checkpoint/download. Apps that enable the main UI afterwaitForReady()can show empty or misleading state before sync has applied anything.README Sync caveat: Local UI ready ≠ sync ready.
Proposed direction
waitForReady().Acceptance
Refs: README Sync caveats; PowerSync
waitForReady/connectsemantics.