Skip to content

Python: watcher is live when watch() returns - #1553

Merged
thekevinbot merged 3 commits into
mainfrom
bot/1552-watch-gap-1102
Nov 2, 2026
Merged

thekevinbot merged 3 commits into
mainfrom
bot/1552-watch-gap-1102

Conversation

@thekevinbot

Copy link
Copy Markdown
Collaborator

Fixes #1552

watch() started the native watcher on the stream's first __anext__, so a write made between watch() returning and the first iteration produced no event and never reached the index.

Red commit first: tests/integration/binding/watch_live_on_return_test.py writes immediately after watch() (and after watch() then ready()) and expects the insert event plus the row.

E2E Verification

  • Ran e2e suites locally for every affected SDK
  • Python SDK e2e: pending
  • TypeScript SDK e2e: N/A
  • Rust core e2e (if applicable): N/A
  • packages/python/e2e-attestations/<branch>.json receipt written if packages/python changed (just e2e-attest-python)
  • packages/ts/e2e-attestations/<branch>.json receipt written if packages/ts changed (just e2e-attest-ts)
  • Command(s) run: pending
  • Result summary: pending

Changelog / Migrations

  • Changelog fragment added under <root>/<pkg>/changelog.d/ for each changed package (or: skip-changelog trailer on a commit with reason)
  • Migration fragment with the same slug added under <root>/<pkg>/migrations.d/ for each changed package (every subsection but Summary _None._ when nothing breaks)

@thekevinbot
thekevinbot merged commit 3854d05 into main Nov 2, 2026
50 checks passed
@thekevinbot
thekevinbot deleted the bot/1552-watch-gap-1102 branch November 2, 2026 22:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Python: writes made right after watch() are lost

1 participant