MovingBlocks / TerasologyLauncher

Terasology Launcher is the official launcher for the open source game Terasology.
http://terasology.org/
Apache License 2.0
153 stars 76 forks source link

chore: handle offline mode more graceful #698

Closed skaldarnar closed 1 year ago

skaldarnar commented 1 year ago

Contains

Instead of blindly logging the stacktrace of exceptions the launcher now checks for an HTTPException and whether the status code is -1, indiciating a network issue, for instance, when running offline.

Thus, we should only log in exceptional cases.

This does not affect any functionality of the launcher when run offline, though.

How to test

Start the launcher when offline and observe the logs. There should be less stacktraces printed from the GitHub repository adapter.

Outstanding before merging

Nothing.

jdrueckert commented 1 year ago

Without this change (offline): no GithubRepositoryAdapter logs, but

[...]
org.kohsuke.github.HttpException: Server returned HTTP response code: -1, message: 'null' for URL: https://api.github.com/rate_limit
[...]
org.kohsuke.github.HttpException: Server returned HTTP response code: -1, message: 'null' for URL: https://api.github.com/repos/MovingBlocks/Terasology
[...]

With this change (offline): no GithubRepositoryAdapter logs and no org.kohsuke.github.HttpExceptions

With this change (online):

[...]
20:06:03.983 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/v4.1.0-rc.2: Missing game asset.
20:06:03.984 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/playtestSept2020: Invalid version (no major version): playtestSept2020
20:06:03.984 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/alpha16rc1: Invalid version (no major version): alpha16rc1
20:06:03.985 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/alpha13rc3: Invalid version (no major version): alpha13rc3
20:06:03.985 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/alpha13rc2: Invalid version (no major version): alpha13rc2
20:06:03.985 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/alpha13rc1: Invalid version (no major version): alpha13rc1
20:06:03.986 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/omega994: Invalid version (no major version): omega994
20:06:03.987 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/omega583: Invalid version (no major version): omega583
20:06:03.989 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable55: Invalid version (no major version): stable55
20:06:03.989 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable53: Invalid version (no major version): stable53
20:06:03.989 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable50: Invalid version (no major version): stable50
20:06:03.989 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable49: Invalid version (no major version): stable49
20:06:03.989 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable48: Invalid version (no major version): stable48
20:06:03.990 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable47: Invalid version (no major version): stable47
20:06:03.990 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable46: Invalid version (no major version): stable46
20:06:03.990 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable45: Invalid version (no major version): stable45
20:06:03.990 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable44: Invalid version (no major version): stable44
20:06:03.990 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable42: Invalid version (no major version): stable42
20:06:03.990 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable41: Invalid version (no major version): stable41
20:06:03.990 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable39: Invalid version (no major version): stable39
20:06:03.991 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable38: Invalid version (no major version): stable38
20:06:03.991 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable37: Invalid version (no major version): stable37
20:06:03.991 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable32: Invalid version (no major version): stable32
20:06:03.991 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable31: Invalid version (no major version): stable31
20:06:03.991 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable30: Invalid version (no major version): stable30
20:06:03.991 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/highlight23: Invalid version (no major version): highlight23
20:06:03.992 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/stable29: Invalid version (no major version): stable29
20:06:03.992 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/untagged-9f0b44a85a06aea32eab: Invalid version (no major version): untagged-9f0b44a85a06aea32eab
20:06:03.992 [Launcher init thread] INFO  o.t.l.r.GithubRepositoryAdapter - Could not create game release from Github release https://github.com/MovingBlocks/Terasology/releases/tag/untagged-4b29ff9040aad554a2b6: Invalid version (no major version): untagged-4b29ff9040aad554a2b6
20:06:04.019 [Launcher init thread] DEBUG o.t.l.r.GithubRepositoryAdapter - Github rate limit: GHRateLimit {core {remaining=54, limit=60, resetDate=Fri Jun 30 21:06:01 CEST 2023}, search {remaining=10, limit=10, resetDate=Fri Jun 30 20:07:04 CEST 2023}, graphql {remaining=0, limit=0, resetDate=Fri Jun 30 21:06:04 CEST 2023}, integrationManifest {remaining=5000, limit=5000, resetDate=Fri Jun 30 21:06:04 CEST 2023}}
[...]