joaorb64 / joaorb64/TournamentStreamHelper
5.75: The update stops in an intermediary state when one of the TSH files outside of the `layout` folder is locked by Windows
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 139
- Forks
- 59
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 6
Description
When updating the program, if a file outside of the layout folder is being locked by the Windows OS for any reason, the program will crash while leading the user to believe the update has succeeded. However this puts the program in an intermediary state where some files have beeh updated but not others, and the layout folder is renamed, but no new layout folder is present.
Here’s an extract from the log:
[2024-01-24 19:33:11] - ERROR - TournamentStreamHelper.py:ExtractUpdate:209 | Traceback (most recent call last):
File "src\TournamentStreamHelper.py", line 204, in ExtractUpdate
tar.extract(m)
File "tarfile.py", line 2100, in extract
File "tarfile.py", line 2173, in _extract_member
File "tarfile.py", line 2214, in makefile
PermissionError: [Errno 13] Permission denied: 'assets\\font\\RobotoCondensed.ttf'
Proposed fix:
- The program checks that any and all files which the update would change are either missing or editable before starting the update procedure, and informs the user if an issue is found, without updating any file
- Check if TSH itself is using the culprit file
Workaround:
- Redownload the software from GitHub and import the
user_datafolder
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src\TournamentStreamHelper.py at ExtractUpdate around line 204, where tar extraction fails for locked files such as assets\font\RobotoCondensed.ttf. Trace the update procedure and determine how it handles files outside the layout folder and files used by TSH itself. Done means the update checks all affected files before changing anything and clearly informs the user when a file is not editable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- release
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100