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

Create parsec-linux #444

Merged
merged 15 commits into from
Apr 1, 2018
Merged

Create parsec-linux #444

merged 15 commits into from
Apr 1, 2018

Conversation

E5ten
Copy link
Contributor

@E5ten E5ten commented Mar 11, 2018

No description provided.

@simoniz0r
Copy link
Contributor

Looks to me like it ran fine, but firejail may have prevented it from working.

Parent pid 7020, child pid 7023
Dropping all Linux capabilities and enforcing default seccomp filter
�]0;firejail ./BeingTested.AppImage �Child process initialized in 42.85 ms
Parsec has encountered error: -18000
Please visit https://parsec.tv and contact us.
Parent is shutting down, bye...
AppImage unmounted
NUMBER_OF_WINDOWS: 0
ERROR: Could not find a single window on screen :-(
IceWM: using /home/travis/.icewm for private configuration files
Xlib:  extension "RANDR" missing on display ":99".
xwd: error: Invalid window id format: -silent.
xwdtopnm: couldn't read XWD file header
pnmtopng: EOF / read error reading magic number
code/worker.sh: line 203: kill: (7020) - No such process
The command "if [ x"$FILES" != x ] ; then for FILE in $FILES ; do echo "$FILE" ; bash -e code/worker.sh $(readlink -f "$FILE") ; done ; fi" exited with 1.
after_script.1
0.00s$ 
after_script.2
0.01s$ killall Xvfb
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":99"
      after 3406 requests (3376 known processed) with 0 events remaining.
Done. Your build exited with 1.

@probonopd
Copy link
Member

What does Parsec has encountered error: -18000 mean?

@simoniz0r
Copy link
Contributor

That it couldn't get an internet connection.

@probonopd
Copy link
Member

@E5ten can you confirm? If this is the cause, then the application needs to be changed so that it either works without an Internet connection or at the very least give a clear-text GUI error message saying that they cannot work without an Internet connection. Thank you.

@E5ten
Copy link
Contributor Author

E5ten commented Mar 11, 2018

I can confirm, that is what the error means, and it's not an issue with the AppImage but just how parsec works.

@simoniz0r
Copy link
Contributor

If this is the cause, then the application needs to be changed so that it either works without an Internet connection or at the very least give a clear-text GUI error message saying that they cannot work without an Internet connection. Thank you.

That's a little ridiculous to ask. To obtain this package at all, you need the internet. It's really not the package's fault that you choose to put firejail on every test.

This program requires the internet for everything it does. It's used to give games that only have local mutiplayer a way to play online.

@probonopd
Copy link
Member

probonopd commented Mar 11, 2018

I don't really know about parsec, but I am assuming it is a GUI application? If parsec needs the Internet, but if the Internet is not available, then parsec needs to bring up a GUI dialog box saying "parsec needs the Internet to operate. Apparently you are not connected to the Internet. Please check your connection." or something like that. Otherwise it will just silently fail when launched from the menu which is bad user experience.

@simoniz0r
Copy link
Contributor

simoniz0r commented Mar 11, 2018

They output an error to the terminal. You're not here to decide the functionality of the AppImage. You're here to test whether it works or not. What you're doing is preventing it from working properly.

@probonopd
Copy link
Member

It is a GUI application?

@simoniz0r
Copy link
Contributor

It is not up to you to decide how they handle errors.

@simoniz0r
Copy link
Contributor

It is up to you to make sure that you are testing things in a way that the application will work even if it does require the internet.

@probonopd
Copy link
Member

Apparently it is a GUI application because on my local machine it comes up like this:

parsec

So if there is something going wrong, it should show an error and not just silently fail. AppImages are not only invoked from the command line but also from the menu, unless Terminal=true is set in the desktop file.

@simoniz0r
Copy link
Contributor

simoniz0r commented Mar 11, 2018

Again, it is not up to you to decide how the author of the application handles errors. Your script should be robust enough to tell if an application needs the internet and not prevent it from doing so.

There is an error output in the terminal. That is sufficient.

@simoniz0r
Copy link
Contributor

The fact that the application didn't complain about missing deps is enough for you to know that the test was successful.

@E5ten
Copy link
Contributor Author

E5ten commented Mar 11, 2018

Directly from the parsec website "Error Codes - 18000 (Cannot Contact Parsec Servers)"

@probonopd
Copy link
Member

The fact that the application didn't complain about missing deps is enough for you to know that the test was successful.

No. The test does much more than that.

@simoniz0r
Copy link
Contributor

No. The test does much more than that.

I'm aware, but the rest of the things you check went fine. The only failure here was because of you unnecessarily putting firejail on every test.

@probonopd
Copy link
Member

@E5ten please display that as an error message in the GUI, so that someone who invokes the AppImage by double-clicking has a chance to see why it is not launching. Thanks!

@simoniz0r
Copy link
Contributor

Again, it is not up to you to decide how authors of applications handle errors.

@E5ten
Copy link
Contributor Author

E5ten commented Mar 11, 2018

Why should adding functionality to the base app be the responsibility of the appimage maintainer?

@probonopd
Copy link
Member

The only failure here was because of you unnecessarily putting firejail on every test.

I am testing how an application behaves when there is no network. This is a requirement for the test to pass...

@probonopd
Copy link
Member

the responsibility of the appimage maintainer

Who is that?

@simoniz0r
Copy link
Contributor

simoniz0r commented Mar 11, 2018

I am testing how an application behaves when there is no network. This is a requirement for the test to pass...

How did you get this application with no network?

Having an internet connection is required in order to obtain it in the first place. Running checks without an internet connection for something that requires an internet connection to obtain is just plain silly.

@probonopd
Copy link
Member

How did you get this application with no network?

Many possibilities, e.g., downloaded it before my airplane took off...

@simoniz0r
Copy link
Contributor

How are you going to play online games on an airplane?

@E5ten
Copy link
Contributor Author

E5ten commented Mar 11, 2018

And why are you trying to use this application that has no functionality outside of online play without internet?

@probonopd
Copy link
Member

And why are you trying to use this application that has no functionality outside of online play without internet?

@E5ten that's not the point. The point is, I don't even know what this application is supposed to do. But I expect from a GUI application that if I launch it from the menu or through a double click, then I can see some action on the screen. Otherwise I am going to assume something is broken.

@simoniz0r
Copy link
Contributor

that's not the point. The point is, I don't even know what this application is supposed to do. But I expect from a GUI application that if I launch it from the menu or through a double click, then I can see some action on the screen. Otherwise I am going to assume something is broken.

It says right on the website what it does. It's used for online gaming. Do you expect to be able to do online gaming without an internet connection?

@simoniz0r
Copy link
Contributor

Also, this is not at all uncommon on Linux. MANY GUI applications fail to run with NO errors until you run them in a terminal.

@E5ten E5ten changed the title Create parsec-linux-appimage Create parsec-linux Mar 11, 2018
@probonopd
Copy link
Member

probonopd commented Apr 1, 2018

xdg

@E5ten pelase export this variable if it is empty.

It was also a bug in older versions of electron-builder. Should be solved in the latest electron-builder. electron-userland/electron-builder#682

@simoniz0r
Copy link
Contributor

I noticed that in one of my tests also. It doesn't happen on my end with the parsec AppImage when I run it in a terminal...

@probonopd
Copy link
Member

What happens in your local tests when you unset XDG_DATA_DIRS before executing the AppImage?

@E5ten
Copy link
Contributor Author

E5ten commented Apr 1, 2018

Should be fixed.

@probonopd probonopd merged commit b104338 into AppImage:master Apr 1, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants