Code Monkey home page Code Monkey logo

foklauncher's People

Contributors

dependabot-preview[bot] avatar vatbub avatar

Stargazers

 avatar

Watchers

 avatar  avatar

foklauncher's Issues

Crash when GUI cannot be launched and autolaunch args are supplied

java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:221)
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:205)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:209)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:675)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:337)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.lang.Thread.run(Thread.java:748)
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: No toolkit found
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:217)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:209)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:675)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:337)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
... 5 more

NullPointerException when loading the version list in the context menu

Open the launcher -> Wait for online mode to be enabled -> Right-click Hangman solver (new versions) -> Open the "Launch a specific version" menu -> List keeps loading forever due to this exception:

[SEVERE] An uncaught exception occurred in the thread buildContextMenuThread
java.lang.NullPointerException
        at java.util.Collections.sort(Unknown Source)
        at applist.App.lambda$null$5(App.java:1351)
        at java.lang.Thread.run(Unknown Source)

If the jar of the app is deleted, no error message is displayed

Launch the launcher and install hangman solver -> Close everything, go to the folder where the hangman solver jar resides in and delete the jar file -> Reopen the launcher, try to launch hangman solver -> The launcher closes and no error message is displayed.

Snapshot jars are not deleted

Download any app -> right click it -> delete it again -> The jar is not deleted due to a FileNotFoundException, the jar only appears to have been deleted because the reference to it is deleted in the metadata file.

The reason for the FileNotFoundException is that the file name generated in code does not include the -SNAPSHOT keyword which the actual file name does.

App would never exit in some cases

Activate "Show launcher again when app exits" -> LAunch a download -> Cancel the download -> Close the app -> The app still appears in the task manager

Add a "Show App info" button

An additional tag in the dropbox xml named "additionalInfoURL" will be added that specifies a http- or a https-url.

If that tag is found for that app and the user is connected to the internet, the button is enabled, if not, disabled.

One the user clicks that button, the default web browser will open and show the specified url.

Bug on first launch

Creash when launching the launcher the fisrst time and downloading an app

Improve the launch time of the launcher when the internet connection is poor

When the computer is connected to the internet but the connection is very slow, the launcher takes a long time to show. This is due to the internet connection check waiting for a response.

To solve the issue, the check should be done in a separate Thread. While waiting for the check to complete, the launcher should be in offline mode (checkbox in the GUI checked and disabled). Also, the launcher should recheck every couple of seconds if an internet connection was established or lost while running.

UnknownHostException not caught when not connected to the internet

Scenario

The machine is connected to a WiFi network but the WiFi router is not connected to the internet. The app in question was already downloaded once and is available offline.

How to reproduce

Open the launcher -> Open any app as long as the launcher is not yet in offline mode --> The launcher hides itself but the app does not launch

Expected behaviour

The app should open

Stacktrace

java.net.UnknownHostException: oss.jfrog.org
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:673)
	at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
	at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
	at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
	at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:647)
	at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:148)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:805)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
	at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:217)
	at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:277)
	at org.jdom2.input.SAXBuilder.build(SAXBuilder.java:1141)
	at applist.MVNMetadataFile.getMavenMetadata(MVNMetadataFile.java:127)
	at applist.MVNMetadataFile.getFile(MVNMetadataFile.java:61)
	at applist.MVNMetadataFile.<init>(MVNMetadataFile.java:57)
	at applist.App.getLatestOnlineSnapshotVersion(App.java:304)
	at applist.DownloadThread.run(DownloadThread.java:85)

GUILanguage cannot be reset

Change the gui language to any other than auto-detect -> Change it back to auto-setect -> The language stays as set in the 1st step

Leverage apache commons-cli to parse the command line args

Apache commons-cli has a much more flexible parsing algorithm, however, using commons-cli requires us to change the syntax of the command line args.

run java -jar foklauncher-0.1.3-SNAPSHOT-jar-with-dependencies.jar --help for more details

launchButton disappears on internet failure

Launch the launcher -> Select an app -> Internet connection timed out -> Launch button disappeared

java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
at sun.security.ssl.BaseSSLSocketImpl.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:217)
at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:277)
at org.jdom2.input.SAXBuilder.build(SAXBuilder.java:1141)
at applist.App.getMavenMetadata(App.java:737)
at applist.App.getLatestOnlineSnapshotVersion(App.java:327)
at applist.App.updateAvailable(App.java:802)
at view.MainWindow$8.run(MainWindow.java:895)

Useless error message for offline mode

Scenario

The machine is connected to a WiFi network but the router is not connected to the internet.

How to reproduce

The user clicks any app while the launcher is still in online mode. sometimes, an error message will appear that the user is apparently offline and that offline mode was enabled. The user is told that he needs to restart the launcher in order to enable online mode again. This message is outdated and unnecessary since the introduction of repeated connectivity checks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.