The installer originally contained code to stop media-monitor on
updates. This code was removed together with media-monitor. In
the update case we want to make sure that media-monitor is never
running after updating to LibreTime.
The stop command will fail with a warning on systems that never
had media-monitor installed. This warning can be ignored and the
other services stopped with the same command still get stopped
as intended.
Fix#230
Currently pip is pulling a new pre-release version of pika. This
version does not seem to be backwards compatible and is the reason
why uploads fail on new installs.
Since there are packages available for pika on all major distros
we can get away with just installing those as pip will not try to
replace/upgrade them the way it is currently configured.
This removes most of the legacy upstream config madness by not using
weird config files spread all over the place.
This isn't the solution to other config reading fragility issues, but
it does move the whole config back to the central airtime.conf file.
This adds TLS support to pypo when downloading files from the REST
API. I previously fixed some similar issues in the api_client and
wasn't aware that pypo isn't using it for every URL..
I cleaned up the CORSHandler code a bit more and also rewrote the
helper to use the framework to access the request properly and
took care of also grabbing the request schema from the server.
We don't need them for the end user runtime and this speeds up the
install quite a bit when installing from the full tarball.
Devs will need to run `composer install` to run unit tests locally
but that's about it.
I fixed the manual installer to ensure that the VERSION file ends up
in the right directory on install.
I also took care of the pre-release parts of the naggingness. It shows
no updates as long there is no stable release for the current version.
As soon as one is available it uses the orange update icon to alert the
user that an update would be in order since a stable version has been
released.
Problem: assert() is Language construct in php 7 and not a function anymore. It also seems to behave silghtly differently with regards to what kind of side effects assertions are allowed to have. This leads to all of the rest endpoints being broken in php 7 since the assertion silently fails and the routes never really get added to the front controllers router.
Solution: Don't wrap the addRouter call in assert(). The way assert was being uses was rather unusual for php code this age. It was also mostly checking zf1 rather than guarding against errors in LibreTime itself.
The php manual clearly states "As a rule of thumb your code should always be able to work correctly if assertion checking is not activated." giving even more reason to ot wrap critical paths in assertions.
There are some other instances of `assert()` being used in non test code, those don't seem to have any negative effects on php7.
"What's with cue-In/Out points and silan?" is a frequently asked question that currently has multiple possible fixes and a couple of open tasks (not only "Why is it broken?" but also "Where is the cue-point editor?").
I added current infos to the release notes and was thinking this should be pointed out in the FAQ until we have a stable solution ready.
The /Schedule/set-time-scale/format/json was being hit every time a new calendar page was displayed. The isn't good for performance reasons and also makes race conditions like #210 much more likely.
With this change the preference is only updated on the server when the GUI state changes because the user clicked on one of the "Day", "Week", or "Month" buttons.
This does not fix the locking issue completely, but it should help because the cc_prefs time-scale row in the database will get locked much less often. After applying this I wasn't able to reproduce #210 any more on an install with an extensive schedule.
The script was logging "Script failed with status 127". It seems that this is due to release.sh not being executable and not being referenced with a path starting with ./.
* Re-order folder creation to make a bit more sense (the log file creation step was unreachable because python scripts always created the checked dir early)
* create dirs from pypo data_files in installer so pypo can run out of the box on a new install
* Fix path to logrotate script (logrotation needs testing though)
* Remove std_err_override module from install. Code-wise only airtime-media-monitor is still based on it and that is slated for removal together with std_err_override.