Skip to content

fix(f1): resolve ScrollHelper.reset AttributeError#51

Merged
ChuckBuilds merged 1 commit intomainfrom
fix/f1-scrollhelper-reset-attributeerror
Mar 21, 2026
Merged

fix(f1): resolve ScrollHelper.reset AttributeError#51
ChuckBuilds merged 1 commit intomainfrom
fix/f1-scrollhelper-reset-attributeerror

Conversation

@ChuckBuilds
Copy link
Copy Markdown
Owner

@ChuckBuilds ChuckBuilds commented Mar 9, 2026

Description

Fixes 'ScrollHelper' object has no attribute 'reset' error that prevented the F1 plugin from displaying qualifying positions and other scroll content after the track overview.

Root Cause

The F1 and UFC plugins called scroll_helper.reset(), but the LEDMatrix ScrollHelper class exposes reset_scroll(), not reset(). Other plugins (odds-ticker, football-scoreboard, hockey-scoreboard, soccer-scoreboard) already use reset_scroll() correctly.

Changes

  • f1-scoreboard/scroll_display.py: Replace reset() with reset_scroll() in both call sites (force_clear path and ScrollDisplay.reset())
  • ufc-scoreboard/scroll_display.py: Same fix for consistency (prevents same error if UFC uses reset)
  • f1-scoreboard manifest: Bump version to 1.2.3, sync plugins.json

Type of Change

  • Bug fix (non-breaking change)

Testing

  • Verified no remaining scroll_helper.reset() calls in touched plugins
  • Registry sync completes successfully

Made with Cursor

Summary by CodeRabbit

  • Updates
    • F1 Scoreboard plugin upgraded to version 1.2.3, compatible with LedMatrix 2.0.0 and later.
    • Plugin metadata and version information updated.

Replace scroll_helper.reset() with scroll_helper.reset_scroll() in
F1 and UFC plugins; ScrollHelper exposes reset_scroll(), not reset().
This was causing 'ScrollHelper' object has no attribute 'reset' and
prevented qualifying/standings from displaying after track overview.

- f1-scoreboard/scroll_display.py: fix both call sites
- ufc-scoreboard/scroll_display.py: fix reset call for consistency
- f1-scoreboard manifest: bump to 1.2.3, sync plugins.json

Made-with: Cursor
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 9, 2026

📝 Walkthrough

Walkthrough

This pull request updates the F1 Scoreboard plugin to version 1.2.3, bumping manifest versions and timestamps accordingly. Additionally, both F1 and UFC Scoreboard plugins are updated to use the new reset_scroll() method instead of the deprecated reset() method from ScrollHelper.

Changes

Cohort / File(s) Summary
Plugin Manifests
plugins.json, plugins/f1-scoreboard/manifest.json
Version bump to 1.2.3 for F1 Scoreboard plugin. Updated last_updated timestamps from 2026-02-25/02 to 2026-03-08. Added new version entry in manifest versions array for 1.2.3 with ledmatrix_min 2.0.0.
ScrollDisplay API Migration
plugins/f1-scoreboard/scroll_display.py, plugins/ufc-scoreboard/scroll_display.py
Replaced calls to ScrollHelper.reset() with ScrollHelper.reset_scroll() in both ScrollDisplay and ScrollDisplayManager reset methods.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically identifies the main fix: replacing ScrollHelper.reset() with reset_scroll() to resolve the AttributeError in the F1 plugin.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/f1-scrollhelper-reset-attributeerror

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@ChuckBuilds
Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 9, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@plugins.json`:
- Line 3: The top-level "last_updated" field in plugins.json has been set to
"2026-03-08" which is older than a plugin entry updated on "2026-03-09"; update
the top-level "last_updated" value so it is monotonic (>= the newest plugin
entry date) or re-run the sync that sources it from manifest.json via the
update_registry.py script so the registry timestamp matches the latest plugin
update; ensure you update the "last_updated" key in plugins.json (or regenerate
via update_registry.py) rather than manually setting a past date.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7d2fc319-c37d-4b6a-b588-e944d060acc4

📥 Commits

Reviewing files that changed from the base of the PR and between 7c143a2 and 3d9398a.

📒 Files selected for processing (4)
  • plugins.json
  • plugins/f1-scoreboard/manifest.json
  • plugins/f1-scoreboard/scroll_display.py
  • plugins/ufc-scoreboard/scroll_display.py

{
"version": "1.0.0",
"last_updated": "2026-03-09",
"last_updated": "2026-03-08",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Keep the registry timestamp monotonic.

Line 3 now sets the top-level last_updated to 2026-03-08, but this file already contains a plugin entry updated on 2026-03-09. If store clients key refreshes off the registry timestamp, moving it backward can make this update look stale.

🩹 Suggested fix
-  "last_updated": "2026-03-08",
+  "last_updated": "2026-03-09",

Based on learnings, "The plugins.json registry file is the source of truth for the Plugin Store and is automatically synced from manifest.json by the update_registry.py script via pre-commit hook".

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"last_updated": "2026-03-08",
"last_updated": "2026-03-09",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@plugins.json` at line 3, The top-level "last_updated" field in plugins.json
has been set to "2026-03-08" which is older than a plugin entry updated on
"2026-03-09"; update the top-level "last_updated" value so it is monotonic (>=
the newest plugin entry date) or re-run the sync that sources it from
manifest.json via the update_registry.py script so the registry timestamp
matches the latest plugin update; ensure you update the "last_updated" key in
plugins.json (or regenerate via update_registry.py) rather than manually setting
a past date.

@ChuckBuilds ChuckBuilds merged commit 865d998 into main Mar 21, 2026
1 check passed
@ChuckBuilds ChuckBuilds deleted the fix/f1-scrollhelper-reset-attributeerror branch March 30, 2026 13:28
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