Commit Graph

533 Commits

Author SHA1 Message Date
Luis Uguina
27d8b05b12 Feat: include Java version in HTTP User-Agent (#269) 2020-06-20 18:33:59 +02:00
Luis Uguina
608e1d7aea Fix: -compute-method not set when configuration file present (#268) 2020-06-20 18:31:31 +02:00
Luis Uguina
7685051662 Fix: Send reset signal to server on job upload error (#260)
* Fix: Send reset signal to server on job upload error
2020-06-18 13:57:52 +02:00
Luis Uguina
838cd7c0ec Fix: RENDERER_KILLED error sends a frame reset to server (#259) 2020-06-18 10:43:18 +02:00
Luis Uguina
b91bf3c0c5 Feat: in text UIs, show render progress in one line (#257)
The text UI gets quite messy during the render process, as it takes at least one extra line of the screen per second. This PR fixes that issue and also shows an ASCII bar to show the render progress.
2020-06-17 10:24:59 +02:00
Luis Uguina
ce756db69d Fix: HTTPSendFile doesn't send a valid MimeType header to server (#263) 2020-06-17 10:19:29 +02:00
Luis Uguina
4ab4fa3e8e Refactor: update deprecated call to method to latest version (#262) 2020-06-17 10:18:13 +02:00
Luis Uguina
29f25f4f7e Fix: include any unhandled error response from server in error logs (#265) 2020-06-16 15:22:21 +02:00
Luis Uguina
231c1ee448 Fix: remove unused checkpoints from memory (#258) 2020-06-16 14:03:17 +02:00
Luis Uguina
fe69d6faa2 Feature: in text UI, show downloads in a single-line (#250)
* Feature: show downloads in a single-line in text UIs
2020-06-14 12:01:32 +02:00
Luis Uguina
8736892565 Fix: Job killed by time limit is incorrectly catalogued as NO_FILE_OUTPUT (#252)
As the value of the askForRendererKill flag is set right after the return of the kill process, under some particular memory and system load circumstances, a race condition occurs and the rendering process in the main thread is closed faster than the process.destroy() returns the control to the thread the called the OS.getOS().kill(process.getProcess()) method. If that condition occurs, the isAskForRendererKill() check returns false (the flag hasn't been set to True in the separate thread) and the execution continues with the frame output check (that doesn't exist as the rendering process was interrupted). The final outcome is a wrong NO_FILE_OUTPUT error instead of the proper RENDERER_KILLED_BY_USER_OVER_TIME.

The fix has been setting the askForRendererKill flag to true before the process is destroyed. If the racing condition occurs, the askForRendererKill will be correctly set.
2020-06-12 11:32:06 +02:00
Luis Uguina
e06a9a9c1b Feature: minimize to SysTray option on the settings screen (#246)
* Feature: minimize to SysTray on the settings screen
2020-06-09 06:47:39 +02:00
Luis Uguina
658e698cab Remove the 5 minutes wait for the RENDERER_KILLED_BY_USER_OVER_TIME error code (#251) 2020-06-08 10:07:49 +02:00
Luis Uguina
49acd3ede3 Refactor: remove unused imports (#248) 2020-06-06 10:26:33 +02:00
Luis Uguina
1e8911790d Feature: include app version in Settings screen (#247) 2020-06-05 18:04:29 +02:00
Luis Uguina
88921a58de Fix: error report not sent when no job allocated (#245) 2020-06-04 11:50:00 +02:00
Luis Uguina
929e77bbb8 Feature: add timestamp information to text UIs (#241) 2020-06-02 17:10:14 +02:00
Luis Uguina
c850a95ea4 Include a header in error log with the information summarised for easier admin analysis (#238) 2020-06-02 16:06:03 +02:00
Luis Uguina
399cb9971f Fix: remove certificate bypass (#240) 2020-06-02 16:04:54 +02:00
Luis Uguina
4cf51013e6 Replace standard Java HTTP libraries with okHTTP (#237)
* Replace standard Java HTTP libraries with okHTTP
2020-06-01 11:15:44 +02:00
Luis Uguina
cdf552f708 Fix: priority functionality not working properly (#232) 2020-05-28 15:05:52 +02:00
Luis Uguina
737377098f Review and improve error messages. (#234) 2020-05-28 15:05:19 +02:00
Luis Uguina
4fa6db2b8d Fix: pause request is lost when a "no-job" response is received from server (#233) 2020-05-28 15:04:42 +02:00
Laurent Clouet
44cf85739c Code formator (#236)
* Re-import code formator
2020-05-28 13:28:42 +02:00
Luis Uguina
1dc865a979 Fix: EEVEE renders with CPU instead of GPU in Linux clients (#229)
* Fix: EEVEE renders with CPU instead of GPU in Linux clients

In Linux systems, setting the env LD_LIBRARY_PATH var to point the /lib folder included in the sheepit binary compressed .zip, mandates Blender to swap whatever openGL library is already in use by the OS. Modern GPU drivers install their own optimised version of the OpenGL library and replacing it creates incompatibilities that avoid EEVEE to run.

To detect if Blender already uses the standard OS provided OpenGL library is via _ldd_ Linux command. The execution in a system with OpenGL libraries already in use delivers an output similar to this:

ldd rend.exe
	linux-vdso.so.1 (0x00007ffda6bf9000)
	...
	libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fefefe3a000)
	libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fefefc30000)
	libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x00007fefefb9c000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fefefa4d000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fefef85c000)
	...
	libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fefef6e7000)

While a system with no OS OpenGL libraries that requires the shipped default OpenGL lib to work returns this instead:

ldd rend.exe
	linux-vdso.so.1 (0x00007ffda6bf9000)
	...
	libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fefefe3a000)
	libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fefefc30000)
	libGL.so.1 => not found
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fefefa4d000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fefef85c000)
	...
	libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fefef6e7000)

In the former case, the SheepIt client will set the LD_LIBRARY_PATH env var to point the /lib folder to allow Blender to execute properly.
2020-05-24 22:12:02 +02:00
Luis Uguina
90651fafe8 Fix: app randomly hung when the upload queue is full (#231) 2020-05-23 15:10:01 +02:00
Luis Uguina
b969077d18 Optimise the retries algorithm for the "no job" server response (#230)
* Implement an optimised retries algorithm for the "no job" server response

* formating

Co-authored-by: Laurent Clouet <laurent@nopnop.net>
2020-05-20 14:32:39 +02:00
Luis Uguina
dd09997bfa Fix: ugly JavaException when failing to generate thumbnail in SWING client (#224) 2020-05-16 10:56:57 +02:00
Laurent Clouet
656985c538 Add new type of errror 2020-05-16 10:51:35 +02:00
Luis Uguina
642ad86419 Improve waiting messages to show the time of the next retry. (#225) 2020-05-16 10:42:16 +02:00
Luis Uguina
bd88b2e3dd Allow the user to configure the GPU render bucket size (#220)
* Feature: user defined render bucket size when using GPUs
2020-05-16 10:20:38 +02:00
Laurent Clouet
36e32ab168 Fix: NullPointerException 2020-05-13 14:42:58 +02:00
Luis Uguina
26155a28dc Fix: racing condition with messages when the queue is full (#223)
There was a racing condition between the queue full message and *any* error message where the later are overwritten by the former.
2020-05-11 13:51:36 +02:00
Luis Uguina
18b99ded40 fix: a ghost project is created when a job upload fails (#222) 2020-05-09 22:04:07 +02:00
Andy Li
b91d3e71ce Fix: JAXB NoClassDefFoundError on Java 9+ (#218)
JAXB APIs are considered to be a part of Java EE and was removed by default in Java SE 9.
See: https://stackoverflow.com/a/47412779/6238618
2020-04-28 10:31:30 +02:00
Luis Uguina
d6984fa450 Feature: improve the application exit-button process (#214)
* Improve the application exit-button behaviour
2020-04-27 14:28:04 +02:00
Luis Uguina
aae5ec3254 Improve the pause button screen workflow (#216) 2020-04-26 15:35:05 +02:00
Andy Li
d529da172a Cleanup dependencies (#201)
* We don't need to shadow in `lombok` itself. Gradle must be upgraded to at least 4.6 to support `annotationProcessor`, which is a version that still supports Java 7.
* `args4j-maven-plugin` is intended to use as a maven plugin.
* The requirement for `jaxb-api` was removed in 81cba7d58c0ce8a334204700dca669f2ad8e16ff
* We are only using `simple-xml`, don't need the whole `retrofit`+`okhttp`+`okio` chain.
* Resolve deprecation warnings in JNA code.
2020-04-26 15:29:48 +02:00
Luis Uguina
87533a1262 feature: improve user information on queued uploads (#210)
* feature: improve user information about queued uploads
2020-04-19 17:01:43 +02:00
Luis Uguina
433ed5ed74 fix: background uploads queuing not working properly (#209)
Fix the sync/async detection to ensure that handle the server side projects properly. The routine was incorrectly uploading sync files with the async routine and vice-versa.
2020-04-15 09:40:51 +02:00
Laurent Clouet
57bc27bdcf Feat: change the architecture of the 'sheepit network', instead of storing every frame,mp4,zip on a single server, use multiple servers(shepherds) 2020-04-14 17:35:54 +02:00
Laurent Clouet
08fe55564c Feat: Don't do last render image request, use local image 2020-04-14 17:32:22 +02:00
Luis Uguina
b2227e9f4f feature: light/dark mode theme support (#208)
* feature: light/dark mode theme support

New feature providing a more modern flat design with support for light and dark modes, including:
- New SheepIt logo (old one removed)
- New configuration option (-theme) that changes the existing client theme.
- Minimal UI cosmetic changes (some separation lines under the logo and above the buttons)
2020-04-14 15:24:28 +02:00
Luis Uguina
4f5fcf9d1b fix: add a space after the h and min to format/show the human duration correctly (#203) 2020-04-12 13:18:35 +02:00
Luis Uguina
2e7755c823 Improve status messages (#202)
* Improve status messages

Add three new status messages (uploading frame, stopping the client and disconnecting from SheepIt servers) to keep the user better informed. Additionally, amended some existing messages to make them more user friendly, while maintaining the existing technical logs.
2020-04-11 11:53:55 +02:00
Andy Li
c1020d1534 Resolve compiler warnings (#200)
* Fix: resolve compiler warnings
* Fix: supress warnings about internal api usage
See https://stackoverflow.com/a/19553686/6238618
2020-04-09 17:39:09 +02:00
Luis Uguina
07525f101e Feature: Show progress bar in systray icon 2020-03-19 23:48:06 +01:00
Laurent Clouet
cffd34708f Merge pull request #197 from DaCoolX/patch-1
Slightly improve logging messages
2020-02-24 13:58:28 +01:00
DaCoolX
1471eccec4 Slightly improve logging messages 2020-02-23 15:22:46 +01:00
Laurent Clouet
53663a6933 Fix: nullpointerexception 2020-01-12 14:37:30 +01:00