joaorb64 / joaorb64/TournamentStreamHelper

5.7: Null values from Startgg are not treated as a blank string

Open
#472 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug critical
Dominant language
Python
Stars
139
Forks
59
Avg merge
2d 9h
Merged PRs (30d)
6

Description

Screenshot 2023-06-29 150939

Essentially, any data that has a value of null (e.g. players) are treated as if it should skip updating any fields like scores or player names, instead of as a blank string. I've attached an image which should be a 2-1 in Hbox's favor vs. Dunktastic, This is using the "Load tournament and sets from StartGG user" feature, where currently the screenshot has loaded a set that does not have an opponent for Hbox (Winners Semi-Final).

Another example that sometimes pops up are that if an opposing player's pronouns are she/her, and that's set in Startgg, and Hbox has won against her, it'll load up the next set after that Hbox has... but said player will not have put anything in the pronoun field. Hbox's opponent will still have the "she/her" pronouns set, despite the player not having it set in the profile.

This gets fixed when the program is restarted.

This bug itself led to the pronoun issue that plagued Hbox at the SF6 Coinbox alongside async race conditions, see https://github.com/joaorb64/TournamentStreamHelper/issues/450 on that.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the “Load tournament and sets from StartGG user” feature and reproduce a set containing null player or pronoun data after loading consecutive sets. Trace where those responses update scores, player names, and pronouns; done means null fields clear the previous value rather than being skipped, including the no-opponent example. Verify the behavior after loading multiple sets and after restart.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.