chore: release v0.1.3 - #77
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
📝 WalkthroughWalkthroughThis PR adds a v0.1.3 changelog entry documenting Daemon, Web, and Telegram fixes, and bumps the package.json version from 0.1.2 to 0.1.3. ChangesRelease Version Bump
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #77 +/- ##
=======================================
Coverage 80.76% 80.76%
=======================================
Files 59 59
Lines 8904 8904
=======================================
Hits 7191 7191
Misses 1713 1713
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@CHANGELOG.md`:
- Around line 9-37: The new 0.1.3 changelog entry needs matching compare links
in the release footer so the history stays accurate. Update the changelog footer
to point the Unreleased link at v0.1.3...HEAD and add the new [0.1.3] compare
link; use the existing changelog link section around the 0.1.3 heading as the
place to keep these references consistent.
- Line 9: The changelog heading for the 0.1.3 release uses a future date, so
update the release date in the top-level version entry to the actual tag date
before merging. Adjust the date in the release header for the affected entry in
CHANGELOG.md so it matches the real release timestamp and stays current.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 37f44e53-cfe9-475b-ad81-1102eb63d6dc
📒 Files selected for processing (2)
CHANGELOG.mdpackage.json
|
|
||
| ## [Unreleased] | ||
|
|
||
| ## [0.1.3] - 2026-07-03 |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Use the actual release date.
2026-07-03 is in the future relative to 2026-07-02, so this heading will be stale unless the tag is intentionally deferred.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@CHANGELOG.md` at line 9, The changelog heading for the 0.1.3 release uses a
future date, so update the release date in the top-level version entry to the
actual tag date before merging. Adjust the date in the release header for the
affected entry in CHANGELOG.md so it matches the real release timestamp and
stays current.
| ## [0.1.3] - 2026-07-03 | ||
|
|
||
| ### Fixed | ||
|
|
||
| - **Daemon**: streamed assistant/thinking messages were pushed into scrollback | ||
| twice (stream start + finalize) — duplicating rows on every replay/attach, | ||
| splitting memory episodes into promptless halves, and drifting the byte | ||
| accounting negative so the 20MB scrollback cap never fired. Scrollback now | ||
| upserts by messageId with real UTF-8 byte accounting, and the transcript | ||
| `seq` counter resumes past the persisted tail instead of restarting at 0. (#74) | ||
| - **Web**: transcript virtualizer was never notified on count/session changes | ||
| (stale layout ghosting after session switches and size-cache poisoning — the | ||
| residual cause of the row-overlap bug #73 targeted); scrolled-past rows | ||
| leaked their DOM subtrees forever; `session.list` was ingested twice per | ||
| refresh and rebuilt every sidebar row; pending-approval and notification | ||
| watchers re-scanned the full transcript on every streaming delta; usage | ||
| analytics showed *global* totals to identities owning zero sessions and | ||
| broke past ~1000 sessions (SQLite variable limit); analytics chart mixed | ||
| local-time and UTC day buckets. (#75) | ||
| - **Telegram**: every streamed assistant/thinking block was delivered twice; | ||
| one unhandled handler error (e.g. `/ls` rendering an unescaped | ||
| `tool_running` status) permanently stopped long polling; flood-limited | ||
| (429) messages vanished silently — grammY auto-retry now honors | ||
| `retry_after`; interleaved broadcasts mid-stream dropped or duplicated | ||
| streamed text; >4000-char replies could arrive with chunks out of order; | ||
| tool completion/cancellation states never rendered; buffered content was | ||
| silently discarded on session switch/detach and stale broadcasts from a | ||
| detached session could write into the new session's chat. (#76) | ||
|
|
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Update the changelog compare links with the new release.
This new 0.1.3 section should be paired with a footer update ([Unreleased] → v0.1.3...HEAD, plus a [0.1.3] link) so the release history stays accurate.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@CHANGELOG.md` around lines 9 - 37, The new 0.1.3 changelog entry needs
matching compare links in the release footer so the history stays accurate.
Update the changelog footer to point the Unreleased link at v0.1.3...HEAD and
add the new [0.1.3] compare link; use the existing changelog link section around
the 0.1.3 heading as the place to keep these references consistent.
Version bump + changelog for v0.1.3 — the rendering/session-scaling audit wave: daemon scrollback double-push (#74), web virtualizer/state fixes (#75), Telegram delivery fixes (#76).
After merge: tag
v0.1.3from main (tag push triggers npm publish + GitHub Release).🤖 Generated with Claude Code
Summary by CodeRabbit