Skip to content

Releases: Avasam/speedrun.com_global_scoreboard_webapp

2022-01-29

30 Jan 00:18
a0be930
Compare
Choose a tag to compare

Common

  • Python 3.9 update
  • Libraries update
  • Improved accessibility (mainly for tooltips and labels)
  • Added page titles. Closes #251
  • Extend login session on activity. Closes #244
  • Disable login button until request is complete
  • Improved error handling
    • Improved error message display
    • Improved thread creation error message
    • Handle "420 too busy" SRC error as a "503 Under a lot of pressure" error
    • Fixed some error handling, including some cases where the app though a user was non-existent when it was just SRC being "under a lot of pressure"

Tournament Scheduler

  • Disallow sending a registration with the same name written twice, rather than erroring out. Closes #249
  • Prioritize upcoming matches in the schedule viewer by hiding past timeslots by default. Closes #245

Global Scoreboard

  • Improved caching performance and reliability by using requests_cache
  • Performance improvement: Reduce size of initial request by not embedding game.levels
    • This also results in more identical calls, which are cached
  • Use a proper ThreadPoolExecutor and set proper thread limit
  • Created a multithread RatedSemaphore to better handle SRC rate limiting
  • Moved the Kappa in the meme error screen to take less space
  • Better wait time indication
  • Fixed a color issue with the QuickView table
  • Fixed the guard that was meant to prevent multiple updates of/from the same user at the same time (updating_from_seconds_left and updatting_to_seconds_left were using the wrong comparison operator, oops!)

Game Search

  • Added detailed variables breakdown from calculation Closes #256

2021-07-01

02 Jul 02:02
28cd6d0
Compare
Choose a tag to compare

Changelog

Common

  • Massive library update
  • Added default theme detection from browser
  • Added real page routing (#25)
  • Fixed some routing issues with flask_app
  • Removed dependency on moment, using the much lighter Dayjs instead and only as a formatter and AdapterDateFns. Datetime utils are our own
  • Respect React StrictMode's validateDOMnesting
  • Fixed Firefox crash with service workers (they still won't work, but at least now it won't crash)
  • [Documentation] Indicate which changes have been made to external libraries #177

Global Scoreboard

  • Upgraded to Bootstrap 5
  • Added light and dark themes from Bootswatch (#150)
  • Fixed some field wrapping issues on mobile and with custom themes (#159, #134)
  • Much better table responsiveness (#129)
  • Prettier spinner (#129)
  • Tabs are now used for the scoreboard details tables and for the main tables on mobile size (#158, #129)

Tournament Scheduler

  • Upgraded to Material-UI V5
  • Updated default dark mode theme (#22)
  • Added light mode (#22, #235)
  • Added support to embed the schedule-viewer, accessible through query-param ?embedded
  • Optimize schedule viewer vertical spacing
  • Both sides of the login link now underline on hover
  • On the View page, Indicate when there's no registrations yet (#221)
  • When there's only 1 entry, the schedule viewer will acts as if it was entries of 1 participant and list them out horizontally
  • Made deadline more obvious to participants by showing the last minute of the previous hour (this is for timezones in which the deadline is at midnight)
  • Fixed an issue where timeslots could first appear unordered
  • Added schedule grouping and ordering (#242)

2021-06-02

03 Jun 00:55
c683522
Compare
Choose a tag to compare

Tournament Scheduler

  • Allow not having a deadline
  • Allow registrations deadline to be after earliest timeslot
  • Fix timeslot order on new timeslot
  • Using a better library for "Add to calendar"

Global Scoreboard

  • Reimplemented react-bootstrap-table-next fixes and improvements
  • Added region code support
    • Get region code first, fallback to country code
    • Ensured if a flag doesn't exist for a region, that it would fallback to showing the parent region's flag
  • Fixed country code not being set for new users
  • Fix quick red banner flash on update or warning #224
  • Fixed an issue with deleting Players that have or are friends #224

2021-01-23

24 Jan 04:01
dfde6a8
Compare
Choose a tag to compare
  • Hotfix for empty deadlines breaking registration
  • Score details are no longer sent as strings (resolve #176)
  • Fixed #183 Duplicate ID in DOM

2021-01-21

22 Jan 04:45
e920b2f
Compare
Choose a tag to compare

Global Scoreboard

New Feature:

  • Added update color to quick-view for favorites that haven't been updated over 1 month old

Improvements:

  • Updated README
  • Slightly optimized the calls to SRC for the runners that make the API fail (qjn1wzw8, 48g5vo7j, v8l3eq48) (related to #80/#81)
  • Stop thread actions if one returns an error
  • Clearer errors in thread
  • Properly return 500 on Exception in threads
  • Massive library and linting update
  • Failed SRC connection will now result in a more appropriate message on login (Fixes #155)

Fixes:

  • Fixed bad "Update runner" and "Quick view" field wraps, especially on mobile (Closes #159)
  • Improved tables responsiveness and accidental overlap (Closes #156)
  • Other slight responsiveness improvements
  • Fixed an index out of range errors when getting valid runs from an IL leaderboard
  • Fixed the updater failing when a run's category or level no longer exists on SRC
  • Fixed #174 Adding ILs to the top 60 runs can result in a lower amount of points
  • Fixed #173 Users with special characters are not linked to correctly
  • Fixed #172 Users with no eligible runs still get a position on the Scoreboard

Game Search

  • Publicly opened the tool, a new link is available on the top toolbar
  • Fixed footer alignment
  • Added a Score Drop calculator, using the same logic as of Avasam/LiveSplit.AverageTime

Tournament Scheduler

  • Massive linting and library updates
  • Added "add to calendar" button
  • Show most recent schedules first
  • Implemented registrations deadline (Closes #67)

2020-11-28

28 Nov 23:55
d5a0f86
Compare
Choose a tag to compare

New feature:

  • #151 Cap the runs that count for score at 60
    • While all currently valid personal bests will be shown, only the top 60 will be counted in order to help reduce the "quantity over quality".
      Since Ils are only worth a fraction, they are also weighted a fraction of the top 60. Full Games are always 1 spot.
  • Remove banned users from database

Improvements:

  • Improved Category name guess
  • Updated Readme and in-code documentation
  • Better handling of exceptions in threads
  • Removed the 1000 runs limit since SRC improved their backend

Fixes:

  • Fixed #148 "mintues" typo
  • Extracted and refactored lots of code
  • Fixed progress bar not ticking down
  • Removed leftover debug logs
  • Fixed a pretty major issue with the formula that made it impossible for runs to be worth 0 to 1 point before decimal shifting. Last valid place in a leaderboard is supposed to be worth 0, not 1!
    • This effectively removed 10 points from every full-game runs (a bit less for ILs)

2020-08-30

31 Aug 00:39
21efc19
Compare
Choose a tag to compare

Bugfixes:

  • Updating the # 1 player would infer its rank to last rather than 1st
  • Fixed the search input being unusable while updating a user
  • Automatically reduce SRC call's pagesize when it fails (timeout due to too much data) and try again (down to the default 20 results per page)

Changes:

  • Leaderboards where the WR is under a minute are excluded (used to check for the mean)
  • Infered rank after updating rounds up rather than showing .5
  • After obtaining all of a user's runs and filtering out invalid PBs (but before doing more SRC calls to get details on the leaderboard). Only keep the 1000 most recent runs #111

Enhancements:

  • Keep the progress bar running even when off-tab
  • Accurate Game and Level names now that we incidentally fetch them. Categories name have been improved but are still a guess from the URL's hash
  • Render the score details as a table. Fixes #110

2020-08-29

29 Aug 19:47
3b4a3ee
Compare
Choose a tag to compare

Bugfixes:

  • Fixed Crash when typing a name #137
  • Friends list in Quick view now has score details
  • Fixed Quickview score details not updating #123

Enhancements:

  • Disable input field when updating
  • More explicit error message when SRC is "Under a lot of pressure"
  • Obtain players runs in chunks instead of all personnal bests at once and imbed all data #111 & #112
    • Improves the requests caching
    • A lot less calls to SRC
    • Capped counted runs at 1000
    • All players should now be possible to update (given some may take more than 1 try)

2020-07-24

24 Jul 01:29
Compare
Choose a tag to compare

New features:

  • Game search tool. This was introduced silently in a previous release. It is still work-in-progress, so it will require login for now. You can try it out at: /global-scoreboard/game-search
    • Will now lookup searched game on SRC to fill in unknown game names. Making the search truly functional while only saving the ids and no additional strain on the app's backend.
  • Added a link to my Twitch in the footer

Bugfixes:

  • When updating a user, don't retry if SRC returns 500.
  • Fixed Score details not being accessible anymore

2020-06-02

03 Jun 03:39
cec40f4
Compare
Choose a tag to compare

Bugfixes:

  • Fix massive bug that went unnoticed for months where the first subcategory would always be the one counted, not necessarily the best one.
  • Fixed an issue where most subcategories wouldn't be added to Game Search

Improvements:

  • #134 made the fields a lot prettier on mobile and with password managers
  • #129 points 3-6:
  1. Pressing "Enter" in the update field should start updating, not reload the page
  2. The title in the navbar should redirect to /global-scoreboard
  3. Don't show a clickable score if there's no info to be shown! The technical difference does not matter for the user.
  4. Stop propagation on (i) icon