Skip to content

Conversation

@jsonbailey
Copy link
Contributor

@jsonbailey jsonbailey commented Jan 13, 2026

Note

Medium Risk
Touches core data-source synchronization/persistence decisions (selector handling, when to persist, and FDv1 fallback shutdown), which could affect cache/persistent-store behavior if selector semantics are misinterpreted.

Overview
Improves FDv2 polling/streaming behavior around fallback and persistence. PollingDataSourceV2 now only marks data as persist=True when the returned ChangeSet has a defined Selector, and ChangeSetBuilder.no_changes() now returns Selector.no_selector() (instead of None) to make “no selector” explicit; streaming also stops immediately when the server signals FDv1 fallback.

Adds FDv1 polling payload support to the FDv2 polling stack via fdv1_polling_payload_to_changeset, plus associated tests to ensure FDv1 payloads are parsed into a full-transfer changeset but are not persisted. Also includes small cleanups: rename polling endpoint constants for clarity, remove unused RepeatingTask wiring in PollingDataSourceV2, fix a redundant assignment in Store.apply_delta, and correct minor docstring typos.

Written by Cursor Bugbot for commit 9774633. This will update automatically on new commits. Configure here.

@jsonbailey jsonbailey marked this pull request as ready for review February 3, 2026 22:18
@jsonbailey jsonbailey requested a review from a team as a code owner February 3, 2026 22:18
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.

2 participants