feat(session): port /rename and /delete with custom titles (#3093)#218
Conversation
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, 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 have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (165)
✨ Finishing Touches🧪 Generate unit tests (beta)
Review rate limit: 0/5 reviews remaining, refill in 8 minutes and 3 seconds. Comment |
a813f7f to
29a08ec
Compare
Cherry-picks upstream qwen-code PR QwenLM#3093, which adds session renaming/deletion + custom-title support. Skips the auto-title-via-LLM piece (depends on un-ported gateway shape) and the vscode-ide-companion files (deleted in our fork). What's in: - /rename: prompt for a custom session title; persisted via ChatRecordingService.recordCustomTitle and surfaced in the picker. - /delete: opens a SessionPicker that calls SessionService.removeSession on selection. - SessionListItem.customTitle field + readSessionTitleFromFile tail scanner on session file load. - SessionService.renameSession / getSessionTitle / findSessionsByTitle. - ACP extMethod handlers for renameSession + deleteSession. - SessionStart restores session-name tag from the persisted custom title via useInitializationEffects. - --resume now accepts UUID or title (validation moved to runtime). Conflict resolution notes: - Kept HEAD's bg-agent useEffect block; the upstream init useEffect was already extracted into useInitializationEffects, so the customTitle restore goes there with an optional setSessionName arg. - Kept HEAD's rewind dialog; added the delete dialog as a sibling. - Kept HEAD's voice/recap state; added sessionName/setSessionName to UIState. Dropped upstream's streamingResponseLengthRef + isReceivingContent (token-display PR QwenLM#3329, un-ported). - Dropped upstream MemoryDialog import (auto-memory un-ported); kept the i18n t import for the Delete dialog title. Tests: 29 new tests pass (rename/delete commands, customTitle recording, sessionService rename/find). Resume tests still pass. Follow-up: auto-title generation (QwenLM#3540) deferred — it depends on a generateSessionTitle path through ContentGenerator that needs adaptation to our gateway. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
29a08ec to
c627f38
Compare
Code Coverage Summary
CLI Package - Full Text ReportCore Package - Full Text ReportFor detailed HTML reports, please see the 'coverage-reports-22.x-ubuntu-latest' artifact from the main CI run. |
Summary
/rename,/delete, custom session titles, and ACP renameSession/deleteSession methodsWhat's in
<title>— sets a custom session title; persisted viaChatRecordingService.recordCustomTitleand surfaced in the pickerSessionPickerthat callsSessionService.removeSessionon selectionSessionListItem.customTitle+readSessionTitleFromFiletail scanner used on session listSessionService.renameSession/getSessionTitle/findSessionsByTitleextMethodhandlers forrenameSession+deleteSessionuseInitializationEffects(new optionalsetSessionNamearg)--resumeaccepts UUID or title — UUID-only validator removed; matching happens at runtimeConflict resolution notes
useInitializationEffects, so the customTitle restore goes theresessionName/setSessionName. Dropped upstream'sstreamingResponseLengthRef+isReceivingContent(token-display PR feat(cli): display real-time token consumption during streaming (#2742) QwenLM/qwen-code#3329, un-ported)MemoryDialogimport (auto-memory un-ported); kept the i18ntimport for the Delete dialog titleTest plan
vitestfor new tests passes (29 tests across renameCommand, deleteCommand, sessionService.rename, chatRecordingService.customTitle)/rename foothen/resume foomatches by title/deleteshows picker, removes the chosen sessionrenameSession/deleteSessionround-trips🤖 Generated with Claude Code