From 79892f5074be1ec1cd51f5de0d6ec432aef43bbc Mon Sep 17 00:00:00 2001 From: Valerii Kovalskii Date: Fri, 17 Apr 2026 10:45:24 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20update=20changelog=20(v6.3=E2=80=93v7.2)?= =?UTF-8?q?=20+=20preserve=20scroll=20on=20re-render?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Changelog: 11 new entries from v6.3.0 to v7.2.0 - Save/restore content.scrollTop in render() so page doesn't jump when pollActiveSessions or background refresh triggers re-render Co-Authored-By: Claude Opus 4.6 (1M context) --- src/changelog.js | 124 ++++++++++++++++++++++++++++++++++++++++++++ src/frontend/app.js | 6 +++ 2 files changed, 130 insertions(+) diff --git a/src/changelog.js b/src/changelog.js index 468c7d9..9dc293f 100644 --- a/src/changelog.js +++ b/src/changelog.js @@ -1,6 +1,130 @@ 'use strict'; const CHANGELOG = [ + { + version: '7.2.0', + date: '2026-04-17', + title: 'Recap titles, sort toggle, analytics sub-tabs', + changes: [ + 'Claude Code recap (away_summary) shown as session title', + 'Message sort toggle in session drawer (newest first / oldest first)', + 'Detect new sessions in existing project dirs + local-agent-mode', + 'Block bulk delete for filter-hidden sessions', + 'Sub-tabs in Cost Analytics: Overview / Breakdown / History', + ], + }, + { + version: '7.1.0', + date: '2026-04-16', + title: 'Kilo agent, Linux focus, WSL support', + changes: [ + 'Kilo CLI agent support (SQLite backend)', + 'Linux: precise terminal focus via WINDOWID', + 'WSL: run codbash from WSL with Windows-host browser UI', + 'WSL: agent homes discovery on Windows', + 'Makefile for easy service management', + 'Running card titles white for better visibility', + ], + }, + { + version: '7.0.0', + date: '2026-04-10', + title: 'Codbash — rebrand + Cloud Sync + modular frontend', + changes: [ + 'Renamed from codedash to codbash (npm: codbash-app)', + 'Cloud Sync: sync sessions across machines', + 'Frontend split into modules (analytics, calendar, cloud, detail, heatmap, leaderboard)', + 'Improved session file index and disk caching', + ], + }, + { + version: '6.14.0', + date: '2026-04-08', + title: 'Leaderboard + GitHub auth + heartbeat', + changes: [ + 'Global leaderboard at codedash-leaderboard.valeriy.workers.dev', + 'GitHub OAuth Device Flow authentication', + 'Anonymous heartbeat — track active installs', + 'Auto-sync stats every 5 minutes', + 'Multi-device support — stats merge across PCs', + 'Anti-cheat: GitHub token verification, rate limits, sanity checks', + 'Leaderboard tabs: Today / Week / All Time', + ], + }, + { + version: '6.12.0', + date: '2026-04-08', + title: 'AI session titles + LLM integration', + changes: [ + 'Generate AI session titles via OpenAI-compatible API', + 'LLM Settings: model, URL, API key configuration', + 'Per-card generate/regenerate button', + 'Bulk "AI Titles" in toolbar', + 'Structured output with XML prompt (MAIN_ROLE/MAIN_GUIDELINES)', + 'Support for reasoning models (content:null handling)', + ], + }, + { + version: '6.9.0', + date: '2026-04-08', + title: 'Community PRs: Windows, MCP badges, burn rate, kanban', + changes: [ + 'execFileSync + windowsHide prevents CMD flashing on Windows', + 'MCP and Skill badges on sessions (Claude/Codex/OpenCode)', + 'Burn Rate indicator in Cost Analytics', + 'Kanban-board for Running Sessions', + 'Configurable repo-based session grouping', + ], + }, + { + version: '6.8.0', + date: '2026-04-08', + title: 'Resizable detail panel + git info', + changes: [ + 'Drag left edge of detail panel to resize (saved in localStorage)', + 'Git info in detail panel: branch, last commit, remote URL, dirty status', + 'Detail panel widened to 840px', + ], + }, + { + version: '6.6.0', + date: '2026-04-08', + title: 'Community fixes: Codex count, card heights, sqlite tabs', + changes: [ + 'Fix Codex session message count in grid/list', + 'Equal-height session cards in grid view', + 'Tab separator for sqlite3 queries (fixes pipes in titles)', + 'Git-repo based project grouping', + 'Subscription service/plan selector in Analytics', + 'claude-ext sessions removed from Cursor filter', + ], + }, + { + version: '6.5.0', + date: '2026-04-08', + title: 'Host flag, session names, settings page, calendar', + changes: [ + '--host flag + CODEDASH_HOST env for remote access', + 'Session names from custom-title (Claude) and session_index.jsonl (Codex)', + 'Dedicated Settings page', + 'Custom calendar date picker with range selection', + ], + }, + { + version: '6.3.0', + date: '2026-04-07', + title: 'Performance overhaul', + changes: [ + 'Server-side session cache (10s TTL) — 722ms to 0ms repeat loads', + 'Frontend pagination: 60 cards + "Load more"', + 'pollActiveSessions: skip DOM if unchanged', + 'Hover tooltips removed (fixes tooltip pileup bug)', + 'WSL support: scan Windows-side data dirs + \\r\\n fix', + 'Fix Kiro message count (was hardcoded 0)', + 'Project key regex: /[^a-zA-Z0-9-]/g (fixes underscore paths)', + 'cmux proper Resume/Focus via CMUX_WORKSPACE_ID', + ], + }, { version: '6.14.6', date: '2026-04-08', diff --git a/src/frontend/app.js b/src/frontend/app.js index c3d985f..b3f781b 100644 --- a/src/frontend/app.js +++ b/src/frontend/app.js @@ -960,6 +960,9 @@ function render() { var stats = document.getElementById('stats'); if (!content) return; + // Preserve scroll position across re-renders + var scrollTop = content.scrollTop; + var sessions = filteredSessions; // Stats @@ -1048,6 +1051,9 @@ function render() { if (hasMore) { content.innerHTML += '
'; } + + // Restore scroll position + if (scrollTop) content.scrollTop = scrollTop; } function loadMoreCards() {