4
0
mirror of https://github.com/AzuraCast/AzuraCast.git synced 2024-06-22 08:57:10 +00:00
Commit Graph

774 Commits

Author SHA1 Message Date
Buster "Silver Eagle" Neece
fcdc50c0a1
Respect "Prefer Browser URL" on request list API endpoint. 2022-01-19 21:29:16 -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
b7a7d8e2a1
Fixes #4979 -- Prevent editing Super Admin and add test suite. 2022-01-11 22:51:15 -06:00
Buster "Silver Eagle" Neece
54dc25944d
Add link directly to listener report from listener count on dashboard. 2022-01-11 02:43:19 -06:00
Buster "Silver Eagle" Neece
37c3df2494
Use refs for common API responses. 2022-01-10 22:31:24 -06:00
Vaalyn
f02d276c8f Fix enum usage in listener auth for geoblocking 2022-01-09 12:30:48 +01:00
Buster "Silver Eagle" Neece
3bd46395b5
Improve default path sort. 2022-01-07 18:03:24 -06:00
Buster "Silver Eagle" Neece
df4dc5f53a
Optimize wildcard (* or %) searches. 2022-01-07 16:24:17 -06:00
Buster "Silver Eagle" Neece
b23f28ab2a
Merge commit 'e6397a893da04c0a28c2306d39233b8a072e54e0' 2022-01-07 02:26:40 -06:00
Buster "Silver Eagle" Neece
abaa4a0985
Optimize task logging; update AutoDJ queue duplicate prevention. 2022-01-05 20:29: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
09e3c57b3c
Slightly restructure AutoDJ classes; use message queue to avoid blocking LS. 2021-12-29 23:43:34 -06:00
Buster "Silver Eagle" Neece
6838ddff16
Add basic docs for art/media API endpoints. 2021-12-29 16:47:35 -06:00
Buster "Silver Eagle" Neece
38cd3945e2
Use constants in API definitions; update Swagger UI. 2021-12-29 15:19:34 -06:00
Buster "Silver Eagle" Neece
cc6753ae81
Move main controller API annotations into Attributes. 2021-12-28 23:36:30 -06:00
Buster "Silver Eagle" Neece
f7db3ea13f
Fixes #4915 -- Improve artwork handling for existing podcast/episodes. 2021-12-24 20:11:22 -06:00
Buster "Silver Eagle" Neece
82c308b207
Add search, sort and pagination to lots of pages. 2021-12-20 12:17:51 -06:00
hcbd
fdc714b088
Feature: Playbutton in playlist re-order modal (#4894)
Co-authored-by: Buster "Silver Eagle" Neece <buster@busterneece.com>
2021-12-18 05:42:59 -06:00
Buster "Silver Eagle" Neece
2800e8ae32
Fix dependencies on JetBrains attributes. 2021-12-15 12:13:33 -06:00
Buster "Silver Eagle" Neece
c38789b5f4
Add restart check to Liquidsoap config. 2021-12-15 07:56:17 -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
fe3dd94e75
PhpStan fixes. 2021-12-12 09:18:07 -06:00
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
03c54e0081
Improve matching when importing playlists. 2021-12-08 04:10:50 -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
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
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
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
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
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
a7fc961679
Move detailed info into StationQueueDetailed. 2021-11-14 05:14:53 -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
Buster "Silver Eagle" Neece
ab44e41d23
Remove legacy Liquidsoap 1.0 additions to Skip functionality. 2021-11-11 19:30:35 -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
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
Buster "Silver Eagle" Neece
97def31814
Mount/remote advanced feature cleanup. 2021-11-05 17:45:45 -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
95b021910f
Finish impl of Vue backup. 2021-11-04 11:19:39 -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
886fdcf187
Minor tweaks to Avatar component. 2021-11-03 14:24:19 -05:00
Buster "Silver Eagle" Neece
79b1bc5c4a
PHPStan upgrade and new baseline.
Changelogs summary:

 - phpstan/phpstan updated from 0.12.96 to 1.0.1 major
   See changes: https://github.com/phpstan/phpstan/compare/0.12.96...1.0.1
   Release notes: https://github.com/phpstan/phpstan/releases/tag/1.0.1

 - phpstan/phpstan-doctrine updated from 0.12.44 to 1.0.1 major
   See changes: https://github.com/phpstan/phpstan-doctrine/compare/0.12.44...1.0.1
   Release notes: https://github.com/phpstan/phpstan-doctrine/releases/tag/1.0.1
2021-11-02 23:12:02 -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
91a744b244
Use ReloadableEntityManager across API controllers. 2021-10-29 01:16:26 -05:00
Buster "Silver Eagle" Neece
f1bd2f61f8
Tweak admin Users API. 2021-10-27 19:50:01 -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
Buster "Silver Eagle" Neece
c6adbfa17c
Fixes #4678 -- Mark setup as complete when updating general settings via API. 2021-10-14 00:56:58 -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
6fb86c80e9
Make Flow UploadedFile implement PSR UploadedFileInterface. 2021-10-13 09:43:22 -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
d696eeda7c
Move SFTP user form to Vue. 2021-10-08 06:30:03 -05:00
Buster "Silver Eagle" Neece
6d7b2173bb
Make a special Vue render function for typed positional arguments. 2021-10-08 03:49:41 -05:00
Buster "Silver Eagle" Neece
18854b0542
Move Dashboard into common vue render. 2021-10-07 23:36:50 -05:00
Buster "Silver Eagle" Neece
3865224d31
Move several components fully into Vue renders. 2021-10-07 23:13:21 -05:00
Buster "Silver Eagle" Neece
798bfd1eb2
Feature/vue webhooks (#4655) 2021-10-06 22:00:53 -05:00
Buster "Silver Eagle" Neece
85f5b9c7b5
Minor type fix found by Vue dev mode. 2021-10-01 20:00:13 -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
9c72079c08
Extend cache timeline on calendar API returns. 2021-09-23 20:13:45 -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
09b5e1d06d
Add needs-restart/has-started to profile API info. 2021-09-21 21:56:29 -05:00
Buster "Silver Eagle" Neece
7931fac251
#4601 -- Avoid a single flush removing/adding the same records. 2021-09-21 07:44:07 -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
aeb230e0bd
Make media manager solely Vue; update progress bar CSS. 2021-09-20 00:18:02 -05:00
Buster "Silver Eagle" Neece
1d13519ecd
Fixes #4590 -- Use installation base URL for its own API docs. 2021-09-19 12:44:31 -05:00
Buster "Silver Eagle" Neece
76e1c62e13
Fixes #4584 -- Update charts to be compatible with ChartJS 3.x 2021-09-19 12:30:22 -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
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
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
Buster "Silver Eagle" Neece
a35e8bf27d
Standardize the Status responses for APIs. 2021-09-05 17:41:10 -05:00
Buster "Silver Eagle" Neece
f6c1fbf79c
Update OpenAPI spec, use fixed example timestamp. 2021-09-04 18:27:46 -05:00
Buster "Silver Eagle" Neece
2c25b0bc9e
Fixes #4517 -- Remove redundant backup result column. 2021-08-27 22:49:31 -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
02c653a36a
#4493 -- Broaden accepted arg types for Station API calls. 2021-08-19 22:22:21 -05:00
Buster "Silver Eagle" Neece
2cc4d131b9
Fixes #4493 -- Allow string/int on all Station APIs. 2021-08-19 10:20:36 -05:00
Vaalyn
8a1818b33d Implement geo-blocking for Icecast 2021-08-14 23:28:24 +02:00
Buster "Silver Eagle" Neece
bc755e088d
Fixes #4487 -- Allow empty search phrase on history API. 2021-08-14 09:45:00 -05:00
Buster "Silver Eagle" Neece
1d7ed8038a
Code style and test updates. 2021-08-12 08:30:59 -05:00
Buster "Silver Eagle" Neece
75257caee2
Vuetify remote relays. 2021-08-12 08:24:58 -05:00
Buster "Silver Eagle" Neece
465d9eaab9
Move NowPlaying API entries into subfolder. 2021-08-11 10:31:02 -05:00
Vaalyn
7d29d78ff7
Add author and email fields to podcasts (#4451) 2021-08-04 22:50:32 -05:00
Buster "Silver Eagle" Neece
b5fc9ad601
Use shared CallableEventManager library. 2021-08-04 21:24:27 -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
7750fa6be8
User-Uploaded Custom Assets (#4437) 2021-07-30 01:20:14 -05:00
Buster "Silver Eagle" Neece
b721ab28e8
Minor type safety fix in ScheduleController. 2021-07-25 16:09:07 -05:00
Vaalyn
11f1f44cea
Switch message queue from MariaDB to beanstalkd (#4418) 2021-07-21 16:45:22 -05:00
Vaalyn
e509cde831
Fix type error in OnDemand API endpoint (#4423) 2021-07-21 16:44:52 -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
ef4bcbc2aa
Generate new forms on each request.
Contrary to the previous commit removing factory calls from per-every-request functionality, the isolated functionality of EntityForm classes and their tendency to modify the form on a per-request basis necessitates that, for consistent testing, they DO use the factoryinterface instead of using a singleton class.
2021-07-06 06:36:09 -05:00
Vaalyn
dcde7ff089
Update zircote/swagger-php and fix openapi errors (#4363) 2021-06-28 20:03:59 -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
Buster "Silver Eagle" Neece
0899505caa
Fix double-stacking of file extension in podcast episode download. 2021-06-20 18:13:14 -05:00
Buster "Silver Eagle" Neece
63094172d1
Fix Flow processing errors; make Flow uploads a common Vue component. 2021-06-20 02:21:46 -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
f1d33f4104
Add more functional and unit tests. 2021-06-13 22:30:17 -05:00
Buster "Silver Eagle" Neece
a35b4569ad
#4279 -- Switch to a "read-only" iterator for performance boost. 2021-06-13 02:33:07 -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
a320c1a6a0
More code cleanup. 2021-06-09 22:22:13 -05:00
Buster "Silver Eagle" Neece
3f23efa076
PHP code style fixes. 2021-06-08 01:40:49 -05:00
Buster "Silver Eagle" Neece
722b245e91
Minor PWA changes. 2021-06-06 21:08:42 -05:00
Buster "Silver Eagle" Neece
fbad54955a
Prevent the PWA serviceworker from caching Now Playing requests. 2021-06-06 18:22:29 -05:00
Buster "Silver Eagle" Neece
d7b269dfe6
Minor codestyle fix. 2021-06-06 17:42:42 -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
9cb52f7b30
Add music category to PWA App Manifest. 2021-06-06 00:49:55 -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
2b8a9849c0
Fixes #4250 -- Fix "getter" function name on Backup Enabled setting. 2021-06-05 00:57:57 -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
2f0b109c8f
#4161 -- Minor tweak to "best and worst" report. 2021-05-12 09:31:09 -05:00
Buster "Silver Eagle" Neece
52719571ee
Minor change: switch from uasort to usort. 2021-05-11 16:16:49 -05:00
Buster "Silver Eagle" Neece
338f8af274
File list optimizations and code separation. 2021-05-11 16:04:03 -05:00
Buster "Silver Eagle" Neece
f83a9310e9
#4139 -- Optimize router handling to avoid hammering the DB. 2021-05-11 09:05:23 -05:00
Buster "Silver Eagle" Neece
10b665f821
Fixes #4143 -- Sort backups by modified time descending. 2021-05-08 13:24:19 -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
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
0a103787e8
Add API endpoint to view all broadcasts for a station. 2021-04-30 08:17:52 -05:00
Buster "Silver Eagle" Neece
9d3f566021
Redirect "Forgot Password" page to login, not home. 2021-04-30 00:08:01 -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
f5425e3987
Fixes #4079, Fixes #3841 -- Show all playlists in media manager even when in "view playlist contents" mode. 2021-04-26 22:10:34 -05:00
Buster "Silver Eagle" Neece
4cd4abe20e
Rewrite queue to prevent blocking on all regular sync tasks. 2021-04-26 11:37:20 -05:00
Buster "Silver Eagle" Neece
26c8b534ed
#3914 -- Handle empty/false disk space values. 2021-04-23 23:43:23 -05:00
Buster "Silver Eagle" Neece
e893a93981
Routine PHP 8 code inspection sweep
- Removing explicit calls to default values
 - Add strict parameter arguments
 - Use PHP8 built-in functions when possible
2021-04-23 17:12:47 -05:00
Buster "Silver Eagle" Neece
f117644649
Apply PHP8-specific improvements. 2021-04-23 00:24:12 -05:00
Buster "Silver Eagle" Neece
acab8806b3
Move to PHP 8.0 (#4051) 2021-04-22 21:16:00 -05:00