-
-
Notifications
You must be signed in to change notification settings - Fork 146
Convert solution activity recording and updates to async processing #8140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: record-activities-async
Are you sure you want to change the base?
Convert solution activity recording and updates to async processing #8140
Conversation
@copilot Try again. Remember to check out the |
…nqueued_jobs and update mocks Co-authored-by: iHiD <[email protected]>
I've now checked out the main branch to access the instructions and documentation. I found the issue - the PR converts synchronous command calls to async ones using |
main
to understand what the PR does). Use the .github/copilot-instructions.md
and docs/llm-support
files on the main
branch for information about how to do everything.
@copilot Still red. |
I found and fixed the remaining issues with the async conversion. The problem was:
Fixed by updating all affected test expectations and stubs to match the new async behavior. Commit: 9c13d85 |
This PR converts several synchronous command calls to asynchronous processing using
.defer()
to improve performance during solution completion and publishing operations.Changes Made
Command Updates:
Solution::Complete
- Activity recording now usesUser::Activity::Create.defer()
instead of synchronous callsSolution::Publish
- Activity recording now usesUser::Activity::Create.defer()
instead of synchronous callsSolution::PublishIteration
- Solution updates (tags, representation, snippet, LOC) now use.defer()
for async processingTest Updates:
perform_enqueued_jobs
to handle async processing.call()
to.defer()
for affected commandsBenefits
The changes ensure that expensive operations like activity creation and solution metadata updates happen in the background, allowing the user-facing operations to complete faster while maintaining data consistency.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.