fix(books): don't bump updated_at when reordering the read queue#49
Conversation
Queue position is organizational, not content. The mass increment/decrement and per-book updates used for queue ordering all stamped updated_at, so marking a book read (which auto-removes it from the queue and renumbers the rest) made every shifted book jump to the top of the default Recently Updated sort on /books. Wrap all queue mutations in Book::withoutTimestamps(); genuine status/date/rating changes still bump updated_at. Adds a regression test.
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
|
Warning Review limit reached
More reviews will be available in 46 minutes and 20 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (4)
Note
|
Problem
Queue position is organizational, not content — but the mass increment/decrement and per-book updates used for queue ordering all stamped
updated_at. So marking a book read (which auto-removes it from the queue and renumbers the rest) made every shifted book jump to the top of the default Recently Updated sort on/books.Fix
Wrap all queue-position mutations in
Book::withoutTimestamps(). Genuine status/date/rating changes still bumpupdated_atas before. Adds a regression test covering reorder, mark-read, and remove-from-queue paths.Rescued from the
feat/teal-2026-themebranch where it was authored alongside unrelated UI work — landed here on its own so it isn't blocked on the rebrand.Verification
composer stan→ [OK] No errors (level max)composer lint(Pint) → passphp artisan test→ 94 passed (incl. 3 newBookQueueTimestampTestcases)🤖 Generated with Claude Code