Skip to content

feat: Add multi-account management, persistent caching, and enhanced stats display#1

Open
mderouet wants to merge 2 commits intoAntApper:mainfrom
mderouet:feature/multi-account-management-and-caching
Open

feat: Add multi-account management, persistent caching, and enhanced stats display#1
mderouet wants to merge 2 commits intoAntApper:mainfrom
mderouet:feature/multi-account-management-and-caching

Conversation

@mderouet
Copy link
Copy Markdown

@mderouet mderouet commented Jan 16, 2026

Summary

This PR adds major new features for tracking multiple summoner accounts with persistent caching and enhanced statistics displays.

New Features

  • Multi-account management: Save and switch between multiple summoner accounts using Tab/Shift+Tab
  • Persistent caching: Per-account cache for matches, ranks, and masteries in ~/.lol-cli/
  • Ranked info display: Shows Solo/Duo and Flex queue ranks with LP and win rate
  • Champion mastery display: Top 5 mastery champions with levels and points
  • Champion stats panel: Recent game performance by champion with win rate and KDA
  • Queue detection: Auto-detects game mode (Ranked, Flex, ARAM, Normal, Arena)
  • Region auto-detection: Detects region from Riot ID tagline
  • Last search persistence: Remembers last searched account

Bug Fixes

  • Add retry with exponential backoff for rate-limited API calls (429)
  • Fix API error handling to preserve original error information
  • Handle 404 gracefully for live game endpoint (not in game)
  • Fix rank calculation for edge cases
  • Fix .env path detection for binary builds

Code Improvements

  • Refactored API functions to use consistent retry wrapper
  • Multi-panel results layout with collapsible sections
  • Generic cache reader with validation
  • Input validation for PUUID to prevent directory traversal

What does it look like ?

  • We unlock the ability to switch between accounts using the tab key
  • The dashboard becomes the main page and we can "dig" in match history before going back with the back touch (removes panel in sub menus like match detail)
  • Cache based, we no longer fetch everything everytime
  • A few more informations and highlighting
Screenshot 2026-01-16 at 22 19 35

Let me know whether it matches the spirit of the project

mderouet added 2 commits January 16, 2026 20:10
…stats display

New Features:
- Multi-account management: save/switch between accounts (Tab/Shift+Tab)
- Persistent caching: per-account cache in ~/.lol-cli/ for matches, ranks, masteries
- Ranked info display: Solo/Duo and Flex ranks with LP, tier, win rate
- Champion mastery display: top 5 champions with levels and points
- Champion stats panel: recent game performance by champion with win rate/KDA
- Queue type detection: auto-detects Ranked/Flex/ARAM/Normal/Arena
- Region auto-detection: detects region from Riot ID tagline (e.g., #NA1)
- Last search persistence: remembers last searched account

Bug Fixes:
- Add retry with exponential backoff for rate-limited API calls (429)
- Fix API error handling to preserve original error information
- Handle 404 gracefully for live game endpoint (not in game)
- Fix rank calculation for edge cases (score <= 0)
- Fix .env path detection for binary builds

Code Improvements:
- Refactored API functions to use consistent retryWithBackoff() wrapper
- Multi-panel results layout with collapsible sections
- Generic readCacheFile() helper with validation
- PUUID validation to prevent directory traversal
- Dynamic footer hints based on context
- Progress bar message-only updates
The account list now uses cyan color for the selected account instead
of just a > marker, making it easier to identify the active account.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant