Commit Graph

1708 Commits

Author SHA1 Message Date
Buster "Silver Eagle" Neece 8042fa9025
Part 1 of OpenAPI transition to Attributes. 2021-12-12 05:01:53 -06:00
Buster "Silver Eagle" Neece 1c814fc4c2
Code fixes and deprecated 8.1 fixes. 2021-12-10 21:48:19 -06:00
Buster "Silver Eagle" Neece fe4cdaaae8
Updates to handle a newer build of Liquidsoap 2.x 2021-12-09 05:35:46 -06:00
Buster "Silver Eagle" Neece fec3fa2524
Implement new, non-telnet-driven DJ recording system. 2021-12-08 23:18:49 -06:00
Buster "Silver Eagle" Neece 90bdceae7c
#4832 -- Take different approach with multi-jingle fix. 2021-12-08 18:38:00 -06:00
Buster "Silver Eagle" Neece 03c54e0081
Improve matching when importing playlists. 2021-12-08 04:10:50 -06:00
Buster "Silver Eagle" Neece 22d9b7f726
Fixes #4832 -- Avoid repeating metadata of back-to-back jingle playlists. 2021-12-07 15:22:32 -06:00
Buster "Silver Eagle" Neece f59c524442
Broadcast recording overhaul pt 1
- Write broadcasts to a temp file before moving to a final path
 - Create routine sync task to move recordings to permanent storage location.
2021-12-06 02:28:53 -06:00
Vaalyn 3e6649c4c7
Unify playlist.* operators in LS config (#4841) 2021-12-05 21:54:57 -06:00
Vaalyn 6c8cf9690e
Add itunes:author field to podcasts RSS feed (#4840) 2021-12-05 17:40:54 -06:00
Buster "Silver Eagle" Neece d20277af25
Make Queue always enqueue items at top of list; fix logging issues. 2021-12-04 17:38:55 -06:00
Buster "Silver Eagle" Neece 67af731661
Routine dependency update
Changelogs summary:

 - wikimedia/composer-merge-plugin updated from dev-master@0497734 to dev-master@e9434c3
   See changes: 0497734...e9434c3

 - ergebnis/composer-normalize updated from 2.15.0 to 2.16.0 minor
   See changes: https://github.com/ergebnis/composer-normalize/compare/2.15.0...2.16.0
   Release notes: https://github.com/ergebnis/composer-normalize/releases/tag/2.16.0

 - symfony/string updated from v5.3.10 to v6.0.0 major
   See changes: https://github.com/symfony/string/compare/v5.3.10...v6.0.0
   Release notes: https://github.com/symfony/string/releases/tag/v6.0.0

 - symfony/deprecation-contracts updated from v2.4.0 to v2.5.0 minor
   See changes: https://github.com/symfony/deprecation-contracts/compare/v2.4.0...v2.5.0
   Release notes: https://github.com/symfony/deprecation-contracts/releases/tag/v2.5.0

 - symfony/service-contracts updated from v2.4.0 to v2.5.0 minor
   See changes: https://github.com/symfony/service-contracts/compare/v2.4.0...v2.5.0
   Release notes: https://github.com/symfony/service-contracts/releases/tag/v2.5.0

 - symfony/console updated from v5.3.10 to v5.4.0 minor
   See changes: https://github.com/symfony/console/compare/v5.3.10...v5.4.0
   Release notes: https://github.com/symfony/console/releases/tag/v5.4.0

 - doctrine/dbal updated from 2.13.5 to 2.13.6 patch
   See changes: https://github.com/doctrine/dbal/compare/2.13.5...2.13.6
   Release notes: https://github.com/doctrine/dbal/releases/tag/2.13.6

 - doctrine/orm updated from 2.10.2 to 2.10.3 patch
   See changes: https://github.com/doctrine/orm/compare/2.10.2...2.10.3
   Release notes: https://github.com/doctrine/orm/releases/tag/2.10.3

 - symfony/serializer updated from v5.3.10 to v5.4.0 minor
   See changes: https://github.com/symfony/serializer/compare/v5.3.10...v5.4.0
   Release notes: https://github.com/symfony/serializer/releases/tag/v5.4.0

 - azuracast/doctrine-entity-normalizer updated from dev-main@66d1787 to dev-main@5b672f5
   See changes: 66d1787...5b672f5

 - league/mime-type-detection updated from 1.8.0 to 1.9.0 minor
   See changes: https://github.com/thephpleague/mime-type-detection/compare/1.8.0...1.9.0
   Release notes: https://github.com/thephpleague/mime-type-detection/releases/tag/1.9.0

 - league/flysystem updated from 2.3.1 to 2.3.2 patch
   See changes: https://github.com/thephpleague/flysystem/compare/2.3.1...2.3.2
   Release notes: https://github.com/thephpleague/flysystem/releases/tag/2.3.2

 - james-heinrich/getid3 updated from dev-master@ba27fb9 to dev-master@16afffd
   See changes: ba27fb9...16afffd

 - symfony/event-dispatcher-contracts updated from v2.4.0 to v3.0.0 major
   See changes: https://github.com/symfony/event-dispatcher-contracts/compare/v2.4.0...v3.0.0
   Release notes: https://github.com/symfony/event-dispatcher-contracts/releases/tag/v3.0.0

 - symfony/event-dispatcher updated from v5.3.7 to v5.4.0 minor
   See changes: https://github.com/symfony/event-dispatcher/compare/v5.3.7...v5.4.0
   Release notes: https://github.com/symfony/event-dispatcher/releases/tag/v5.4.0

 - phpunit/php-file-iterator updated from 3.0.5 to 3.0.6 patch
   See changes: https://github.com/sebastianbergmann/php-file-iterator/compare/3.0.5...3.0.6
   Release notes: https://github.com/sebastianbergmann/php-file-iterator/releases/tag/3.0.6

 - nikic/php-parser updated from v4.13.1 to v4.13.2 patch
   See changes: https://github.com/nikic/PHP-Parser/compare/v4.13.1...v4.13.2
   Release notes: https://github.com/nikic/PHP-Parser/releases/tag/v4.13.2

 - phpunit/php-code-coverage updated from 9.2.8 to 9.2.9 patch
   See changes: https://github.com/sebastianbergmann/php-code-coverage/compare/9.2.8...9.2.9
   Release notes: https://github.com/sebastianbergmann/php-code-coverage/releases/tag/9.2.9

 - symfony/yaml updated from v5.3.6 to v5.4.0 minor
   See changes: https://github.com/symfony/yaml/compare/v5.3.6...v5.4.0
   Release notes: https://github.com/symfony/yaml/releases/tag/v5.4.0

 - symfony/finder updated from v5.3.7 to v5.4.0 minor
   See changes: https://github.com/symfony/finder/compare/v5.3.7...v5.4.0
   Release notes: https://github.com/symfony/finder/releases/tag/v5.4.0

 - symfony/css-selector updated from v5.3.4 to v5.4.0 minor
   See changes: https://github.com/symfony/css-selector/compare/v5.3.4...v5.4.0
   Release notes: https://github.com/symfony/css-selector/releases/tag/v5.4.0

 - symfony/dom-crawler updated from v5.3.7 to v5.4.0 minor
   See changes: https://github.com/symfony/dom-crawler/compare/v5.3.7...v5.4.0
   Release notes: https://github.com/symfony/dom-crawler/releases/tag/v5.4.0

 - symfony/browser-kit updated from v5.3.4 to v5.4.0 minor
   See changes: https://github.com/symfony/browser-kit/compare/v5.3.4...v5.4.0
   Release notes: https://github.com/symfony/browser-kit/releases/tag/v5.4.0

 - codeception/module-rest updated from 1.3.2 to 1.4.2 minor
   See changes: https://github.com/Codeception/module-rest/compare/1.3.2...1.4.2
   Release notes: https://github.com/Codeception/module-rest/releases/tag/1.4.2

 - symfony/stopwatch updated from v5.3.4 to v6.0.0 major
   See changes: https://github.com/symfony/stopwatch/compare/v5.3.4...v6.0.0
   Release notes: https://github.com/symfony/stopwatch/releases/tag/v6.0.0

 - symfony/filesystem updated from v5.3.4 to v6.0.0 major
   See changes: https://github.com/symfony/filesystem/compare/v5.3.4...v6.0.0
   Release notes: https://github.com/symfony/filesystem/releases/tag/v6.0.0

 - graham-campbell/guzzle-factory updated from v5.0.2 to v5.0.3 patch
   See changes: https://github.com/GrahamCampbell/Guzzle-Factory/compare/v5.0.2...v5.0.3
   Release notes: https://github.com/GrahamCampbell/Guzzle-Factory/releases/tag/v5.0.3

 - league/csv updated from 9.7.2 to 9.7.4 patch
   See changes: https://github.com/thephpleague/csv/compare/9.7.2...9.7.4
   Release notes: https://github.com/thephpleague/csv/releases/tag/9.7.4

 - aws/aws-sdk-php updated from 3.202.2 to 3.208.1 minor
   See changes: https://github.com/aws/aws-sdk-php/compare/3.202.2...3.208.1
   Release notes: https://github.com/aws/aws-sdk-php/releases/tag/3.208.1

 - symfony/translation-contracts updated from v2.4.0 to v3.0.0 major
   See changes: https://github.com/symfony/translation-contracts/compare/v2.4.0...v3.0.0
   Release notes: https://github.com/symfony/translation-contracts/releases/tag/v3.0.0

 - symfony/translation updated from v5.3.10 to v6.0.0 major
   See changes: https://github.com/symfony/translation/compare/v5.3.10...v6.0.0
   Release notes: https://github.com/symfony/translation/releases/tag/v6.0.0

 - nesbot/carbon updated from 2.54.0 to 2.55.2 minor
   See changes: https://github.com/briannesbitt/Carbon/compare/2.54.0...2.55.2
   Release notes: https://github.com/briannesbitt/Carbon/releases/tag/2.55.2

 - pagerfanta/core updated from v3.4.0 to v3.5.0 minor
   See changes: https://github.com/Pagerfanta/core/compare/v3.4.0...v3.5.0
   Release notes: https://github.com/Pagerfanta/core/releases/tag/v3.5.0

 - pagerfanta/doctrine-collections-adapter updated from v3.4.0 to v3.5.0 minor
   See changes: https://github.com/Pagerfanta/doctrine-collections-adapter/compare/v3.4.0...v3.5.0
   Release notes: https://github.com/Pagerfanta/doctrine-collections-adapter/releases/tag/v3.5.0

 - pagerfanta/doctrine-orm-adapter updated from v3.4.0 to v3.5.0 minor
   See changes: https://github.com/Pagerfanta/doctrine-orm-adapter/compare/v3.4.0...v3.5.0
   Release notes: https://github.com/Pagerfanta/doctrine-orm-adapter/releases/tag/v3.5.0

 - phpstan/phpstan updated from 1.1.2 to 1.2.0 minor
   See changes: https://github.com/phpstan/phpstan/compare/1.1.2...1.2.0
   Release notes: https://github.com/phpstan/phpstan/releases/tag/1.2.0

 - phpstan/phpstan-doctrine updated from 1.0.1 to 1.0.2 patch
   See changes: https://github.com/phpstan/phpstan-doctrine/compare/1.0.1...1.0.2
   Release notes: https://github.com/phpstan/phpstan-doctrine/releases/tag/1.0.2

 - roave/security-advisories updated from dev-latest@bac54e1 to dev-latest@0529e9c
   See changes: bac54e1...0529e9c

 - symfony/messenger updated from v5.3.10 to v5.4.0 minor
   See changes: https://github.com/symfony/messenger/compare/v5.3.10...v5.4.0
   Release notes: https://github.com/symfony/messenger/releases/tag/v5.4.0

 - symfony/redis-messenger updated from v5.3.10 to v5.4.0 minor
   See changes: https://github.com/symfony/redis-messenger/compare/v5.3.10...v5.4.0
   Release notes: https://github.com/symfony/redis-messenger/releases/tag/v5.4.0

 - symfony/doctrine-messenger updated from v5.3.10 to v6.0.0 major
   See changes: https://github.com/symfony/doctrine-messenger/compare/v5.3.10...v6.0.0
   Release notes: https://github.com/symfony/doctrine-messenger/releases/tag/v6.0.0

 - symfony/amqp-messenger updated from v5.3.7 to v5.4.0 minor
   See changes: https://github.com/symfony/amqp-messenger/compare/v5.3.7...v5.4.0
   Release notes: https://github.com/symfony/amqp-messenger/releases/tag/v5.4.0

 - pda/pheanstalk updated from v4.0.3 to v4.0.4 patch
   See changes: https://github.com/pheanstalk/pheanstalk/compare/v4.0.3...v4.0.4
   Release notes: https://github.com/pheanstalk/pheanstalk/releases/tag/v4.0.4

 - symfony/beanstalkd-messenger updated from v5.3.4 to v5.4.0 minor
   See changes: https://github.com/symfony/beanstalkd-messenger/compare/v5.3.4...v5.4.0
   Release notes: https://github.com/symfony/beanstalkd-messenger/releases/tag/v5.4.0

 - symfony/var-exporter updated from v5.3.8 to v6.0.0 major
   See changes: https://github.com/symfony/var-exporter/compare/v5.3.8...v6.0.0
   Release notes: https://github.com/symfony/var-exporter/releases/tag/v6.0.0

 - symfony/cache-contracts updated from v2.4.0 to v2.5.0 minor
   See changes: https://github.com/symfony/cache-contracts/compare/v2.4.0...v2.5.0
   Release notes: https://github.com/symfony/cache-contracts/releases/tag/v2.5.0

 - symfony/cache updated from v5.3.10 to v5.4.0 minor
   See changes: https://github.com/symfony/cache/compare/v5.3.10...v5.4.0
   Release notes: https://github.com/symfony/cache/releases/tag/v5.4.0

 - symfony/intl updated from v5.3.8 to v5.4.0 minor
   See changes: https://github.com/symfony/intl/compare/v5.3.8...v5.4.0
   Release notes: https://github.com/symfony/intl/releases/tag/v5.4.0

 - symfony/mime updated from v5.3.8 to v6.0.0 major
   See changes: https://github.com/symfony/mime/compare/v5.3.8...v6.0.0
   Release notes: https://github.com/symfony/mime/releases/tag/v6.0.0

 - symfony/mailer updated from v5.3.9 to v5.4.0 minor
   See changes: https://github.com/symfony/mailer/compare/v5.3.9...v5.4.0
   Release notes: https://github.com/symfony/mailer/releases/tag/v5.4.0

 - symfony/process updated from v5.3.7 to v5.4.0 minor
   See changes: https://github.com/symfony/process/compare/v5.3.7...v5.4.0
   Release notes: https://github.com/symfony/process/releases/tag/v5.4.0

 - symfony/property-info updated from v5.3.8 to v6.0.0 major
   See changes: https://github.com/symfony/property-info/compare/v5.3.8...v6.0.0
   Release notes: https://github.com/symfony/property-info/releases/tag/v6.0.0

 - symfony/property-access updated from v5.3.8 to v5.4.0 minor
   See changes: https://github.com/symfony/property-access/compare/v5.3.8...v5.4.0
   Release notes: https://github.com/symfony/property-access/releases/tag/v5.4.0

 - symfony/options-resolver updated from v5.3.7 to v6.0.0 major
   See changes: https://github.com/symfony/options-resolver/compare/v5.3.7...v6.0.0
   Release notes: https://github.com/symfony/options-resolver/releases/tag/v6.0.0

 - symfony/lock updated from v5.3.10 to v5.4.0 minor
   See changes: https://github.com/symfony/lock/compare/v5.3.10...v5.4.0
   Release notes: https://github.com/symfony/lock/releases/tag/v5.4.0

 - symfony/rate-limiter updated from v5.3.4 to v5.4.0 minor
   See changes: https://github.com/symfony/rate-limiter/compare/v5.3.4...v5.4.0
   Release notes: https://github.com/symfony/rate-limiter/releases/tag/v5.4.0

 - symfony/validator updated from v5.3.10 to v5.4.0 minor
   See changes: https://github.com/symfony/validator/compare/v5.3.10...v5.4.0
   Release notes: https://github.com/symfony/validator/releases/tag/v5.4.0

 - symfony/var-dumper updated from v5.3.10 to v5.4.0 minor
   See changes: https://github.com/symfony/var-dumper/compare/v5.3.10...v5.4.0
   Release notes: https://github.com/symfony/var-dumper/releases/tag/v5.4.0

 - graham-campbell/result-type updated from v1.0.3 to v1.0.4 patch
   See changes: https://github.com/GrahamCampbell/Result-Type/compare/v1.0.3...v1.0.4
   Release notes: https://github.com/GrahamCampbell/Result-Type/releases/tag/v1.0.4

 - zircote/swagger-php updated from 3.3.1 to 3.3.2 patch
   See changes: https://github.com/zircote/swagger-php/compare/3.3.1...3.3.2
   Release notes: https://github.com/zircote/swagger-php/releases/tag/3.3.2
2021-12-03 23:07:34 -06:00
Buster "Silver Eagle" Neece ebf631f41b
Don't change cued_timestamp during feedback step. 2021-11-30 20:14:54 -06:00
Buster "Silver Eagle" Neece 47d595fb07
#4774 -- Update jingle mode queueing to support longer queue. 2021-11-26 22:10:03 -06:00
Buster "Silver Eagle" Neece 4fda3c00d3
Fixes #4811 -- Fix account recovery and add a recovery URL generator CLI command. 2021-11-25 17:32:28 -06:00
Buster "Silver Eagle" Neece 349c1e580f
Closes #4754 -- Harden URI determination in other places. 2021-11-25 12:04:06 -06:00
Buster "Silver Eagle" Neece a8d3193eea
#4754 -- Further harden URI resilience. 2021-11-25 09:47:18 -06:00
Buster "Silver Eagle" Neece d09d36b61f
#4804 -- Fix errors when queuing new tracks. 2021-11-24 18:40:49 -06:00
Buster "Silver Eagle" Neece 2bc2aa9790
Adjust estimated play times of cued queue tracks too. 2021-11-24 15:50:51 -06:00
Buster "Silver Eagle" Neece 9e61fb8c98
Minor fixes to scheduler order. 2021-11-24 15:05:13 -06:00
Buster "Silver Eagle" Neece ccf1e5487f
Update Queue to be based on expected play time, not expected cue time. 2021-11-24 11:59:16 -06:00
Buster "Silver Eagle" Neece b0e23a87d0
Show space used in storage location page. 2021-11-23 12:05:39 -06:00
Buster "Silver Eagle" Neece cbb35d55a1
Storage Quota Overhaul
- Adds enforcement of storage location quotas to album art uploads, podcast uploads, broadcast recordings and backups.
 - Removes PodcastMediaRepository to avoid a circular dependency problem
 - All storage locations will periodically update their "space used" via a cron task
 - Adds a quota display to the podcast management page
2021-11-23 09:44:41 -06:00
Buster "Silver Eagle" Neece 0da15085d3
Implement common Quota component. 2021-11-22 14:18:23 -06:00
Buster "Silver Eagle" Neece 784438fd80
Fixes #4613 -- Fix minor issues with sync:run 2021-11-19 15:30:00 -06:00
Buster "Silver Eagle" Neece f24c695afe
Fixes #4615 -- Slightly harden role deletion via API. 2021-11-19 15:09:57 -06:00
Buster "Silver Eagle" Neece 237d48fd12
Fixes #4484 -- Fix sorting on public requests pages. 2021-11-19 15:01:50 -06:00
Buster "Silver Eagle" Neece 65ce85fe8b
Allow (and ignore) null StorageLocations for serialization purposes. 2021-11-19 10:52:38 -06:00
Buster "Silver Eagle" Neece 3a057a469a
Also remove periods from variable names for LS2. 2021-11-19 07:37:26 -06:00
Buster "Silver Eagle" Neece f5304704ac
Investigate CPU consumption by switching decoders back to non-ffmpeg. 2021-11-18 08:43:48 -06:00
Buster "Silver Eagle" Neece 9b7d7f7e17
Rework how storage locations are serialized; live quota on media manager. 2021-11-17 10:30:21 -06:00
Buster "Silver Eagle" Neece 55f04d47e7
Automatically spin down any stations configured to be disabled. 2021-11-16 07:14:00 -06:00
Buster "Silver Eagle" Neece cdc3495e6d
Add live-reload support for Icecast frontends. 2021-11-16 07:13:43 -06:00
Buster "Silver Eagle" Neece 9286747b62
Fix ErrorHandler flash messages, login referrer, etc. 2021-11-15 11:25:05 -06:00
Buster "Silver Eagle" Neece 7425e4a04c
Add class to JSON errors; avoid repeating timeouts for 403s. 2021-11-15 10:00:44 -06:00
Buster "Silver Eagle" Neece a7fc961679
Move detailed info into StationQueueDetailed. 2021-11-14 05:14:53 -06:00
Buster "Silver Eagle" Neece daae1eedc6
Revert one part of overhaul due to duplicate history records. 2021-11-14 04:56:25 -06:00
Buster "Silver Eagle" Neece ff3c13b40e
Overhaul AutoDJ queue management to allow Liquidsoap to hold its own queue.
Explanation: The upgrade to Liquidsoap 2.0 now means that Liquidsoap itself can hold more than one song in its upcoming queue, which allows us to make functionality like "skip song" work as expected for the first time, but also meant that our previous methods of tracking what songs were and weren't queued didn't work well at all. This overhauls the queue builder by adding a new "is_played" status to each queue entry and treating the entire "unplayed" queue (whether sent to the AutoDJ or not) as the "upcoming" queue, fixing a number of issues.
2021-11-14 02:47:18 -06:00
Vaalyn d7bbcc26db
Add buffer to input.http remote streams (#4786)
* Add buffer to input.http remote streams

* Fix cs error
2021-11-13 07:49:38 -06:00
Vaalyn becc849b59
Only use cue_cut in LS config for song playlists (#4785) 2021-11-13 04:29:29 -06:00
Buster "Silver Eagle" Neece ab44e41d23
Remove legacy Liquidsoap 1.0 additions to Skip functionality. 2021-11-11 19:30:35 -06:00
Vaalyn 550054916f
Fix LS input.http buffer parameter for LS 2.0 (#4769) 2021-11-09 08:42:31 -06:00
Buster "Silver Eagle" Neece 4cbb9dd755
Minor code tweak for new, stricter inspections. 2021-11-08 04:29:01 -06:00
Vaalyn 1a1551754f
Implement changes for Liquidsoap 2.0.0 (#4402) 2021-11-08 04:15:01 -06:00
Buster "Silver Eagle" Neece f34583897e
Code cleanup. 2021-11-07 14:59:07 -06:00
Buster "Silver Eagle" Neece fc8a2aea08
Move Doctrine EntityNormalizer and batch utilities to external libraries. 2021-11-07 02:20:52 -06:00
Buster "Silver Eagle" Neece 6c5f852b97
Add static hinting to normalizer. 2021-11-06 23:18:39 -06:00
Buster "Silver Eagle" Neece 058f306c15
Make entity functions line up with propertyaccess. 2021-11-06 23:02:44 -06:00
Buster "Silver Eagle" Neece cbe106d9ef
Add album art to dashboard. 2021-11-05 21:05:40 -05:00
Buster "Silver Eagle" Neece 57d3f4c04e
Vue component polish; locale string deduplication. 2021-11-05 20:38:39 -05:00