Repository navigation
feat(core): Enhance retention tracking and tool handling - #754
Conversation
- Expanded analytics retention tracking to include 60, 90, 180, and 365+ launch counts. - Improved "Maybe later" dialog flow to handle snooze state persistence reliably. - Log tool execution failures (e.g., timeout, denial) to the chat history memory. - Updated session initialization to utilize chat memory for session context.
There was a problem hiding this comment.
🟡 Changes recommended
The independently cached memory lookup can return null or the wrong instance for an existing chat client.
1 open finding
What changed in this PR
Enhances retention analytics, prompt snoozing, and tool-failure memory handling.
Changes:
- Adds long-term retention milestones.
- Persists “Maybe later” snoozing immediately.
- Records denied or timed-out tool calls in session memory.
| File | Description |
|---|---|
ChatClientExtensions.kt |
Adds synthetic tool results for approval failures. |
AnalyticsEvent.kt |
Documents expanded retention buckets. |
Analytics.kt |
Implements additional retention milestones. |
Main.kt |
Updates prompt callbacks and Clock import. |
StarPromptDialog.kt |
Separates skipping from final dismissal. |
SessionManager.kt |
Passes session memory into streaming. |
🧠 Review effort: Balanced
Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.
There was a problem hiding this comment.
🟡 Changes recommended
Multi-tool failures remain incomplete, and the cache-size change breaks an eviction regression test.
2 open findings
1 resolved since last review
🧠 Review effort: Balanced
Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.
There was a problem hiding this comment.
🟡 Changes recommended
Production callback ordering leaves the pending tool-request map empty when denial or timeout occurs.
3 open findings
1 resolved since last review
🧠 Review effort: Balanced
Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.


Summary
Related Issue(s)
Type of Change
What Changed & Why
How to Test
./gradlew testScreenshots / Recordings (if applicable)
Checklist
main./gradlew spotlessApplyand./gradlew detektlocally./gradlew testand all tests passgit commit -sAdditional Notes