fix: Dispatch save callbacks on callback queue#467
Conversation
|
I will reformat the title to use the proper commit message syntax. |
|
🚀 Thanks for opening this pull request! We appreciate your effort in improving the project. Please let us know once your pull request is ready for review. Tip
Note Please respond to review comments from AI agents just like you would to comments from a human reviewer. Let the reviewer resolve their own comments, unless they have reviewed and accepted your commit, or agreed with your explanation for why the feedback was incorrect. Caution Pull requests must be written using an AI agent with human supervision. Pull requests written entirely by a human will likely be rejected, because of lower code quality, higher review effort and the higher risk of introducing bugs. Please note that AI review comments on this pull request alone do not satisfy this requirement. Our CI and AI review are safeguards, not development tools. If many issues are flagged, rethink your development approach. Invest more effort in planning and design rather than using review cycles to fix low-quality code. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
📝 WalkthroughWalkthroughThree Parse object types' async save implementations now dispatch success callbacks to the provided callbackQueue instead of invoking them directly within the Task. Corresponding tests validate that callbacks execute on the correct queue. This fixes a bug where only error callbacks were dispatched to the callback queue. ChangesAsync save callback queue dispatch
🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 5 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 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. 🔧 OpenGrep (1.20.0)OpenGrep fatal error (exit code 2): [00.16][ERROR]: Error: exception Unix_error: No such file or directory stat Sources/ParseSwift/Objects/ParseObject.swift 🔧 SwiftLint (0.63.2)Sources/ParseSwift/Objects/ParseInstallation.swiftError: No lintable files found at paths: 'Sources/ParseSwift/Objects/ParseInstallation.swift' Sources/ParseSwift/Objects/ParseObject.swiftError: No lintable files found at paths: 'Sources/ParseSwift/Objects/ParseObject.swift' Sources/ParseSwift/Objects/ParseUser.swiftError: No lintable files found at paths: 'Sources/ParseSwift/Objects/ParseUser.swift'
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. 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 |
|
Ready for review. The PR is scoped to the save callback queue issue in #431, CodeRabbit approved with no actionable comments, and the current GitHub statuses are green. Local SwiftPM test execution on this machine is still blocked by the Command Line Tools compiler/SDK mismatch noted in the PR body, but the focused code/tests were checked for whitespace with |
New Pull Request Checklist
Issue Description
Successful callback-style
savecompletions forParseObject,ParseUser, andParseInstallationwere called directly from the Swift concurrency task instead of being dispatched back to the requestedcallbackQueue. The failure path already usedcallbackQueue.async, so success and failure behaved inconsistently.Closes: #431
Approach
savecompletions incallbackQueue.asyncforParseObject,ParseUser, andParseInstallation.saveAPIs described in the issue.TODOs before merging
None.
Verification
git diff --checkI attempted to run
swift test --filter ParseObjectTests.testSaveAsyncUsesCallbackQueueOnSuccess, but local SwiftPM fails before building because this machine's selected Command Line Tools compiler and SDK are mismatched:swiftlang-6.0.3.1.10compiler vsswiftlang-6.0.3.1.5SDK.Summary by CodeRabbit
Bug Fixes
Tests