Skip to content

Leaderboard hangs at end due to overestimate of time#53

Merged
ChuckBuilds merged 3 commits intoChuckBuilds:mainfrom
legoguy1000:leaderboard-overestimate-time
Sep 22, 2025
Merged

Leaderboard hangs at end due to overestimate of time#53
ChuckBuilds merged 3 commits intoChuckBuilds:mainfrom
legoguy1000:leaderboard-overestimate-time

Conversation

@legoguy1000
Copy link
Copy Markdown
Collaborator

For me the leaderboard is overestimating the amount of time to run through the display and then just hangs at the end for almost 30 seconds. I added an exception that forces it to move to the next view.

@torontonightclub-oss
Copy link
Copy Markdown

im having the same issue, how did you fix it?

@legoguy1000
Copy link
Copy Markdown
Collaborator Author

see the changes in the PR.

@legoguy1000
Copy link
Copy Markdown
Collaborator Author

@ChuckBuilds ready for ur review if u get a chance

@ChuckBuilds
Copy link
Copy Markdown
Owner

Merging but I need to keep iterating on this.

@ChuckBuilds ChuckBuilds merged commit 569576d into ChuckBuilds:main Sep 22, 2025
@legoguy1000 legoguy1000 deleted the leaderboard-overestimate-time branch September 22, 2025 14:35
@legoguy1000
Copy link
Copy Markdown
Collaborator Author

legoguy1000 commented Sep 22, 2025

You could honestly just make the time super long and then rely on the exception to end it?? then u don't really have to worry about how long it is or trying to calculate a time 🤷‍♂️

@torontonightclub-oss
Copy link
Copy Markdown

torontonightclub-oss commented Sep 22, 2025 via email

@ChuckBuilds
Copy link
Copy Markdown
Owner

You could honestly just make the time super long and then rely on the exception to end it?? then u don't really have to worry about how long it is or trying to calculate a time 🤷‍♂️

... That's a good idea. This dynamic duration has gotten way too complicated. I'll try this - thanks!

ChuckBuilds added a commit that referenced this pull request Sep 22, 2025
- Add maximum display time cap (120s) to prevent hanging
- Implement dynamic scroll speed tracking with runtime measurements
- Simplify complex timing logic that was causing hangs
- Add enhanced progress tracking and logging
- Add configurable safety buffer (10s)
- Update config template with new timing options
- Add comprehensive test suite for timing logic

Fixes the 30-second hanging issue reported in PR #53 by providing
multiple layers of protection against time overestimation.
ChuckBuilds added a commit that referenced this pull request Sep 22, 2025
…ending

- Remove complex dynamic duration calculations
- Remove safety buffer complexity
- Remove scroll speed tracking and measurements
- Use simple 10-minute timeout (600s) for both display_duration and max_display_time
- Let content determine when display is complete via existing StopIteration logic
- Update display controller to use simplified duration approach
- Clean up config template to remove unused timing settings

This approach is much more reliable than trying to predict content duration
and eliminates the hanging issues reported in PR #53.
ChuckBuilds added a commit that referenced this pull request Sep 23, 2025
* Fix leaderboard timing issues with comprehensive improvements

- Add maximum display time cap (120s) to prevent hanging
- Implement dynamic scroll speed tracking with runtime measurements
- Simplify complex timing logic that was causing hangs
- Add enhanced progress tracking and logging
- Add configurable safety buffer (10s)
- Update config template with new timing options
- Add comprehensive test suite for timing logic

Fixes the 30-second hanging issue reported in PR #53 by providing
multiple layers of protection against time overestimation.

* Simplify leaderboard timing to use long timeout with exception-based ending

- Remove complex dynamic duration calculations
- Remove safety buffer complexity
- Remove scroll speed tracking and measurements
- Use simple 10-minute timeout (600s) for both display_duration and max_display_time
- Let content determine when display is complete via existing StopIteration logic
- Update display controller to use simplified duration approach
- Clean up config template to remove unused timing settings

This approach is much more reliable than trying to predict content duration
and eliminates the hanging issues reported in PR #53.

* Fix configuration structure to use centralized display_durations

- Remove redundant display_duration from leaderboard section
- Use main display_durations.leaderboard (300s) for fixed duration mode
- Update leaderboard manager to read from centralized config
- Increase leaderboard default duration from 60s to 300s for better content coverage
- Maintain dynamic_duration option for user choice between fixed/dynamic modes
- Add comprehensive scroll behavior analysis and testing

This completes the leaderboard timing improvements with proper config structure.

* scroll every frame to be smoother like the stock ticker instead of waiting  per subsecond

* leaderboard block api calls while scrolling

* leaderboard debugging

* added leaderboard fps logging

* leaderboard frame control and optimizations

* background update memory leak for scrolling text found and first solution applied

* tuning scroll speeds

* working display scrolls

* revert scroll delay to 0.01 (about 100fps)

* revert min duration of leaderboard

* remove onetime test scripts
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.

3 participants