diff --git a/CHANGELOG.md b/CHANGELOG.md index f7046e50..3a08bc7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +# [6.3.0](https://github.com/kaitranntt/ccs/compare/v6.2.1...v6.3.0) (2025-12-18) + + +### Bug Fixes + +* **dashboard:** detect legacy proxy instances without session lock ([85cfbde](https://github.com/kaitranntt/ccs/commit/85cfbde5fd95850a28e962be01fc8655a69e8b1c)) + + +### Features + +* **cliproxy:** default session persistence for CLIProxy ([a7450bd](https://github.com/kaitranntt/ccs/commit/a7450bdffeb9679a02608cb76686e006afa6455f)), closes [#129](https://github.com/kaitranntt/ccs/issues/129) +* **dashboard:** add CLIProxy status widget with start button ([589cd2c](https://github.com/kaitranntt/ccs/commit/589cd2c2b7607b1092f6ee1ce4bf044269ba05e5)) + ## [6.2.1](https://github.com/kaitranntt/ccs/compare/v6.2.0...v6.2.1) (2025-12-18) diff --git a/VERSION b/VERSION index eb68d102..6f94d16e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -6.2.1-dev.2 +6.3.0-dev.1 diff --git a/installers/install.ps1 b/installers/install.ps1 index bf96cefa..8e8f4692 100644 --- a/installers/install.ps1 +++ b/installers/install.ps1 @@ -83,7 +83,7 @@ $InstallMethod = if ($ScriptDir -and ((Test-Path "$ScriptDir\lib\ccs.ps1") -or ( # IMPORTANT: Update this version when releasing new versions! # This hardcoded version is used for standalone installations (irm | iex) # For git installations, VERSION file is read if available -$CcsVersion = "6.2.1" +$CcsVersion = "6.3.0" # Try to read VERSION file for git installations if ($ScriptDir) { diff --git a/installers/install.sh b/installers/install.sh index 2b31c931..693cedb1 100755 --- a/installers/install.sh +++ b/installers/install.sh @@ -84,7 +84,7 @@ fi # IMPORTANT: Update this version when releasing new versions! # This hardcoded version is used for standalone installations (curl | bash) # For git installations, VERSION file is read if available -CCS_VERSION="6.2.1" +CCS_VERSION="6.3.0" # Try to read VERSION file for git installations if [[ -f "$SCRIPT_DIR/VERSION" ]]; then diff --git a/package.json b/package.json index 41f3485b..9a56e8dc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@kaitranntt/ccs", - "version": "6.2.1-dev.2", + "version": "6.3.0-dev.1", "description": "Claude Code Switch - Instant profile switching between Claude Sonnet 4.5 and GLM 4.6", "keywords": [ "cli", diff --git a/ui/src/components/account-flow-viz.tsx b/ui/src/components/account-flow-viz.tsx index 01c3f766..c707e212 100644 --- a/ui/src/components/account-flow-viz.tsx +++ b/ui/src/components/account-flow-viz.tsx @@ -21,6 +21,9 @@ import { RotateCcw, } from 'lucide-react'; +// Maximum events to display in the Connection Timeline to prevent performance issues +const MAX_TIMELINE_EVENTS = 100; + // Earthy, sophisticated color palette for connection lines - works in both light/dark themes const CONNECTION_COLORS = [ '#3b3c36', // Charcoal Brown - urban mystery @@ -398,7 +401,11 @@ export function AccountFlowViz({ providerData, onBack }: AccountFlowVizProps) { }, [accounts]); // Generate connection events for timeline - const connectionEvents = useMemo(() => generateConnectionEvents(accounts), [accounts]); + // Limit events to prevent UI lag with high request counts + const connectionEvents = useMemo( + () => generateConnectionEvents(accounts).slice(0, MAX_TIMELINE_EVENTS), + [accounts] + ); // Calculate SVG paths for bezier curves const calculatePaths = useCallback(() => {