Closed dasgarner closed 2 years ago
After some investigation I think this might be related to headers. If you look at the headers a Linux Player sends with each XMDS request, you will note that some key headers are missing. This is an example request:
{"Host":"localhost:80","Content-Length":"1069"}
This is a similar request from postman:
{
"Content-Type":"text\/xml",
"User-Agent":"PostmanRuntime\/7.26.8",
"Accept":"*\/*",
"Host":"localhost",
"Accept-Encoding":"gzip, deflate, br",
"Connection":"keep-alive",
"Content-Length":"893"
}
Specifically the Content-Type header is missing, but it would be very much desirable to have a User-Agent too for logging purposes.
There seems to be a further problem here, this time with AppImage.
I've got a snap install and an AppImage install on the same PC, both configured to the same CMS with the same displayId/hardware key.
In options, if I save in the snap it works. If I save in the appimage it says "500 Internal Server Error".
This is because the clientCode
field must be an integer
and AppImage provides a string.
Hi, I have the same issue after i upgrade my cms to V3. I have build my own snap (because i don't want automatic update snap) and i get 500 internal error. With AppImage i have the same issue. But If i install by snap repository, i didn't get the error. There is not the last update for the linux-player on git? Thanks
Have you tried installing via the edge
channel in snap? There are certainly things in edge which are not yet promoted to stable channel.
I have the same problem with CMS V3.
I have tried to build a client by myself from this repository. I'm also getting "500 internal server error". I tried to build this repository last commit and releases: "edge-00125e7", "edge-0af4e78", "edge-1f0e919", "edge-a7d744f" and "1.8 R6".
I tested the installation from snap edge channel. It works.
Hi, sry for my delay. Like @Pietzu i have build client by myself and i have error 500 or another error. With snap edge channel it works but i can't use it in production. (because snap are updated automatically and i don't want that)
Is there any update for this?
Sorry I do not have an update for you - our lead developer has moved on to other projects and we're not having any luck finding another to continue working on this code base.
If the version in Snap edge channel works, then the best I can offer until we find someone to maintain the project, is to push that up to the beta channel, which I have done now.
We have a strategy for solving this problem:
The problem was solved in the CMS by reading php://input
instead of using the http post body data. This would fix for all snap builds, including stable.
Nevertheless we will make a modification to include the missing headers for better compatibility.
The root cause is using the short commit sha from git as the client version number - which is sometimes a number, but mostly contains characters aswell. CMS v3 is much stricter with its type sanitation and therefore does not allow this.
We will change the AppImage build process so that we take a count of pre-releases from the github API, plus 1 and use that as our version number. This should give us an incrementing integer which goes up by one each time we push to master (which itself generates an edge build in both snap and an appimage).
Thanks for the update.
This issue also explains why the self-built snap does not work. By default, the self-built snap gets revision number "x1".
For testing, I changed line 36 of the AppConfig.cpp file: return getenv("SNAP_REVISION");
-> return "1";
The client with this change connects to CMS v3 without any problem.
It is not possible to connect to a v3 CMS instance. The options screen doesn't show any error/message when clicking on "Save". And if you start the Player it shows an error line from SOAP, but no message. The last accessed date doesn't update in the CMS.
Expected Behaviour: The Player should connect and play what it can (the XLF schema is the same).