Repository navigation
fix(checkpoint): cap full upstream cursor at 512 characters - #541
Conversation
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes. ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (7)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe ChangesUpstream cursor length limit
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~8 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The cursor limit is consistently capped at 512 characters including its prefix, with tests for the 500/501-character suffix boundary. No material merge risk is evident. 🚥 Pre-merge checks | ✅ 4 | ❓ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 5 files. (2 skipped: 1 unsupported, 1 too large.) ✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
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. A rabbit checks the cursor line Comment |
Relayfile Eval ReviewRun: Passed: 4 | Needs human: 0 | Reviewable: 0 | Missing output: 0 | Failed: 0 | Skipped: 0 Human Review CasesNo reviewable human-review cases captured Relayfile output. |
There was a problem hiding this comment.
🔍 Devin Review: 1 flag
Not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)
…dary Session-Id: 2c051289-3e25-4998-bb9a-b205eb1ebe4c
Checkpoint upstream cursor validation now rejects 513-character tokens and caps the complete token at 512 characters. The
upstream:v1:prefix is 12 characters, so the tail bound is 500; #532 used 501. Updated all three Go validators, OpenAPI patterns, and boundary tests consistently.Validation: checkpoint pattern, verify, handback and resume Go tests pass across mountsync, relayfile and CLI; the full relevant suites passed for #532. This correction follows #532 and should be included before publishing the mount/CLI prerequisite for relayfile-cloud#293. No release triggered.
Note
Low Risk
Tightens validation only; cursors at the previous 513-character boundary would now be rejected, aligning clients and API with the intended 512-character cap.
Overview
Corrects an off-by-one in checkpoint
eventCursorvalidation so the fullupstream:v1:token is capped at 512 characters (12-character prefix + 500-character tail), not 513.The same regex bound is applied in the CLI (
checkpointCursorPattern), mount sync, relayfile seal store, and three OpenAPIeventCursorpatterns. Boundary tests now treat a 500-character tail as valid and reject 501+.Reviewed by Cursor Bugbot for commit af61cc4. Bugbot is set up for automated code reviews on this repo. Configure here.