Repository navigation
feat(cli): check which chunks the server needs before uploading - #98154
Conversation
The CLI sends the chunk ids and content hashes to bulk_check_upload first, 1000 chunks per request, and then uploads only the chunks the server names. A batch that uploads nothing skips the finish call. The CLI falls back to the old flow when the server rejects the check. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015aB7hMSfqghiJRCpHienaF
|
😎 Merged successfully - details. |
🤖 CI report✅ Trunk lane — non-backend laneThis PR is assigned to the non-backend lane. It does not run backend Python tests and may merge in parallel with PRs in other lanes. 🚨 Comment density — 9% of added code lines are comments (22 of 245)This section warns when comments are more than 3% of the code lines a PR adds, and alerts above 6%. Before agent-assisted PRs, the typical share was about 2%. Only full-line comments count. Docstrings, generated files, snapshots, migrations, and workflow files are left out. Comments that restate the code, record how the change came about, or narrate the next line add noise for the next reader. Keep the comments that explain a reason the code cannot show, and remove the rest. See Files with the most added comment lines:
This check does not block merging. It updates on every push and clears when the share drops. |
🦔 PostHog Review reviewed this pull requestFound 0 must fix, 0 should fix, 1 consider. Published 1 finding (view the review). Resolved comments: 1 fixed |
|
PostHog Review alpha 🦔 If you find any issues helpful - please reply "valid", "invalid", etc., for evaluation purposes 🙏 |
A check that gave no usable answer discarded every chunk id that an earlier 1000-chunk batch had already cleared, so all of them went back into the start batches. Keep the answered batches' results and send only the unanswered batches without a check. Generated-By: PostHog Desktop Task-Id: e9ef07a7-53aa-4a8f-88a4-920a8062bdc8
Prompt To Fix All With AI### Issue 1
cli/src/api/symbol_sets.rs:477-484
**Retry flow lacks coverage**
The new upload-check path retries transport and server failures up to three times, but the added test only checks filtering after a failed callback. This violates the repository requirement to test complete retry flows with multiple attempts. Add coverage for eventual success and for retry exhaustion falling back to the original upload flow before merging.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Reviews (1): Last reviewed commit: "fix(cli): keep upload check results when..." | Re-trigger Greptile |
The retry loop and the outcome classification of the upload check move into check_upload_with, which takes the delays and a send closure. A unit test drives it with scripted replies. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015aB7hMSfqghiJRCpHienaF
Problem
A symbol set upload makes two API calls per batch of 50 chunks, even when the server already holds every chunk. A build with 3600 unchanged chunks makes 144 calls to upload nothing.
Changes
bulk_check_upload(feat(error-tracking): add a symbol set upload check endpoint #98153), 1000 chunks per request.API calls for a synthetic build of 3600 chunks against the local dev stack:
How did you test this code?
sourcemap process --release-mode=eventon a synthetic build. Theweb-rawexample app gave the same result in both release modes.Automatic notifications
Docs update
None.
🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Claude Code with Claude Fable 5.1. Skills invoked: /writing-tests, /writing-code-comments, /writing-user-facing-copy, /writing-pr-descriptions, /asd-ste100. An old server rejects the unknown action with 403 for a personal API key, not 404, so the fallback covers every rejection.
🤖 Generated with Claude Code
https://claude.ai/code/session_015aB7hMSfqghiJRCpHienaF