Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Fix] Added check if heroic can communicate with internet (ping some common websites) #1677

Merged
merged 5 commits into from Aug 17, 2022

Conversation

Nocccer
Copy link
Collaborator

@Nocccer Nocccer commented Aug 8, 2022

Heroic checks if internet connection is available.
Using ping command to ping google.com, store.epicgames.com and gog.com.
If one succeed it will return true.

Tested on linux with a invalid url. Was succesfully marked as offline.
TODO: Windows needs to be tested.


Use the following Checklist if you have changed something on the Backend or Frontend:

  • Tested the feature and it's working on a current and clean install.
  • Tested the main App features and they are still working on a current and clean install. (Login, Install, Play, Uninstall, Move games, etc.)
  • Created / Updated Tests (If necessary)
  • Created / Updated documentation (If necessary)

@Nocccer Nocccer added the pr:ready-for-review Feature-complete, ready for the grind! :P label Aug 8, 2022
@flavioislima
Copy link
Member

Will do some testing on windows and macOS.

@flavioislima flavioislima added the pr:testing This PR is in testing, don't merge. label Aug 8, 2022
@flavioislima
Copy link
Member

Still not working as it should.
If you start Heroic without internet connection and then connect again it won't update the status and wont update the game info.
And GOG game pages are not working when offline as well.

@Nocccer
Copy link
Collaborator Author

Nocccer commented Aug 9, 2022

Still not working as it should. If you start Heroic without internet connection and then connect again it won't update the status and wont update the game info. And GOG game pages are not working when offline as well.

Where is the status? I mean it never worked before. Every function which needs a internet connection should listen to an event then?

Btw, what do you think about make the isOnline a boolean and create instead a interval function that checks connection each 10s. So all function which relies on the isOnline value, does not call ping.

@flavioislima flavioislima added pr:ready-to-merge This PR is fully ready for merge. and removed pr:testing This PR is in testing, don't merge. labels Aug 17, 2022
@flavioislima flavioislima linked an issue Aug 17, 2022 that may be closed by this pull request
Copy link
Member

@flavioislima flavioislima left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now it is working pretty well and completely fixes the bug in #1494

@flavioislima flavioislima merged commit 43b7c97 into beta Aug 17, 2022
@flavioislima flavioislima deleted the fix/online-check branch August 17, 2022 20:20
@Nocccer
Copy link
Collaborator Author

Nocccer commented Aug 18, 2022

Actually i think this is was not needed since ariel pr!

Can we revert it?

@flavioislima
Copy link
Member

Which PR? I still think that pinging the websites is a good thing to have.

@Nocccer
Copy link
Collaborator Author

Nocccer commented Aug 18, 2022

Ah sorry thought this got also merged, because @arielj implemented a ping there aswell.
#1727

@flavioislima
Copy link
Member

Ah sorry thought this got also merged, because @arielj implemented a ping there aswell.
#1727

A-ha. That's true I'm blind.
We can revert this one then or let's wait until Ariel put it in testing :)

@arielj
Copy link
Collaborator

arielj commented Aug 18, 2022

hey I'm traveling until the 28th so I won't have much time to continue that PR, I'll do a few more things there after I get back

flavioislima added a commit that referenced this pull request Sep 13, 2022
* [Feat] Proper check if heroic can communicate with internet (#1677)

* Added ping to check internet connection

* removed console.log

* Make log of error more clear

* Remove ping package and just use ping cli command

* Return if one ping succeed

* [i18n] Updated Translations (#1728)

* Update translation files

Updated by "Squash Git commits" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/gamepage/
Translation: Heroic Games Launcher/GamePage

* Update translation files

Updated by "Squash Git commits" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/gamepage/
Translation: Heroic Games Launcher/GamePage

* Translated using Weblate (Czech)

Currently translated at 100.0% (358 of 358 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (358 of 358 strings)

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Shimon <simonfarm0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/gamepage/
Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/globals/cs/
Translation: Heroic Games Launcher/GamePage
Translation: Heroic Games Launcher/Globals

* Update translation files

Updated by "Squash Git commits" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/gamepage/
Translation: Heroic Games Launcher/GamePage

* Translated using Weblate (Korean)

Currently translated at 100.0% (358 of 358 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Moon Sungjoon <sumoon@seoulsaram.org>
Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/globals/ko/
Translation: Heroic Games Launcher/Globals

* Update translation files

Updated by "Squash Git commits" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/gamepage/
Translation: Heroic Games Launcher/GamePage

* Translated using Weblate (Russian)

Currently translated at 100.0% (358 of 358 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (358 of 358 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sedative <tertre3@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/globals/ru/
Translation: Heroic Games Launcher/Globals

* Update translation files

Updated by "Squash Git commits" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/gamepage/
Translation: Heroic Games Launcher/GamePage

* Translated using Weblate (Persian)

Currently translated at 100.0% (358 of 358 strings)

Update translation files

Updated by "Squash Git commits" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Parsa Shadab <shadab.balgori@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/gamepage/
Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/globals/fa/
Translation: Heroic Games Launcher/GamePage
Translation: Heroic Games Launcher/Globals

* Update translation files

Updated by "Squash Git commits" hook in Weblate.

Translation: Heroic Games Launcher/Globals
Translate-URL: https://hosted.weblate.org/projects/heroic-games-launcher/globals/

Co-authored-by: Shimon <simonfarm0@gmail.com>
Co-authored-by: Moon Sungjoon <sumoon@seoulsaram.org>
Co-authored-by: Sedative <tertre3@gmail.com>
Co-authored-by: Parsa Shadab <shadab.balgori@gmail.com>

* Revert "[i18n] Updated Translations" (#1745)

Revert "[i18n] Updated Translations (#1728)"

This reverts commit 7f5d2b3.

* [Tech] Switch from react-scripts to Vite & clean up everything to work with strict mode (#1633)

* Change complete project structure

 - Rename "src" -> "src/frontend"
 - Rename "electron" -> "src/backend"
 - Move types.ts to "common/types.ts"

* Switch from react-scripts + foreman + webpack + ts-loader -> Vite

* Set GH_TOKEN and GITHUB_TOKEN in tests directly

This just cleans up package.json a bit

* Get SVG & JPG importing working in VSCode

* Move type definitions into common/typedefs

* Fixup tests

* Rewrite large chunks of the backend to be compatible with strict mode

* Modify frontend to reflect changes to type definition structure

* Remove unused files

These weren't necessary, at least as far as I can tell

* Update translations

* Fixup: Re-add `--filesystem` parameter for Proton

Turns out refactoring a lot of stuff can introduce issues, who would've
thought

* Remove `build` script

You never have to run this yourself, so it was a bit confusing to have.
If you really need its functionality, `vite build` isn't that hard to
type in on your own :^)

* Fully remove all remnants of UE support

* Add new 'codecheck' command

This command can be used to make sure that no files in the project
violate TS rules, since Vite itself doesn't check them

It would probably be a good idea to add them to GH Workflows and/or
pre-commit hooks, but I'm not too sure on how to do that

* Update translation files

* Fix translation files

Not sure how this happens, but it seems they've gotten screwed up
in the merge

* Remove some more unnecessary files

* Always get game updates from all libraries

This fixes an issue where refreshing the library while only showing
one library made the update icons of all the others disappear

* Some misc code style changes

* Merge branch 'main' of github.com:Heroic-Games-Launcher/HeroicGamesLauncher into beta

* [Fix] Check if Legendary's `metadata` folder exists before trying to read it (#1785)

* [Fix] Not permanently saving downloadNoHttps config option (#1797)

fixing not permanently saving downloadNoHttps config option

* Merge branch 'main' of github.com:Heroic-Games-Launcher/HeroicGamesLauncher into beta

* [Fix] TypeError: Unexpected end of json (#1806)

* remove useEffect double import

* catch type error end of json

* Added try catch

* Add log prefix to see what runner fails

* [Tech] Add codecheck to pre push and workflow (#1794)

* Add codecheck to pre push and workflow

* Add new workflow for codecheck

* renaming

* [Fix] Update legendary binaries (#1809)

Update legendary binaries

* fix: gog getGameinfo after clear the cache

Co-authored-by: Niklas <61798668+Nocccer@users.noreply.github.com>
Co-authored-by: Weblate (bot) <hosted@weblate.org>
Co-authored-by: Shimon <simonfarm0@gmail.com>
Co-authored-by: Moon Sungjoon <sumoon@seoulsaram.org>
Co-authored-by: Sedative <tertre3@gmail.com>
Co-authored-by: Parsa Shadab <shadab.balgori@gmail.com>
Co-authored-by: Mathis Dröge <34034631+CommandMC@users.noreply.github.com>
Co-authored-by: Jan B <32649612+Keksgesicht@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr:ready-for-review Feature-complete, ready for the grind! :P pr:ready-to-merge This PR is fully ready for merge.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Heroic must have an active connection when started.
3 participants