lore(release): v0.7.20 — harden quality and reliability - #15
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (56)
📝 WalkthroughWalkthroughChangesThe v0.7.20 release adds bounded and private provider execution, typed job-store errors, distinct streaming delta/snapshot events, collision-safe generation prompts, generated-content validation, and frontend protections against overlapping save and hydration operations. Release and cleanup
Generation and provider execution
Frontend and command plumbing
Estimated code review effort: 4 (Complex) | ~60 minutes Sequence Diagram(s)sequenceDiagram
participant User
participant SessionActions
participant RecordActions
participant Backend
User->>SessionActions: edit session or record
SessionActions->>RecordActions: flush pending edits
RecordActions->>Backend: persist latest draft/finding
Backend-->>RecordActions: saved, superseded, or failed
SessionActions->>SessionActions: retry while edits remain pending
Possibly related PRs
Suggested reviewers: ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint install failed. For unrecoverable errors, disable the tool in CodeRabbit configuration. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4f3540533e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const draftUnchanged = settingsDraftVersionRef.current === draftVersion | ||
| setSettingsSaveState(saved ? (draftUnchanged ? 'saved' : 'idle') : 'error') | ||
| if (saved && draftUnchanged) scheduleSettingsSaveReset() | ||
| return Boolean(saved) |
There was a problem hiding this comment.
Return false when a settings save is superseded
When the user changes the Settings draft while updateSettings is still in flight, draftUnchanged becomes false and the newer draft is intentionally left dirty, but this still returns true. The close path calls saveSettingsDraft() through saveAllPendingChanges() and destroys the window when the boolean is true, so an edit typed during the in-flight save can remain only in memory and be lost on close; return false or retry when the draft version changed.
Useful? React with 👍 / 👎.
Summary
Root causes addressed
Release behavior
Merging this PR into
maintriggers the Release workflow. It validates the 0.7.20 metadata, creates the missingv0.7.20tag on the exact merge commit, and starts the draft-release/build pipeline. The feature branch is intentionally not tagged, so the release cannot point at a pre-merge SHA.Validation
node scripts/check-release-metadata.mjs --expected-tag v0.7.20bun run verifygit diff --checkSummary by CodeRabbit
New Features
Bug Fixes
Tests