Merge v0.8.x branch into v0.9.x - #348
Conversation
Ensure dirty-bit is updated when calling save on a syncable model with `update_fields`
…se_were_british Remove multiprocessing fallback for key generation. Stay in process.
Bump version to 0.8.13
Add deferrable FK utility, test case, and migration
Additional retry protection throughout sync pipeline
…tion-perf Improve buffer serialization performance by performing bulk counter lookup
…ncorrectly handled
…rry-fields Scoped field updates and context initialization issue
🔵 Review postedLast updated: 2026-07-28 21:03 UTC |
rtibblesbot
left a comment
There was a problem hiding this comment.
PR #348 — merge of release-v0.8.x into release-v0.9.x. The merge is clean and the 0.8.12–0.8.15 work (idempotent buffer push, opt-in retries, update_fields scoping, dirty-bit fix) carries over faithfully.
One blocking issue, in the migration-history resolution: renaming 0004_self_ref_order → 0005_self_ref_order silently nulls out Store._self_ref_order on any database that already applied the old name. I reproduced it locally and verified a fix — details inline.
Remaining findings are suggestions around the new retry plumbing, the swallowed DatabaseError in the FK-deferrable migration, and the unbounded model_uuid__in queries.
CI: all unit tests (3.9–3.13, postgres, SQLite matrix) and linting pass. The one red check, Check if author is contributor, fails in the shared call-pull-request-target.yml workflow — repo/app-token infrastructure, not this diff.
No UI files changed, so visual verification and manual QA do not apply.
@rtibblesbot's comments are generated by an LLM, and should be evaluated accordingly
How was this generated?
Ran a phased review pipeline over the pull request diff:
- Classified the diff to select review passes (core, frontend, backend) and whether manual QA was required
- Core review pass checked correctness, design, architecture, testing, completeness, and DRY/SRP/Rule-of-Three principles
- Specialized frontend/backend review passes applied framework-specific lenses where those files changed
- For UI changes: manual QA and an accessibility audit against a live dev server, when available
- Checked CI status and linked issue acceptance criteria
- Synthesized one review from those passes and chose the verdict from the findings, CI status, and QA evidence
Summary
Merges the branches and resolves merge conflicts:
Also updated the migration history for conflicting migration nodes