* chore(deps): update rust toolchain to v1.99.0
* fix(rust): handle breaking changes introduced by compiler
- Trailing semicolon in macro should not be used in expression position
- A deprecated method was renamed for consistency
- Before: `std::sync::atomic::Atomic::<u64>::fetch_update`
- After: `std::sync::atomic::Atomic::<u64>::try_update`
Signed-off-by: ❤是纱雾酱哟~ <49941141+Dragon1573@users.noreply.github.com>
---------
Signed-off-by: ❤是纱雾酱哟~ <49941141+Dragon1573@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ❤是纱雾酱哟~ <49941141+Dragon1573@users.noreply.github.com>
* ci(workflows): Revert nodejs version to v24.18.1
- Exactly match what was defined in `.tool-versions`
* ci(renovate): Prevent 3 build tools from being automatically upgraded
- Lock Nodejs, PNPM and Rust version in the repository
- Nodejs, PNPM and Rust are infrastructure build tools or package manager for this repo
- Human manual-bump is required for consistency and stability
- Prevent bumping by Renovate Bot
* ci(renovate): Unlock auto updates of 3 build tools
- Re-allow Nodejs, PNPM and Rust from being automatically upgrade
- Group version bumps together across version lockfiles, GitHub Workflows and Dev Containers
Assisted-by: vscode-copilot-chat:gemini-3.7-flash codegraph
* chore(deps): Bump 2 build tools to latest version
- Bump Nodejs to `v24.20.0` across version lockfiles, GitHub Workflows and Dev Containers
- Bump Rust toolchain to `v1.98.0` across version lockfiles, GitHub Workflows and Dev Containers
Assisted-by: vscode-copilot-chat:gemini-3.7-flash codegraph
* fix(devcontainer): update dev containers configs
- Introduce package manager configs for Nodejs initialization
- Limit version of Rust initialization
- Adjust VSCode extension requirements
- Switch default formatter from Prettier to Biome
- Adjust volume mounts of the container
* fix(devcontainers): adjust container user
- Unify container user and remote user to "vscode"
- Avoid permission issues in GitHub CodeSpaces
- CodeSpaces uses "root" for operations by default
---------
Co-authored-by: ❤是纱雾酱哟~ <49941141+Dragon1573@users.noreply.github.com>
✨ New Features:
- Implement unified traffic monitoring hook with reference counting
- Add intelligent data sampling and compression for better performance
- Introduce enhanced canvas traffic graph with mouse hover tooltips
- Add Y-axis labels and improved time axis display strategies
- Support multiple time ranges (1, 5, 10 minutes) with adaptive formatting
🚀 Performance Improvements:
- Smart data compression reduces memory usage by 80%
- Reference counting prevents unnecessary data collection when no components need it
- Debounced data updates reduce UI thrashing
- Optimized canvas rendering with controlled frame rates
🔧 Technical Improvements:
- Consolidate traffic monitoring logic into single hook (use-traffic-monitor.ts)
- Remove duplicate hook implementations
- Improve error handling with fallback to last valid data
- Add comprehensive traffic statistics and monitoring diagnostics
- Enhance tooltip system with precise data point highlighting
🐞 Bug Fixes:
- Fix connection speed display issues after IPC migration
- Improve data freshness indicators
- Better handling of network errors and stale data
- Consistent traffic parsing across all components
📝 Code Quality:
- Add TypeScript interfaces for better type safety
- Implement proper cleanup for animation frames and references
- Add error boundaries for traffic components
- Improve component naming and organization
This refactoring provides a more robust, performant, and feature-rich traffic monitoring system while maintaining backward compatibility.