feat: Add OP.GG historical ranks integration and UI improvements#3
Open
mderouet wants to merge 6 commits intoAntApper:mainfrom
Open
feat: Add OP.GG historical ranks integration and UI improvements#3mderouet wants to merge 6 commits intoAntApper:mainfrom
mderouet wants to merge 6 commits intoAntApper:mainfrom
Conversation
added 6 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.
Added clearPos() call to force blessed to redraw the match list border when switching between normal and ranked-only filter modes.
Code quality improvements following multi-account management feature: - Extract delay utility to utils.js (removes 3 duplicate definitions) - Remove unused refreshAllAccounts function (~35 lines of dead code) - Add fetchAndCacheRank helper to reduce duplication across rank fetching - Remove unused rankSuffix variable from ui.js - Add DEBUG guards to console.error statements for cleaner output
- Add OP.GG integration to display historical ranks in Match Ranks panel - Show rank history for live game participants - Pre-fetch OP.GG data in background for all match participants - Adjust match list and rank preview panels to 50/50 split - Add consistent gap between bottom panels - Compact panel layout: reduce summary/mastery/stats height - Fix InvalidKDA display for ARAM games
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds OP.GG integration to display historical ranks for players and various UI improvements.
Builds on #2 - should be merged after #2
New Features
UI Enhancements
Bug Fixes
What does it look like?
The Match Ranks panel now shows historical ranks from previous seasons (S25:G4, S24:G2, etc.) alongside the current rank, helping identify smurfs or returning players.