flight-tracker: scale layouts across display sizes (1.4.0)#102
flight-tracker: scale layouts across display sizes (1.4.0)#102ChuckBuilds wants to merge 5 commits intomainfrom
Conversation
…sized words, sync manifest date - In _wrap_text, flush any accumulated current_line before starting character-level breaking of an oversized word, preventing previous text from being glued to the broken characters - Update last_updated in manifest.json to 2026-04-10 to match the 2.3.0 release date Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Track player scores between leaderboard updates and detect score improvements. When a player makes birdie or better, queue a live alert that renders with the appropriate styling (gold header for eagles, green for birdies) via the existing render_live_alert renderer. Alerts rotate on a configurable dwell timer (live_action.duration), then fall back to showing the current leader. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adaptive row-dropping based on available display height so flight detail, area, and stats layouts no longer overlap on 32px-tall panels. Adds optional fonts.large_size/medium_size/small_size config overrides and makes the h<48 font tier visually distinct. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Previous commit updated the versions[] entry but missed the top-level "version" field, so the registry stayed on 1.3.0. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
At narrow displays the large font tier (16pt) was selected based on height alone, so 128x64 panels in wide mode picked a font too big for their 64px info zone. Now the 16pt tier requires width>=192. Also truncate the route string to the info zone width - previously only the airline name and aircraft type were truncated, so 'JFK-LAX' at 10pt overran into the metrics zone on 128-wide panels. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
📝 WalkthroughWalkthroughThis PR releases version 1.4.0 of the ledmatrix-flights plugin with adaptive layout rendering and configurable font sizes, and enhances the masters-tournament plugin with live birdie/eagle alert detection. Updates include new font configuration schema, refactored row-priority rendering logic, alert queueing for score improvements, and a text wrapping fix for oversized words. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~30 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
⚔️ Resolve merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
plugins/masters-tournament/manager.py (1)
383-388: Minor:hole_paris fetched but not used byget_score_description.Looking at
get_score_descriptioninmasters_helpers.py, it only examinesscore_to_parand ignores thehole_parparameter. The current approach works correctly for single-hole score changes, but if multiple holes are played between API updates (e.g., -2 from two birdies), it would incorrectly classify as "Eagle".This edge case is unlikely with frequent updates, but consider adding a guard to only generate alerts when
abs(change) <= 3to avoid false classifications from multi-hole gaps.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plugins/masters-tournament/manager.py` around lines 383 - 388, The code computes hole_par but get_score_description ignores it, so add a guard in manager.py around the alert logic to only generate alerts for single/multi-hole safe changes by checking abs(change) <= 3 (e.g., before calling get_score_description or before the "Only alert" if-block); keep the existing variables (change, hole_par, AUGUSTA_HOLES) and simply skip alerting when abs(change) > 3 to avoid misclassifying multi-hole gaps.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@plugins/masters-tournament/manager.py`:
- Around line 383-388: The code computes hole_par but get_score_description
ignores it, so add a guard in manager.py around the alert logic to only generate
alerts for single/multi-hole safe changes by checking abs(change) <= 3 (e.g.,
before calling get_score_description or before the "Only alert" if-block); keep
the existing variables (change, hole_par, AUGUSTA_HOLES) and simply skip
alerting when abs(change) > 3 to avoid misclassifying multi-hole gaps.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 91b74cc4-566f-4559-a4af-4fe8e97e5b08
📒 Files selected for processing (7)
plugins.jsonplugins/ledmatrix-flights/config_schema.jsonplugins/ledmatrix-flights/manifest.jsonplugins/ledmatrix-flights/renderer.pyplugins/masters-tournament/manager.pyplugins/masters-tournament/manifest.jsonplugins/masters-tournament/masters_renderer.py
Summary
_row_plan()helper — rows that don't fit on short displays are dropped lowest-priority first rather than overlapping.font_largetier now requires bothheight>=64andwidth>=192, so 128×64 wide-mode no longer picks a font too large for its info zone.JFK-LAX) to the info-zone width; previously only airline name and aircraft type were truncated, so the route could overrun into the metrics zone.fonts.large_size/fonts.medium_size/fonts.small_sizeconfig overrides (0 = auto).ledmatrix-flightsto1.4.0.Note: this branch was split off from
fix/masters-wrap-text-and-manifest, so the diff includes two earlier masters-tournament commits (17333f0,9ad0c67) that are already in that branch/PR.Test plan
fonts.medium_size = 8in config and verify the override appliesSummary by CodeRabbit
New Features
Bug Fixes
Chores