Hello everyone! In summary, I've added a GUI and fixed a few bugs. 🆕🎉🔧🩹🌟🚀
Changelog
- Refined/Improved: Code.
- Fixed: A bug where the "PPS" field in the settings file could be set as a sorting field for the disconnected players table, even though the "PPS" field is intentionally removed from this table.
- Fixed: Occasional script crashes caused by Discord RPC.
- Fixed: All security vulnerabilities identified by Snyk.
- Fixed: A bug where fetching MaxMind GeoLite2 databases would fail if the assets in their repository were not published (now includes a proper error message).
- Fixed: Ignoring invalid tshark version warning doesn't work as intended.
- Fixed: A bug where the "None" value in the
<COLOR>
setting from an UserIP file would break the script. - Fixed: Corrected nested string quotes in an f-string.
- Renamed: The project from "GTA V Session Sniffer" to "Session Sniffer".
- Renamed: The TUI-related settings to the GUI:
<STDOUT_SESSIONS_LOGGING>
to<GUI_SESSIONS_LOGGING>
<STDOUT_RESET_PORTS_ON_REJOINS>
to<GUI_RESET_PORTS_ON_REJOINS>
<STDOUT_FIELDS_TO_HIDE>
to<GUI_FIELDS_TO_HIDE>
<STDOUT_DATE_FIELDS_SHOW_DATE>
to<GUI_DATE_FIELDS_SHOW_DATE>
<STDOUT_DATE_FIELDS_SHOW_TIME>
to<GUI_DATE_FIELDS_SHOW_TIME>
<STDOUT_DATE_FIELDS_SHOW_ELAPSED>
to<GUI_DATE_FIELDS_SHOW_ELAPSED>
<STDOUT_FIELD_SHOW_COUNTRY_CODE>
to<GUI_FIELD_SHOW_COUNTRY_CODE>
<STDOUT_FIELD_SHOW_CONTINENT_CODE>
to<GUI_FIELD_SHOW_CONTINENT_CODE>
<STDOUT_FIELD_CONNECTED_PLAYERS_SORTED_BY>
to<GUI_FIELD_CONNECTED_PLAYERS_SORTED_BY>
<STDOUT_FIELD_DISCONNECTED_PLAYERS_SORTED_BY>
to<GUI_FIELD_DISCONNECTED_PLAYERS_SORTED_BY>
<STDOUT_DISCONNECTED_PLAYERS_TIMER>
to<GUI_DISCONNECTED_PLAYERS_TIMER>
- Improved: "Sessions Logging" now updates every second, reducing unnecessary spamming while ensuring quick updates.
- Improved: Prevented RPC spamming by retrying the connection every 3 seconds and refining the code.
- Improved: The app no longer crashes when a "Player port not found" error occurs; instead, it shows a warning.
- Improved: The "Usernames" field is now placed in the first column for better organization.
- Improved: The
<COLOR>
setting from an UserIP file can now be set to any of the QColorConstants.html#svg-colors. - Replaced: TUI with a GUI.
- Added: The current tshark version is now displayed in the GUI header.
- Added: The Discord presence status is now displayed in the GUI header.
- Added: GitHub Actions workflow for automated build distribution on new releases (thanks to @Grub4K).
- Added: New GUI features:
- You can now easily select, unselect, copy a row, column, cell, or the entire content using keyboard shortcuts or the right-click context menu.
- You can now manage UserIP databases and view "IP lookup Details" for each player's IP address.
- You can now conveniently click on header names to sort by those columns.
- You can now move the fields around (because why not?).
- Removed: The obsolete TUI-related settings:
<STDOUT_SHOW_ADVERTISING_HEADER>
<STDOUT_FIELD_COUNTRY_MAX_LEN>
<STDOUT_FIELD_CITY_MAX_LEN>
<STDOUT_FIELD_CONTINENT_MAX_LEN>
<STDOUT_FIELD_REGION_MAX_LEN>
<STDOUT_FIELD_ORGANIZATION_MAX_LEN>
<STDOUT_FIELD_ISP_MAX_LEN>
<STDOUT_FIELD_ASN_ISP_MAX_LEN>
<STDOUT_FIELD_AS_MAX_LEN>
<STDOUT_FIELD_AS_NAME_MAX_LEN>
<STDOUT_DISCONNECTED_PLAYERS_COUNTER>
- Removed: The bottom text, as there are no more flickers in the GUI. It now refreshes the display instantly (every millisecond).
- Removed: The
install_requirements.bat
file, as using therequirements.txt
file is the proper method.
Full Changelog: v1.2.9...v1.3.0