Commit Graph

707 Commits

Author SHA1 Message Date
Buster "Silver Eagle" Neece 27fd5eead1
Add environment file to show detailed errors. 2022-03-25 21:36:49 -05:00
Buster "Silver Eagle" Neece 4c6cb510c9
Make Playlists its own menu item again. 2022-03-19 17:19:08 -05:00
Buster "Silver Eagle" Neece 8055056d1d
Clear unplayed queues during restarts. 2022-03-15 03:38:32 -05:00
Buster "Silver Eagle" Neece 7bf094ffac
Use CLI commands for LS functionality for unified container. 2022-03-15 00:14:05 -05:00
Buster "Silver Eagle" Neece ef4c438857
Add "Get Next Song" debug command. 2022-03-12 00:49:50 -06:00
Buster "Silver Eagle" Neece 783315cf2f
Support per-station custom fallback error message file. 2022-02-27 20:16:48 -06:00
Buster "Silver Eagle" Neece a4e6f5a65b
Evaluate new station sidebar menus tructure. 2022-02-27 17:41:39 -06:00
Buster "Silver Eagle" Neece 03df842002
Add new report for unassigned media. 2022-02-26 19:06:14 -06:00
Buster "Silver Eagle" Neece d4c48003de
Add "Send Test Message" functionality to settings. 2022-02-26 17:32:43 -06:00
Vaalyn c20bc4fd11
Add detailed CPU usage stats (#5136)
* Add detailed CPU stats Admin API endpoint

* Add detailed CPU stats endpoint route

* Add Network & Memory stats and Vue admin dashboard

* CPU Stats Polish Pass

* Fix bottom margin of CPU & Memory/Disk Space cols

* Improve admin menu usability on mobile

* Update language on CPU help modal.

Co-authored-by: Buster "Silver Eagle" Neece <buster@busterneece.com>
2022-02-24 23:16:43 -06:00
Buster "Silver Eagle" Neece aa9ecbbe15
Separate soft-reload and hard-restart options. 2022-02-24 18:00:49 -06:00
Buster "Silver Eagle" Neece b80fc4795d
Update restart language to "Reload" for soft-reload-supporting frontends. 2022-02-21 01:26:08 -06:00
Buster "Silver Eagle" Neece 787020593d
#5066 -- Add redirect from old "/api_keys" URL. 2022-02-03 20:30:20 -06:00
Buster "Silver Eagle" Neece 2bdc2616ad
Abstract URIs to stations/web containers. 2022-01-27 19:33:07 -06:00
Buster "Silver Eagle" Neece d2ecc4664f
#5028 -- Update LS to use proper system HTTP requests. 2022-01-25 01:59:16 -06:00
Buster "Silver Eagle" Neece ed65f0d785
LetsEncrypt/Nginx Container Consolidation (#4995) 2022-01-18 02:49:08 -06:00
Buster "Silver Eagle" Neece ce0e9cc78d
Introduce two new enums. 2022-01-16 22:45:07 -06:00
Buster "Silver Eagle" Neece 09d79b763f
#4976 -- Alert users when base URL mismatches. 2022-01-14 04:19:55 -06:00
Buster "Silver Eagle" Neece b23f28ab2a
Merge commit 'e6397a893da04c0a28c2306d39233b8a072e54e0' 2022-01-07 02:26:40 -06:00
Buster "Silver Eagle" Neece 9cfc2ee95d
Implement Concurrent Optimized Sync and Now Playing Processes (#4941) 2022-01-04 16:46:49 -06:00
Buster "Silver Eagle" Neece c2df37b660
Reformat menu files; remove "Beta" on Podcasts. 2021-12-25 08:32:10 -06:00
Buster "Silver Eagle" Neece 5d3c9eb5e7
Fix issue with sync not running. 2021-12-23 17:33:31 -06:00
Buster "Silver Eagle" Neece ce10a05a11
Unify namespace of all CLI commands. 2021-12-23 13:50:39 -06:00
Buster "Silver Eagle" Neece 501ab48dcb
Merge commit '22451f4a7078faf579e8b4f67d0b51e03981f135' 2021-12-22 19:32:40 -06:00
Buster "Silver Eagle" Neece 9dc128adf4
Fixes #4905 -- Loosen permissions of quota view. 2021-12-21 14:14:44 -06:00
Buster "Silver Eagle" Neece 65dbaaf2cb
Add "Restart to Apply" notification to new Vue controls. 2021-12-15 07:19:56 -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 9b7d7f7e17
Rework how storage locations are serialized; live quota on media manager. 2021-11-17 10:30:21 -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 57d3f4c04e
Vue component polish; locale string deduplication. 2021-11-05 20:38:39 -05:00
Buster "Silver Eagle" Neece 7a393bda11
Remove and retire AzuraForms 2021-11-05 01:36:44 -05:00
Buster "Silver Eagle" Neece 87ea336a12
Vuetify Liquidsoap config; other app cleanup. 2021-11-05 01:13:32 -05:00
Buster "Silver Eagle" Neece 5caa21ba33
Vuetify automation, clean up SoundExchange report. 2021-11-04 19:50:13 -05:00
Buster "Silver Eagle" Neece 408d4c6a4b
Vuetify SoundExchange report. 2021-11-04 12:35:13 -05:00
Buster "Silver Eagle" Neece 55f42b7b05
WIP backups vue and form component retirement. 2021-11-04 04:09:07 -05:00
Buster "Silver Eagle" Neece 2c84d55f20
Move admin API key view to Vue. 2021-11-03 16:07:05 -05:00
Buster "Silver Eagle" Neece e0b0fe5a7b
Vue Account Management & API Keys (#4753) 2021-11-02 20:38:45 -05:00
Buster "Silver Eagle" Neece b58480e0d0
Vuetify User management in admin. 2021-10-27 18:15:33 -05:00
Buster "Silver Eagle" Neece c7d7ae8e87
Move first-time registration to Vue component. 2021-10-26 19:00:51 -05:00
Buster "Silver Eagle" Neece d114b43a90
Migrate Station Profile/Clone/Admin Forms to Vue (#4709) 2021-10-23 12:11:20 -05:00
Mitch 35b01e82ae
Update station.php (#4675) 2021-10-14 08:16:28 -05:00
Buster "Silver Eagle" Neece 765d7c2fe2
Move SHOUTcast 2 installation to Vue/API (with Flow upload). 2021-10-13 10:24:56 -05:00
Buster "Silver Eagle" Neece 128b2eb66d
Make GeoLite installation Vue component. 2021-10-13 03:51:26 -05:00
Buster "Silver Eagle" Neece 9ef86bb741
Add settings groups to narrow what columns each page saves. 2021-10-13 03:49:38 -05:00
Buster "Silver Eagle" Neece e610d429b4
Feature/vue settings (#4669) 2021-10-11 04:55:25 -05:00
Buster "Silver Eagle" Neece d4f2debaff
Composer Dependencies Update
Changelogs summary:

 - pyrech/composer-changelogs updated from v1.7.1 to v1.8.0
   See changes: https://github.com/pyrech/composer-changelogs/compare/v1.7.1...v1.8.0
   Release notes: https://github.com/pyrech/composer-changelogs/releases/tag/v1.8.0

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

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

 - james-heinrich/getid3 updated from dev-master@4e02ed0 to dev-master@a440175
   See changes: 4e02ed0...a440175

 - slim/slim updated from 4.8.1 to 4.9.0
   See changes: https://github.com/slimphp/Slim/compare/4.8.1...4.9.0
   Release notes: https://github.com/slimphp/Slim/releases/tag/4.9.0

 - doctrine/dbal updated from 2.13.2 to 2.13.4
   See changes: https://github.com/doctrine/dbal/compare/2.13.2...2.13.4
   Release notes: https://github.com/doctrine/dbal/releases/tag/2.13.4

 - doctrine/orm updated from 2.9.5 to 2.10.1
   See changes: https://github.com/doctrine/orm/compare/2.9.5...2.10.1
   Release notes: https://github.com/doctrine/orm/releases/tag/2.10.1

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

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

 - phpdocumentor/type-resolver updated from 1.4.0 to 1.5.1
   See changes: https://github.com/phpDocumentor/TypeResolver/compare/1.4.0...1.5.1
   Release notes: https://github.com/phpDocumentor/TypeResolver/releases/tag/1.5.1

 - phpspec/prophecy updated from 1.13.0 to 1.14.0
   See changes: https://github.com/phpspec/prophecy/compare/1.13.0...1.14.0
   Release notes: https://github.com/phpspec/prophecy/releases/tag/1.14.0

 - phpunit/phpunit updated from 9.5.9 to 9.5.10
   See changes: https://github.com/sebastianbergmann/phpunit/compare/9.5.9...9.5.10
   Release notes: https://github.com/sebastianbergmann/phpunit/releases/tag/9.5.10

 - guzzlehttp/psr7 updated from 1.8.2 to 1.8.3
   See changes: https://github.com/guzzle/psr7/compare/1.8.2...1.8.3
   Release notes: https://github.com/guzzle/psr7/releases/tag/1.8.3

 - guzzlehttp/promises updated from 1.4.1 to 1.5.0
   See changes: https://github.com/guzzle/promises/compare/1.4.1...1.5.0
   Release notes: https://github.com/guzzle/promises/releases/tag/1.5.0

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

 - composer/ca-bundle updated from 1.2.10 to 1.2.11
   See changes: https://github.com/composer/ca-bundle/compare/1.2.10...1.2.11
   Release notes: https://github.com/composer/ca-bundle/releases/tag/1.2.11

 - doctrine/data-fixtures updated from 1.5.0 to 1.5.1
   See changes: https://github.com/doctrine/data-fixtures/compare/1.5.0...1.5.1
   Release notes: https://github.com/doctrine/data-fixtures/releases/tag/1.5.1

 - laminas/laminas-code updated from 4.4.2 to 4.4.3
   See changes: https://github.com/laminas/laminas-code/compare/4.4.2...4.4.3
   Release notes: https://github.com/laminas/laminas-code/releases/tag/4.4.3

 - filp/whoops updated from 2.14.1 to 2.14.4
   See changes: https://github.com/filp/whoops/compare/2.14.1...2.14.4
   Release notes: https://github.com/filp/whoops/releases/tag/2.14.4

 - intervention/image updated from 2.6.1 to 2.7.0
   See changes: https://github.com/Intervention/image/compare/2.6.1...2.7.0
   Release notes: https://github.com/Intervention/image/releases/tag/2.7.0

 - laminas/laminas-config updated from 3.5.0 to 3.7.0
   See changes: https://github.com/laminas/laminas-config/compare/3.5.0...3.7.0
   Release notes: https://github.com/laminas/laminas-config/releases/tag/3.7.0

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

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

 - matomo/device-detector updated from 4.3.0 to 4.3.1
   See changes: https://github.com/matomo-org/device-detector/compare/4.3.0...4.3.1
   Release notes: https://github.com/matomo-org/device-detector/releases/tag/4.3.1

 - mezzio/mezzio-session updated from 1.4.3 to 1.6.0
   See changes: https://github.com/mezzio/mezzio-session/compare/1.4.3...1.6.0
   Release notes: https://github.com/mezzio/mezzio-session/releases/tag/1.6.0

 - mezzio/mezzio-session-cache updated from 1.5.1 to 1.6.0
   See changes: https://github.com/mezzio/mezzio-session-cache/compare/1.5.1...1.6.0
   Release notes: https://github.com/mezzio/mezzio-session-cache/releases/tag/1.6.0

 - mockery/mockery updated from 1.4.3 to 1.4.4
   See changes: https://github.com/mockery/mockery/compare/1.4.3...1.4.4
   Release notes: https://github.com/mockery/mockery/releases/tag/1.4.4

 - monolog/monolog updated from 2.3.2 to 2.3.5
   See changes: https://github.com/Seldaek/monolog/compare/2.3.2...2.3.5
   Release notes: https://github.com/Seldaek/monolog/releases/tag/2.3.5

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

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

 - php-http/discovery updated from 1.14.0 to 1.14.1
   See changes: https://github.com/php-http/discovery/compare/1.14.0...1.14.1
   Release notes: https://github.com/php-http/discovery/releases/tag/1.14.1

 - ramsey/uuid updated from 4.2.1 to 4.2.3
   See changes: https://github.com/ramsey/uuid/compare/4.2.1...4.2.3
   Release notes: https://github.com/ramsey/uuid/releases/tag/4.2.3

 - roave/security-advisories updated from dev-latest@05f521f to dev-latest@0488e16
   See changes: 05f521f...0488e16

 - phpstan/phpdoc-parser updated from 0.5.5 to 0.5.6
   See changes: https://github.com/phpstan/phpdoc-parser/compare/0.5.5...0.5.6
   Release notes: https://github.com/phpstan/phpdoc-parser/releases/tag/0.5.6

 - slevomat/coding-standard updated from 7.0.14 to 7.0.15
   See changes: https://github.com/slevomat/coding-standard/compare/7.0.14...7.0.15
   Release notes: https://github.com/slevomat/coding-standard/releases/tag/7.0.15

 - lstrojny/fxmlrpc updated from dev-master@866ae78 to dev-master@f9d19c1
   See changes: 866ae78...f9d19c1

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

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

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

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

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

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

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

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

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

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

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

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

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

 - vlucas/phpdotenv updated from v5.3.0 to v5.3.1
   See changes: https://github.com/vlucas/phpdotenv/compare/v5.3.0...v5.3.1
   Release notes: https://github.com/vlucas/phpdotenv/releases/tag/v5.3.1
2021-10-08 07:05:09 -05:00
Buster "Silver Eagle" Neece d696eeda7c
Move SFTP user form to Vue. 2021-10-08 06:30:03 -05:00
Buster "Silver Eagle" Neece 798bfd1eb2
Feature/vue webhooks (#4655) 2021-10-06 22:00:53 -05:00
Buster "Silver Eagle" Neece 4a938671b4
Simplify and limit scope of public service worker. 2021-09-26 15:05:40 -05:00
Buster "Silver Eagle" Neece c7a06c2583
#4594 -- Fix how the Schedule embed displays by allowing calendar return data on public API endpoint. 2021-09-23 20:13:11 -05:00
Buster "Silver Eagle" Neece 6eaeaec023
Move admin/custom fields to Vue. 2021-09-20 10:51:39 -05:00
Buster "Silver Eagle" Neece dd07f982b5
Move Roles/Permissions component to Vue. 2021-09-19 08:16:53 -05:00
Buster "Silver Eagle" Neece 94633c7944
Implement common Vue component Plates template. 2021-09-18 18:41:22 -05:00
Buster "Silver Eagle" Neece f3b8c2692c
Remove remnants of moment.js 2021-09-16 07:28:38 -05:00
Buster "Silver Eagle" Neece 480f0ed8a7
Update to FullCalendar 5; remove Moment from all Vue components. 2021-09-15 18:48:30 -05:00
Buster "Silver Eagle" Neece f05bd5c067
Remove moment from Media, add Webcaster deps back. 2021-09-15 14:47:53 -05:00
Buster "Silver Eagle" Neece 62fa8c5eca
Move more components to be fully Vue-managed. 2021-09-15 14:12:45 -05:00
Buster "Silver Eagle" Neece 07490f98b9
Remove MomentJS from lots of places; replace with modern Luxon library. 2021-09-15 07:23:33 -05:00
Buster "Silver Eagle" Neece 061547bc1f
Internalize codemirror, slight restructure on new Vue components. 2021-09-14 15:52:34 -05:00
Buster "Silver Eagle" Neece e408420ecb
Remove fancybox and other deps now required from within Vue. 2021-09-14 11:41:43 -05:00
Buster "Silver Eagle" Neece 72bc85f4ca
Massive Vue Overhaul
Includes the following major changes:
 - Restructure the Vue application into more logical folder structure
 - Create per-page entrypoint scripts that define Vue dependencies, removing this job from the asset manager
 - Implement vuex and use it to manage cross-component communication (i.e. for the audio player)
 - Add new "~" alias for the "/frontend/vue" folder to greatly simplify imports
2021-09-14 09:32:54 -05:00
Buster "Silver Eagle" Neece e0dc46dd56
Remove bootgrid from assets. 2021-09-14 09:31:10 -05:00
Buster "Silver Eagle" Neece 5b958e154c
Make Audit Log a Vue component and remove jQuery Bootgrid. 2021-09-13 04:15:26 -05:00
Buster "Silver Eagle" Neece 737f3d40ab
Update performance report to be a Vue component. 2021-09-12 09:34:37 -05:00
Buster "Silver Eagle" Neece ea805bd8c5
Move station playback timeline to Vue. 2021-09-11 18:09:50 -05:00
Buster "Silver Eagle" Neece a75ae7d80c
Move Listeners report to be a Vue component. 2021-09-11 15:47:48 -05:00
Buster "Silver Eagle" Neece 8272aa5ef9
Update to Webpack 5 and redesign build process. 2021-09-11 15:46:31 -05:00
Buster "Silver Eagle" Neece c94e2edf19
Move requests report into Vue component. 2021-09-06 04:06:31 -05:00
Buster "Silver Eagle" Neece 8d3cab6e76
Add ability to clear upcoming song queue with single click. 2021-09-05 17:46:33 -05:00
Mitch 5a2fa552bf
Update station.php (#4535) 2021-08-30 16:33:32 -05:00
Buster "Silver Eagle" Neece 9bbae3d6b6
Switch to only defining CSRF token on pages that use API calls. 2021-08-28 18:09:24 -05:00
Buster "Silver Eagle" Neece 5a2f1a42e5
Add CSRF token to all internal session-authenticated API requests. 2021-08-27 18:45:25 -05:00
Buster "Silver Eagle" Neece 95a9b8c781
Enforce HTTP-only (and secure) cookies for session persistence. 2021-08-26 18:40:11 -05:00
Buster "Silver Eagle" Neece f79051b730
Merge branch 'feature/icecast-geo-blocking' into main 2021-08-20 11:37:37 -05:00
Buster "Silver Eagle" Neece 37e4f58e19
Update AzuraForms to handle empty multiselect values. 2021-08-20 11:03:04 -05:00
Vaalyn 8a1818b33d Implement geo-blocking for Icecast 2021-08-14 23:28:24 +02:00
Buster "Silver Eagle" Neece aa6b197cb5
#4483 -- Fix default form population with remote relays. 2021-08-13 10:18:12 -05:00
Buster "Silver Eagle" Neece 75257caee2
Vuetify remote relays. 2021-08-12 08:24:58 -05:00
Buster "Silver Eagle" Neece 6c3931198b
Fixes #3482 -- Show some reports on remote-only stations. 2021-08-10 11:14:09 -05:00
Buster "Silver Eagle" Neece 45515fcf32
Add Matomo analytics support. 2021-08-09 23:50:57 -05:00
Buster "Silver Eagle" Neece b5fc9ad601
Use shared CallableEventManager library. 2021-08-04 21:24:27 -05:00
Buster "Silver Eagle" Neece cf9c1289b6
#4446 -- Add API key to allowed headers. 2021-08-03 19:36:29 -05:00
Buster "Silver Eagle" Neece 7aefbb6d6e
Allow user uploaded intro files for mount points. 2021-08-01 05:00:42 -05:00
Buster "Silver Eagle" Neece 70b2e3dd4e
Remove branding forms. 2021-07-31 20:35:32 -05:00
Buster "Silver Eagle" Neece 7750fa6be8
User-Uploaded Custom Assets (#4437) 2021-07-30 01:20:14 -05:00
Vaalyn 11f1f44cea
Switch message queue from MariaDB to beanstalkd (#4418) 2021-07-21 16:45:22 -05:00
Buster "Silver Eagle" Neece d40b8b9b2b
Move ID3 read/write to its own standalone process. 2021-07-20 16:35:39 -05:00
Buster "Silver Eagle" Neece 5cbacd5df6
System-Wide Strict Types (#4405) 2021-07-19 00:53:45 -05:00
Buster "Silver Eagle" Neece 64b7d83258
Add ability to duplicate ("clone") playlists. 2021-07-14 19:17:22 -05:00
Buster "Silver Eagle" Neece b1d358c924
Clone schedule entries when cloning a station. 2021-07-14 19:06:47 -05:00
Buster "Silver Eagle" Neece 97e373a5c0
Fixes #4394 -- Ensure full Moment library is included in Vue components. 2021-07-11 16:06:56 -05:00
Buster "Silver Eagle" Neece ef7989fcfd
Implement PHP Docker Installer (#4377) 2021-07-08 15:03:54 -05:00
Buster "Silver Eagle" Neece 5c6eb85e35
Make per-request items "request-aware" instead of using DI factories.
DI factories can't be cached as efficiently and incur a performance penalty on every request being handled by the system; using "request-aware" classes that clone themselves for each request solves the same problem in a far more performant way, cutting several ms off of every request.
2021-07-06 06:34:22 -05:00
Buster "Silver Eagle" Neece 9f12e08222
Use older func call method for service configuration. 2021-06-28 11:27:26 -05:00
Buster "Silver Eagle" Neece edb1839cbc
Allow Redis to be disabled in favor of flatfile cache. 2021-06-28 10:03:21 -05:00
Buster "Silver Eagle" Neece 890b811ce5
Create a new "initialize" command that can be used on container startup. 2021-06-28 05:34:19 -05:00
Vaalyn 328caf3987
Add schedule embed widget for embedding the stations playlist schedule view into websites (#4323) 2021-06-20 20:58:02 -05:00
Mitch d812ca3c74
Add information for ShoutCast Premium users. (#4308) 2021-06-19 13:41:49 -05:00
Buster "Silver Eagle" Neece 913d2dfad2
Improve Flow upload handling and podcast media/artwork management. 2021-06-19 13:19:44 -05:00
Buster "Silver Eagle" Neece 35ae44edd5
Fixes #4291 -- Make URLs in station profile prefer browser URL. 2021-06-15 11:54:25 -05:00
Buster "Silver Eagle" Neece bd040c6933
Clean up old Mount classes and unused forms; add advanced switch to new control. 2021-06-14 16:24:27 -05:00
Buster "Silver Eagle" Neece 27b4c240f9
Support both PUT and POST for podcast/episodes for compatibility. 2021-06-14 15:24:15 -05:00
Buster "Silver Eagle" Neece 5da0f4e3cb
Add more API unit tests; fix bugs identified by new tests. 2021-06-12 22:57:10 -05:00
Buster "Silver Eagle" Neece 77c8d56827
Move Mount management to Vue; abstract common EditModal functionality. 2021-06-12 02:04:27 -05:00
Buster "Silver Eagle" Neece db8bc3dbb1
Fixes #4274 -- Add podcast storage location select to station form. 2021-06-10 15:32:11 -05:00
Buster "Silver Eagle" Neece 94bdc3acef
Fixes #4262 -- Fix bugs with and expand functionality of Station Cloning. 2021-06-09 18:28:44 -05:00
Buster "Silver Eagle" Neece 4fad57a1b3
Add service worker for PWA functionality. 2021-06-06 17:31:14 -05:00
Buster "Silver Eagle" Neece b58004b97a
Add PWA app manifest to public player page. 2021-06-06 00:20:04 -05:00
Buster "Silver Eagle" Neece 4fb7f91604
Update Symfony Validator/Serializer component definitions. 2021-05-31 20:50:50 -05:00
Buster "Silver Eagle" Neece 668724fe1a
Implement Doctrine ORM Annotations (#4233) 2021-05-30 13:55:26 -05:00
Vaalyn 1a04f9791f
Implement Podcasting Support
Co-authored-by: Buster "Silver Eagle" Neece <buster@busterneece.com>
Co-authored-by: Mitch <Mitchellfrith1996@gmail.com>
2021-05-24 23:29:07 -05:00
Buster "Silver Eagle" Neece 578408b165
Fixes #4142 -- Fix duplicate route issue. 2021-05-08 13:11:51 -05:00
Buster "Silver Eagle" Neece f59fd8a9ba
#4104 -- Rename on SFTP upload, handle SFTP renames/deletes directly. 2021-05-06 10:08:57 -05:00
Buster "Silver Eagle" Neece f09f5e617a
Switch to CSS media query to avoid unstyled content flash. 2021-05-04 12:32:32 -05:00
Buster "Silver Eagle" Neece 974c9b39bf
Make the various "Overview" reports into API calls and convert page to Vue. 2021-05-03 10:40:21 -05:00
Buster "Silver Eagle" Neece 98b696e06e
#4110 -- Fix Listeners report if using "prefer browser" theme. 2021-05-02 14:41:39 -05:00
Buster "Silver Eagle" Neece d88b296f8b
Fixes #4107, Fixes #4098 -- Fix error with locales in Vue components. 2021-05-01 10:16:05 -05:00
Buster "Silver Eagle" Neece 0a103787e8
Add API endpoint to view all broadcasts for a station. 2021-04-30 08:17:52 -05:00
Buster "Silver Eagle" Neece 1cf0119c29
Simplify notifications; avoid inline JS in main templates. 2021-04-29 18:28:54 -05:00
Buster "Silver Eagle" Neece e5eeb2b631
Make the default theme automatically determined by the browser (if possible). 2021-04-29 07:01:41 -05:00
Buster "Silver Eagle" Neece ca8b0984ec
Stylesheet updates
- Merge dark and light CSS into a single generated CSS file with different body classes
 - Optimize CSS generation for production instances
2021-04-29 04:24:11 -05:00
Buster "Silver Eagle" Neece 2dc41d080a
Switch Settings to be a flat single entity to use EntityManager built-in functions. (#4045) 2021-04-21 16:15:52 -05:00
Buster "Silver Eagle" Neece 8d1d12703d
Revert stacked cache arrangement and avoid SettingsRepo race condition. 2021-04-18 03:26:06 -05:00
Buster "Silver Eagle" Neece d734b8da96
Add profiler helper notifications and optimize cache usage. 2021-04-18 00:03:22 -05:00
Buster "Silver Eagle" Neece fb617bf09f
#4025 -- Once again assign global variable to Vue components. 2021-04-15 22:50:09 -05:00
Buster "Silver Eagle" Neece 8b1c16fa04
Fixes #4008 -- Fix route definitions for public embeds. 2021-04-13 13:02:05 -05:00
Buster "Silver Eagle" Neece 68824c5617
Link to social page with better styling for Twitter. 2021-04-13 01:51:26 -05:00
Buster "Silver Eagle" Neece 6ef01f65fe
Add public player URL to NP API (and Twitter webhook). 2021-04-12 23:37:52 -05:00
Buster "Silver Eagle" Neece 5a5bc0e367
Update NowPlaying library. 2021-04-11 17:33:51 -05:00
Buster "Silver Eagle" Neece b2ae1da573
#3963 -- Allow disabling remote ISRC fetching. 2021-04-06 14:36:07 -05:00
Mitch 168327fdc8
Update backup_run.php (#3976) 2021-04-05 20:02:01 -05:00
Buster "Silver Eagle" Neece 3419e58d83
Make daily average/unique listeners start zoomed in (and then be pannable for older data). 2021-03-31 00:36:35 -05:00
Buster "Silver Eagle" Neece 08ba636bbe
Add Libravatar, make avatar services configurable. 2021-03-24 22:21:53 -05:00
Buster "Silver Eagle" Neece da50621f91
Revert font changes; implement play/stop change in old Material font. 2021-03-21 10:26:23 -05:00
Buster "Silver Eagle" Neece 06384b7f4a
Create `/api/frontend/account/me` endpoints. 2021-03-21 03:30:48 -05:00
Buster "Silver Eagle" Neece 68b971a571
Icon changes
- Switch to two-tone Material icon library
 - Implement shared Vue common icon component
 - Switch instances of "pause" to "stop"
2021-03-19 08:30:50 -05:00
Buster "Silver Eagle" Neece d7c51ea00f
Add history embed and simplify vue rendering in templates. 2021-03-17 02:20:12 -05:00
Buster "Silver Eagle" Neece a79e00c1c4
Vue component reorganization
Put components into folders related to their section of the site (with the same paths as the controllers/route names).
2021-03-16 07:25:29 -05:00
Buster "Silver Eagle" Neece 91c73de176
Add API endpoint and frontend modal to view playlist's AutoDJ queue. 2021-03-08 07:20:54 -06:00
Buster "Silver Eagle" Neece f0c91ba563
Split playlist actions into standalone files. 2021-03-07 02:00:37 -06:00
Buster "Silver Eagle" Neece ace826dae5
Add e-mail webhook. 2021-03-06 03:27:55 -06:00
Buster "Silver Eagle" Neece 34b075ba50
Add new webhook and API response for online/offline stations. 2021-02-28 17:28:17 -06:00
Buster "Silver Eagle" Neece 489511ba4a
Improve usability of zxcvbn password strength meter. 2021-02-27 21:27:40 -06:00
Buster "Silver Eagle" Neece c24f5dfc69
Implement SMTP Mail Delivery and Self-Service Password Reset (#3848) 2021-02-27 20:50:45 -06:00
Buster "Silver Eagle" Neece 72cc75b8c6
Improve verbosity of sync task logging. 2021-02-21 22:19:02 -06:00
Buster "Silver Eagle" Neece ec2ec899d8
Update links across application to point to new documentation. 2021-02-15 15:36:34 -06:00
Buster "Silver Eagle" Neece 85e9905af8
Make Station Queue view a Vue component. 2021-02-09 13:57:25 -06:00
Buster "Silver Eagle" Neece 0c390bd13d
#3733 -- Simplify webhook dispatch and add rate-limiting. 2021-02-04 15:47:08 -06:00
Buster "Silver Eagle" Neece cabeeb5cc0
Move "Enable Advanced Settings" to DB and make it actually work. 2021-02-02 22:17:57 -06:00
Buster "Silver Eagle" Neece f134d45cf0
Listener tracking improvements
- Add the mount/remote that a listener is connected to, and show it in reports
 - Create a new Google Analytics webhook that will post live listeners to GA using the measurement protocol.
2021-01-27 11:42:54 -06:00
Buster "Silver Eagle" Neece 64423a7097
Unify env var names on Ansible installs with their Docker counterparts. 2021-01-21 13:32:47 -06:00
Buster "Silver Eagle" Neece 4ccddeb5f3
Refactor adapters; move some static functions to be non-static and implement a better change tracking system. 2021-01-19 11:52:45 -06:00
Buster "Silver Eagle" Neece 686f480d7c
Add Support for Remote Album Art on APIs and Media Uploads (#3680) 2021-01-18 23:44:15 -06:00
Buster "Silver Eagle" Neece db6a9043f9
Add new "azuracast:debug:optimize-tables" CLI command. 2021-01-13 02:00:39 -06:00
Buster "Silver Eagle" Neece 8f4ba82c58
Add fancybox back to media manager. 2021-01-11 20:57:03 -06:00
Buster "Silver Eagle" Neece 7441d13472
Refactor Acl to be part of the request lifecycle. 2021-01-11 05:08:06 -06:00
Buster "Silver Eagle" Neece 7862c6d515
Dashboard Overhaul (#3651) 2021-01-10 20:41:58 -06:00
Buster "Silver Eagle" Neece 991465d14c
Allow customization of Redis env vars for advanced configurations. 2021-01-05 05:02:00 -06:00
Buster "Silver Eagle" Neece 0e6910ba17
Allow hiding the "Download" button on "On-Demand" media page. 2021-01-05 00:43:01 -06:00
Buster "Silver Eagle" Neece a88b9c6688
Media Manager Improvements
- Fold "Duplicates" report into the main media manager, allowing it to see custom fields, album art, etc.
 - Create a new "Unprocessable media" report that also uses the main media browser
 - Add a new "Reprocess" batch option that can be run on any media directly from the web UI
 - Improve how hashes are detected in the media manager
2021-01-03 00:23:07 -06:00
Mitch 93215a0275
Change wording to include listener metadata (#3619) 2021-01-02 13:59:53 -06:00
Buster "Silver Eagle" Neece e4c887fd3a
Improve logging on sync tasks. 2020-12-22 19:52:50 -06:00
Buster "Silver Eagle" Neece bdc6dcc22d
Make unprocessable media downloadable and show processing errors. 2020-12-22 15:40:33 -06:00
Buster "Silver Eagle" Neece a12b655cb4
Log console exceptions and nonzero exit codes. 2020-12-18 23:07:28 -06:00
Buster "Silver Eagle" Neece 44a3ef15e6
Use Intervention image manager for images. 2020-12-18 20:39:47 -06:00
Buster "Silver Eagle" Neece cc067943ac
Remove external Rotate library and rotate backups for all filesystems. 2020-12-18 17:49:00 -06:00
Buster "Silver Eagle" Neece 8f29382b9e
Move log level to Environment; update changelog. 2020-12-15 07:44:20 -06:00
Buster "Silver Eagle" Neece fc97e39d0a
Update composer deps; handle logging at Supervisor library level. 2020-12-14 12:03:50 -06:00
Buster "Silver Eagle" Neece 05d5a95090
Switch to Symfony Cache for PSR-6/16 implementation. 2020-12-12 17:45:34 -06:00
Buster "Silver Eagle" Neece 4aa1902dae
#3525 -- Rework settings to be fetched on-demand to avoid collisions. 2020-12-10 16:46:03 -06:00
Buster "Silver Eagle" Neece 1604799048
#3526 -- Fix webhook Environment error. 2020-12-09 02:02:40 -06:00
Buster "Silver Eagle" Neece 788370d0c0
Switch to Doctrine explicit change tracking for performance.
(We've been writing code for years as though this setting were enabled, and yet it's not the default setting, so we were losing performance on large operations for no good reason.)
2020-12-06 14:06:15 -06:00
Buster "Silver Eagle" Neece 97e1fab14e
Add message queue length and per-queue clear buttons to Debugger page. 2020-12-06 11:23:40 -06:00
Buster "Silver Eagle" Neece 0a8c41542d
Make environment immutable and strictly use function calls. 2020-12-06 05:57:39 -06:00
Buster "Silver Eagle" Neece bf1e4f2591
Simplify Environment class and dependencies. 2020-12-06 01:55:25 -06:00
Buster "Silver Eagle" Neece 2eac4d3cb4
Make sync tasks a long-running logged process like backups. 2020-12-05 13:34:13 -06:00
Buster "Silver Eagle" Neece e7fee785a0
Entity Manager cleanup tasks.
- Make the "refresh" method of the decorated EM a part of a new Reloadable interface and add "refreshAsReference"
 - Make all classes use the "IDENTITY" generatedvalue strategy and have nullable IDs
2020-12-05 01:39:05 -06:00
Buster "Silver Eagle" Neece 969789aa05
Code style fixes. 2020-12-04 06:42:15 -06:00
Buster "Silver Eagle" Neece 9e011647c3
More "settings" to "environment" renames. 2020-12-04 06:33:52 -06:00
Buster "Silver Eagle" Neece aed854a17c
Settings overhaul, part 2
Make Settings a controlled entity.
2020-12-04 02:41:55 -06:00
Buster "Silver Eagle" Neece 5727f12b6f
Settings refactor part 1: Rename App\Settings to App\Environment.
Previously AzuraCast had two very similar `$settings` variables, one that was from environment and the other from the database. This refactor distinguishes the two much more clearly.
2020-12-02 22:18:06 -06:00
Buster "Silver Eagle" Neece 7c268f3a88
#3215 -- Implement "remember me" checkbox on login. 2020-11-30 05:32:52 -06:00
Buster "Silver Eagle" Neece a0528ce71c
Refactor sync task class names. 2020-11-30 03:55:30 -06:00
Buster "Silver Eagle" Neece 9f8c808859
#2981 -- Make playlist export path have a period for legacy purposes. 2020-11-28 19:27:37 -06:00
Buster "Silver Eagle" Neece 08f948e96b
Add support for Simplified Chinese. 2020-11-25 02:00:20 -06:00
Buster "Silver Eagle" Neece 13b66eca7e
Fix "Advanced" saying "Undefined", make it translatable too. 2020-11-17 20:28:44 -06:00
Buster "Silver Eagle" Neece 8c730b3d41
Remove Chosen JS library, replace with Select2. 2020-11-17 19:13:08 -06:00
Buster "Silver Eagle" Neece 8ee4d3864b
Improve lock management and always clear locks when manually running sync. 2020-11-14 20:47:38 -06:00
Buster "Silver Eagle" Neece 62ed3aa51d
Supply individual worker names for each queue worker. 2020-11-14 18:06:34 -06:00
Buster "Silver Eagle" Neece 76a14ba638
Move API keys to other admin menu. 2020-11-14 15:45:39 -06:00
Buster "Silver Eagle" Neece 582b8faef9
Warn about sync tasks not having been run recently.
Also includes a minor rewrite of the EventDispatcher, and a restructure of notification checks into standalone classes.
2020-11-12 15:30:02 -06:00
Buster "Silver Eagle" Neece 6de636f475
Unified Filesystem Overhaul (#3341)
This migration adds "Storage Locations", managed via a new System Administration panel, that can hold Station Media data, live broadcast recordings, and backups. These storage locations can be local (as they are by default) or remote via any S3-compatible service.
2020-11-09 21:06:48 -06:00
Buster "Silver Eagle" Neece f4ee44199c
Revert commit and set environment to "Testing". 2020-10-25 05:58:06 -05:00
Buster "Silver Eagle" Neece 6711feeeee
Move lazy-loading of cache interface to downstream services. 2020-10-25 05:48:50 -05:00
Buster "Silver Eagle" Neece 600988be4f
Lazy-load the Redis cache because locale commands are called via regular PHP. 2020-10-25 05:31:47 -05:00
Buster "Silver Eagle" Neece 37c54e4937
Cache/Config changes for testing. 2020-10-25 04:53:52 -05:00
Buster "Silver Eagle" Neece b4698ec833
Disable session cache on CLI commands too. 2020-10-25 02:28:21 -05:00
Buster "Silver Eagle" Neece 4c7fe5c1ce
#3298 -- Properly flush Redis cache during SFTP upload. 2020-10-25 01:46:41 -05:00
Buster "Silver Eagle" Neece 6c69e6fe52
Better line update channels up with update notifications. 2020-10-24 10:26:55 -05:00
Buster "Silver Eagle" Neece bc7773a2f1
#3312 -- Remove the "Administer Users"/"Permissions" permissions. 2020-10-22 06:16:19 -05:00