Commit Graph

629 Commits

Author SHA1 Message Date
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
Vaalyn 7fa7ca781d
Make ACL permissions extendable by plugins via event dispatching (#3309) 2020-10-22 02:18:05 -05:00
Buster "Silver Eagle" Neece 80192a31d5
Code style fixes for metadata manager adapter. 2020-10-21 05:36:51 -05:00
Buster "Silver Eagle" Neece 9e4bc0e51d
Implement abstract Metadata read/write interfaces. 2020-10-21 05:04:58 -05:00
Nick Robillard 06808d01f8
Remove "difficult to map" options from custom fields auto assignable id3v2 fields select (#3293) 2020-10-19 06:00:00 -05:00
Vaalyn 415c24ca8f
Add possibility to register message queue message handlers for plugins (#3288) 2020-10-18 00:56:44 -05:00
Buster "Silver Eagle" Neece 909ea2b786
Make the Station Profile a standalone compiled Vue component. 2020-10-16 04:08:58 -05:00
Buster "Silver Eagle" Neece fb4f7de2df
Make the public radio player a Vue component. 2020-10-15 05:01:32 -05:00
Buster "Silver Eagle" Neece f822d83cda
Remove non-functional Timezone utility class. 2020-10-09 16:31:48 -05:00
Buster "Silver Eagle" Neece c65e686798
Add initial support for Greek and Swedish localizations. 2020-10-09 04:38:17 -05:00
Buster "Silver Eagle" Neece 6458ac4953
#3219 -- Add dark theme for sweetalerts. 2020-10-07 22:35:54 -05:00
Buster "Silver Eagle" Neece a6ec36b21c
Analytics Overhaul and InfluxDB Removal (#3243)
- Make the Analytics table in the database the primary one for handling statistics for all stations, removing the InfluxDB dependency entirely
 - Expand the Analytics table to also track unique listeners per hour and day
 - Properly clean up the Listeners table according to each installation's history retention settings
 - Implement a cute new animated "waiting for services" startup message that avoids previous wait messages that looked more like errors
2020-10-07 18:50:30 -05:00
Limon Monte daf6e09bb9
Switch from SweetAlert to SweetAlert2 (#3239) 2020-10-07 03:09:01 -05:00
Buster "Silver Eagle" Neece 1a1ef5f013
Revert service configuration change. 2020-10-05 02:07:36 -05:00
Buster "Silver Eagle" Neece c81ff62b5c
Remove the `Song` entity and restructure dependent tables accordingly (#3231)
* Song database and entity overhaul, part 1.
* Remove Songs table from a number of qeries and reports.
* Fix references to Songs table; rewrite StationMedia processing.
* Remove song reference in queue page.
* Allow custom log level via environment variable.
2020-10-04 17:35:41 -05:00
Vaalyn adec893a93
Add possibility to add migrations from plugins via event dispatcher (#3168)
* Add possibility to add migrations from plugins via event dispatcher

* Add possibility to add Doctrine mapping classes paths from plugins via event dispatcher
2020-09-30 10:39:22 -05:00
Buster "Silver Eagle" Neece 7e4d572060
#3220 -- Bump log level for production instances. 2020-09-29 22:57:49 -05:00
Buster "Silver Eagle" Neece 949ac7940a
#3203 -- Clean up album art and waveforms (with an added sync check). 2020-09-29 11:45:50 -05:00
Buster "Silver Eagle" Neece a2c0637386
Overhaul MessageQueue and switch back to Redis. 2020-09-26 18:05:33 -05:00
Buster "Silver Eagle" Neece 7bac35b2ff
Switch to new Symfony Lock component for our mutex locks. 2020-09-26 12:50:47 -05:00
Buster "Silver Eagle" Neece ca38bea82b
Add clear-cache and clear-queue commands to debugger. 2020-09-22 15:47:46 -05:00
Buster "Silver Eagle" Neece 60704898f2
Restructure CLI commands and add message queue management commands. 2020-09-21 09:06:24 -05:00
Buster "Silver Eagle" Neece a69c802a78
Make Sync (cron) tasks an event that plugins can attach to. 2020-09-20 07:07:09 -05:00
Buster "Silver Eagle" Neece 18daed36b0
#3042 -- Update Nowplaying library to apply fixes. 2020-09-16 06:56:25 -05:00
Buster "Silver Eagle" Neece 0de15ea673
#3096 -- Extend Doctrine redeliver timeout. 2020-09-14 19:14:13 -05:00
Buster "Silver Eagle" Neece c54836726f
#3170 -- Fix play icon switching for all files on the media manager. 2020-09-13 22:26:26 -05:00
Vaalyn 63a2aeab26
Add configurable time range for duplicate prevention (#3172)
* Add configurable time range for duplicate prevention

* Add missing belongsTo to duplicate prevention range setting

* Fix bug in calculation of least played song when duplicate can't be prevented by taking history timestamp_start into account
2020-09-13 19:03:04 -05:00
Buster "Silver Eagle" Neece 9d764ae9b5
(Ansible) set table length to avoid metadata storage error. 2020-09-06 16:46:27 -05:00
Buster "Silver Eagle" Neece a5a0149d26
Implement lazy-loading service locator for Webhook and Sync locators. 2020-08-28 05:32:33 -05:00
Buster "Silver Eagle" Neece 93ff68881f
Webhook and Sync Task Refactor
Moving service locator dependencies to their own Collections and make webhooks dispatch via MessageQueue messages.
2020-08-28 02:04:23 -05:00
Buster "Silver Eagle" Neece 23f2172488
Scheduler/StationQueue Rework (#3087)
Create a new "StationQueue" entity that contains the upcoming song queue, and split the important AutoDJ functionality across multiple classes (Annotations, Queue and Scheduler).
2020-08-16 09:54:01 -05:00
Buster "Silver Eagle" Neece 0889916194
Better error handling through wrapping exceptions with richer requests. 2020-08-10 02:46:09 -05:00
Buster "Silver Eagle" Neece 51a2292803
Implement a custom crossfade function for live streams. 2020-08-02 12:32:55 -05:00
Buster "Silver Eagle" Neece ffa6d6b4fc
Auto-load most Vue component deps from Webpack manifest. 2020-07-15 03:00:17 -05:00
Buster "Silver Eagle" Neece 989ef42b49
Add theme class to body, update Codemirror styling. 2020-07-12 03:57:03 -05:00
Buster "Silver Eagle" Neece f3f845cf1a
#3020 -- Switch to MariaDB-based message queue. 2020-07-11 00:22:02 -05:00
Buster "Silver Eagle" Neece 6f66ff072b
Make Auth and Customization PSR-7 lifecycle friendly. 2020-07-09 23:15:27 -05:00
Buster "Silver Eagle" Neece 16ce83be51
Remove unused code. 2020-07-08 19:30:58 -05:00
Buster "Silver Eagle" Neece 2abb8bf623
Routine code cleanup. 2020-07-08 02:03:50 -05:00
Buster "Silver Eagle" Neece df7053e3f7
#3014 -- Update log level to string on GuzzleHTTP library. 2020-07-06 01:47:34 -05:00
Buster "Silver Eagle" Neece 26088a36ba
Move to Guzzle 7.x for PSR-18-compatible client. 2020-07-05 21:36:50 -05:00
Buster "Silver Eagle" Neece 62763250ca
Remove Sentry, simplify error handling.
Developer's note: the Sentry team has been very supportive of open-source and is good people! We simply don't use the library enough on our end to justify its dependencies in our codebase.
2020-07-04 11:08:53 -05:00
Buster "Silver Eagle" Neece 0adda37403
Incorporate new NowPlaying library
- Move much of AzuraCast's merging and client integration into the library itself
 - The library now uses typed properties on a return object for much more reliable hinting
 - Update both this library and SupervisorPHP to use PSR-17 and PSR-18 standardized factories
2020-07-03 15:24:04 -05:00
Buster "Silver Eagle" Neece b96d8dbaac
Update SupervisorPHP version to 4.x alpha branch. 2020-07-01 19:26:26 -05:00
Buster "Silver Eagle" Neece db2ba3f1ad
Finish migration to Symfony Messenger from Bernard. 2020-06-28 18:00:00 -05:00
Buster "Silver Eagle" Neece 9efa5a651e
Replace Bernard message queue with Symfony Messenger 5 2020-06-28 11:29:22 -05:00
Buster "Silver Eagle" Neece 4bcfad3eb5
Updates preparing for Doctrine 3.0
- Switch to EntityManagerInterface for EM uses
 - Wrap EntityManager in close-resilient wrapper
 - Close/clear/reopen EM with every request
 - Rework tests to be em->clear() resilient.
2020-06-26 15:22:53 -05:00
Buster "Silver Eagle" Neece 0dea2de081
Update to Doctrine Migrations 3.x. 2020-06-25 03:47:49 -05:00
Buster "Silver Eagle" Neece 19bf99d836
Set default value for recording format. 2020-06-24 00:47:18 -05:00
Buster "Silver Eagle" Neece 3f162d484a
#2957 -- Use global "App.lang" for default translated strings. 2020-06-21 11:30:37 -05:00
Buster "Silver Eagle" Neece 903ffd7e63
Rework webpack building to be faster and reduce common load times. 2020-06-17 05:44:59 -05:00
Buster "Silver Eagle" Neece 6a335f4537
Minor refactoring; rename UploadAction to FlowUploadAction for clarity. 2020-06-16 05:43:31 -05:00
Buster "Silver Eagle" Neece 94640dbbb8
Remove "advanced" status on some essential fields. 2020-06-03 04:25:10 -05:00
Buster "Silver Eagle" Neece 0069df6d2d
Disable certain dangerous "advanced" features by default in new installs.
Some functionality of AzuraCast has always been intended for "Power Users", but seemingly no amount of warnings or labels will prevent users from discovering these features, misusing them, and either burdening our support channels or declaring AzuraCast to be "broken". With this update, new installations have some of these most dangerous settings (manual port assignments, manual directory selection, custom LS/Icecast config, etc.) disabled. They can easily be re-enabled by editing "azuracast.env" and turning them on, and will remain available for all previous users by default.
2020-05-27 02:36:30 -05:00
Buster "Silver Eagle" Neece 1c87b48bdb
#2834 -- Add CLI command to list user accounts.
Can be invoked by running CLI with "azuracast:account:list".
2020-05-26 02:38:18 -05:00
Buster "Silver Eagle" Neece f93b150d54
#2860 -- Make Queue display page share permissions of queue API calls. 2020-05-20 18:41:24 -05:00
Buster "Silver Eagle" Neece bd6d3203b1
Add On-Demand Streaming/Download Support (#2836)
This branch represents the initial earliest commit of a new option for radio stations that also want to make a portion of their media library available to the public (such as podcast episodes, royalty-free music, etc.) in an on-demand fashion.

Note: because of royalty restrictions with most radio stations, this feature is turned OFF by default on all stations, and even when enabled, station administrators must select each individual playlist that will contain on-demand available media.
2020-05-15 05:13:47 -05:00
Buster "Silver Eagle" Neece 769de19d00
Big Visual Waveform Editor Overhaul
- Refactor Flysystem to use constants instead of magic strings for URL prefixes
 - Add audiowaveform installation to both Docker and Ansible installations
 - Use audiowaveform to generate waveforms saved to disk for every track
 - Load these waveforms when visiting the visual waveform editor page instead of using the browser to calculate them
 - Add volume control and use app-wide storage of default volume
 - Remove "beta" tag from waveform editor header
2020-05-11 19:32:41 -05:00
Buster "Silver Eagle" Neece 9062903d6d
#2814 -- Slight refactor to address some router issues. 2020-05-08 19:40:34 -05:00
Buster "Silver Eagle" Neece 78c762ee4e
#2702 -- Use full request URI (sans path) for default base URL. 2020-05-05 20:42:14 -05:00
Buster "Silver Eagle" Neece 5203e8db08
#2654 -- Add InfluxDB debug CLI command. 2020-05-04 23:47:45 -05:00
Buster "Silver Eagle" Neece a961481e85
#2249 -- Add ability to update Now Playing metadata via API call. 2020-05-03 21:48:26 -05:00
Buster "Silver Eagle" Neece 945b4a83df
Implement per-station default album artwork. 2020-05-02 20:28:08 -05:00
Buster "Silver Eagle" Neece 4804e2f710
Make Backend and Frontend config collections, avoiding "magic strings". 2020-05-02 02:58:59 -05:00
Buster "Silver Eagle" Neece 382dbef1a1
#2707 -- Run the queue build sync task more often. 2020-04-21 01:59:15 -05:00
Buster "Silver Eagle" Neece 0fb3c8e2eb
Fix URLs in webhook tests; force HTTPS on thumbnail/image URLs. 2020-04-20 22:57:57 -05:00
Buster "Silver Eagle" Neece 2f173fca53
Restrict the permission needed to manage LS configuration. 2020-04-19 20:53:34 -05:00
Buster "Silver Eagle" Neece e82212629a
Make AutoDJ queue length per-station configurable. 2020-04-15 23:24:53 -05:00
Buster "Silver Eagle" Neece f1040f7fdd
Initial refactor to separate queue management from Now Playing process. 2020-04-15 00:23:11 -05:00
Buster "Silver Eagle" Neece 767fb5dd31
Add confirmation step to the "Restart to Apply Changes" menu items. 2020-04-13 01:49:59 -05:00
Buster "Silver Eagle" Neece 51f82d1ceb
Add back ability to import playlist file from existing M3U/PLS file. 2020-04-12 02:23:45 -05:00
Buster "Silver Eagle" Neece 135c9f21dd
Add "reshuffle playlist" button to dropdown for shuffle-type playlists. 2020-04-09 10:13:49 -05:00
Buster "Silver Eagle" Neece 66ded0a693
Move route groups to separate files to ease maintenance. 2020-04-07 23:19:24 -05:00
Buster "Silver Eagle" Neece 5903387eb9
Add button to clear all pending requests. 2020-04-06 23:54:28 -05:00
Buster "Silver Eagle" Neece 07ac05f990
Switch from Redis Mutex to a simpler local Lock mechanism. 2020-04-04 00:48:27 -05:00
Buster "Silver Eagle" Neece c59fca5933
Broaden permissions on profile API endpoint. 2020-04-02 17:13:26 -05:00
Buster "Silver Eagle" Neece f1025d52f7
Unify all station profile API calls into a single response. 2020-04-02 06:30:00 -05:00
Buster "Silver Eagle" Neece 66d55d33f1
Add an uptime wait function during the setup process. 2020-03-29 23:50:40 -05:00
Buster "Silver Eagle" Neece c851f92f27
Split Liquidsoap service control and configuration writer components. 2020-03-19 14:41:22 -05:00