Buster Neece
1c290a9d05
Implement common rate limit on public downloads of media.
2024-04-28 14:21:24 -05:00
Buster Neece
e9255d2cbe
Fixes #7030 -- Fix new migrations not extending from abstract class that overrides transactionality.
2024-03-28 12:37:04 -05:00
Buster Neece
b144860d63
#7009 -- Make RSS feed use API generator, add extension to download for iTunes.
2024-03-21 09:27:52 -05:00
Buster Neece
df401b5468
Switch back to common Doctrine Entity Normalizer library.
2024-03-20 12:55:01 -05:00
Buster Neece
e376d4014c
Remove type annotations from old DBAL version; remove custom Carbon Immutable format.
2024-03-19 06:53:36 -05:00
Buster Neece
4324f94cb2
Send timestamp along with individual SSE NP events, avoiding separate `global:time` channel.
2024-03-19 05:27:42 -05:00
Buster Neece
24c56345df
Set up sync task for podcast playlists.
2024-03-03 16:21:52 -06:00
Buster Neece
8fa8ab7e26
Merge commit '466f03674d90d65c3d20411b87930c43572ae0a9' into feature/playlist-driven-podcasts
2024-03-03 13:03:12 -06:00
Buster Neece
466f03674d
Update Doctrine ORM to 3.0, DBAL to 4.0 and surrounding dependencies.
2024-03-03 12:44:11 -06:00
Buster Neece
e3dfe85653
Add "Source" tab to Podcast modal and wire up select API request.
2024-02-22 15:59:31 -06:00
Buster Neece
fba050a463
Move station index and admin index to root to avoid the single file in the folder.
2024-02-16 09:00:14 -06:00
Buster Neece
a4d45b6260
Clean up Podcast API endpoints, add "is_published" to podcast and episodes, make Podcast pages in the UI properly routed with VueRouter so browser history works.
2024-01-26 19:33:32 -06:00
Buster Neece
f379464937
Podcast controller overhaul:
...
- Make public-facing podcast API endpoints separate from the CRUD API used by station operators
- Make Podcast a request attribute (like stations) to simplify several controllers
- Move API generation for podcasts and episodes into an ApiGenerator class.
2024-01-25 16:54:31 -06:00
Buster Neece
6deffe0ca2
Podcast Pages Overhaul
...
- Move the Podcasts pages from individual PHP templates into a Vue mini-SPA
- Podcasts and episodes are paginated, sortable and searchable
- The full podcast page is embeddable in external pages
- The podcast player is our standard seekable inline player and persists as you're navigating around the podcasts page
2024-01-20 17:05:54 -06:00
Buster Neece
89b1d913a1
Type fixes relating to DI phpstan stubs.
2024-01-14 13:51:04 -06:00
Buster Neece
bbf8d56b46
More type fixes!
2024-01-14 13:20:01 -06:00
Buster Neece
0bfd947f9c
Don't use Redis logical databases
2024-01-12 03:40:39 -06:00
Buster Neece
3b8c7e9e00
#6845 -- Fix routing on /api/station/(id)/nowplaying
2024-01-09 04:24:43 -06:00
Buster Neece
7008e06b4a
Take advantage of new bug fix in Symfony/Messenger.
2024-01-01 01:43:35 -06:00
Buster Neece
328af6d915
Fixes #6828 -- Make non-station-specific public nowplaying work again.
2023-12-29 19:16:14 -06:00
Buster Neece
222676e45a
Public static asset cache overhaul:
...
- Make all public static assets (album art, streamer art, podcast/episode art, etc) serve with no sessions or other user-specific information
- Make "timestamp" an explicit URL parameter and avoid weird parsing of IDs mixed with timestamps
- Make static caching a universal middleware for uniform results across controllers
- Update public art URL paths to reference station short names instead of numeric IDs
2023-12-28 14:07:55 -06:00
Buster Neece
01dfadb351
Revert weird way of doing dd() in favor of using PHP-FPM on dev.
2023-12-24 20:33:40 -06:00
Buster Neece
56da2a3969
Move dumpdie to only be included in dev.
2023-12-23 18:28:50 -06:00
Buster Neece
0f651a3dc5
Add new "dumpdie" function that uses an exception to write to the PSR response and thus still works with RoadRunner.
2023-12-23 18:10:32 -06:00
Buster Neece
e890106010
Implement Roadrunner PHP application server for high-performance PHP and Centrifugo event hooks.
2023-12-22 22:00:40 -06:00
Buster Neece
c90b217e73
Fixes #6804 -- Clean up exceptions:
...
- Make more exceptions translated
- Consolidate duplicate exception classes
- Make public-facing exceptions friendlier (don't show "Exception on File LXX" except in console log)
2023-12-17 10:33:17 -06:00
Buster Neece
fc2373fe26
Update Centrifugo to send initial NP/time payload.
2023-12-14 05:51:20 -06:00
Buster Neece
4285561eda
#6796 -- Revert to Centrifugo for high-performance NP updates.
2023-12-13 09:57:51 -06:00
Buster Neece
7ae8a48341
#6771 -- Update high-performance now playing system.
2023-12-06 10:26:31 -06:00
Buster Neece
6fbb9b0165
Update PHP dependencies (including several Symfony libraries to 7.x).
...
Changelogs summary:
- symfony/filesystem updated from v6.4.0 to v7.0.0 major
See changes: https://github.com/symfony/filesystem/compare/v6.4.0...v7.0.0
Release notes: https://github.com/symfony/filesystem/releases/tag/v7.0.0
- symfony/intl updated from v6.4.0 to v7.0.0 major
See changes: https://github.com/symfony/intl/compare/v6.4.0...v7.0.0
Release notes: https://github.com/symfony/intl/releases/tag/v7.0.0
- symfony/lock updated from v6.4.0 to v7.0.0 major
See changes: https://github.com/symfony/lock/compare/v6.4.0...v7.0.0
Release notes: https://github.com/symfony/lock/releases/tag/v7.0.0
- symfony/mailer updated from v6.4.0 to v7.0.0 major
See changes: https://github.com/symfony/mailer/compare/v6.4.0...v7.0.0
Release notes: https://github.com/symfony/mailer/releases/tag/v7.0.0
- symfony/property-access updated from v6.4.0 to v7.0.0 major
See changes: https://github.com/symfony/property-access/compare/v6.4.0...v7.0.0
Release notes: https://github.com/symfony/property-access/releases/tag/v7.0.0
- symfony/rate-limiter updated from v6.4.0 to v7.0.0 major
See changes: https://github.com/symfony/rate-limiter/compare/v6.4.0...v7.0.0
Release notes: https://github.com/symfony/rate-limiter/releases/tag/v7.0.0
- symfony/messenger updated from v6.4.0 to v7.0.0 major
See changes: https://github.com/symfony/messenger/compare/v6.4.0...v7.0.0
Release notes: https://github.com/symfony/messenger/releases/tag/v7.0.0
- symfony/redis-messenger updated from v6.4.0 to v7.0.0 major
See changes: https://github.com/symfony/redis-messenger/compare/v6.4.0...v7.0.0
Release notes: https://github.com/symfony/redis-messenger/releases/tag/v7.0.0
- symfony/serializer updated from v6.4.0 to v7.0.0 major
See changes: https://github.com/symfony/serializer/compare/v6.4.0...v7.0.0
Release notes: https://github.com/symfony/serializer/releases/tag/v7.0.0
- symfony/validator updated from v6.4.0 to v7.0.0 major
See changes: https://github.com/symfony/validator/compare/v6.4.0...v7.0.0
Release notes: https://github.com/symfony/validator/releases/tag/v7.0.0
No security vulnerability advisories found.
2023-12-01 00:38:16 -06:00
Buster Neece
fc45e38095
Fixes #6646 -- Pass settings to Redis transport, which manually reconnects using them.
2023-11-29 19:25:47 -06:00
Buster Neece
ee9b7d88d4
Merge commit '98b31298b086a00a47efa35c3e2b81a0cb8b3f37'
2023-11-26 02:52:21 -06:00
Buster Neece
c0c10f8949
Add periodic donate notifications to dashboard.
2023-11-07 09:44:59 -06:00
Buster Neece
32cb16038e
Implement built-in docs, update settings and URLs across the app.
2023-10-10 15:51:18 -05:00
Buster Neece
7706457322
Add a "azuracast:setup:rollback" CLI command to roll back to the DB migration associated with a given stable release.
2023-09-03 12:10:40 -05:00
Buster Neece
48c437a84e
Fixes #6561 -- Auto-reload sync tasks and queue totals and add reload buttons for both.
2023-08-26 06:32:09 -05:00
Buster Neece
90f9129480
Fixes #6519 -- Show advanced settings on Mount Points.
2023-08-19 12:16:18 -05:00
Buster Neece
cbf4cb651f
Rework Fallback/StereoTool pages to not need remote props.
2023-08-18 00:19:17 -05:00
Buster Neece
f71a9b5d83
Rework LiquidsoapConfig page to use a single API back-and-forth.
2023-08-17 21:12:29 -05:00
Buster Neece
7db69e3505
#6498 -- Add "Empty Playlist" button.
2023-08-13 21:52:43 -05:00
Buster Neece
01a80bcdcb
Switch to Vue-Router HTML5 routing mode so URLs match existing ones.
2023-08-12 10:52:41 -05:00
Buster Neece
6b3d2b2095
Support custom "Station Offline" and "Live Broadcast" text per-station.
2023-08-11 14:20:59 -05:00
Buster Neece
cf169b423c
Merge commit 'bcf7d575ac18c8e8123c483364add72a84aec901'
2023-08-10 09:41:07 -05:00
Buster Neece
631dda96d8
Migrate the Administration panel to its own Mini-SPA.
2023-08-08 12:23:01 -05:00
Buster Neece
85214e6d2d
Merge commit '752d8d679f8cf075ed2d8608071dad654c293f93'
2023-08-07 05:10:49 -05:00
Buster Neece
1404779b1a
Properly check permissions on stats endpoint.
2023-07-30 21:11:51 -05:00
Buster Neece
a4ed413065
Add non-active-instance notification.
2023-07-30 01:13:44 -05:00
Buster Neece
06e745e6ff
Fixes #6354 , Fixes #6393 --Add StereoTool plugin version support.
2023-07-23 23:04:25 -05:00
Buster Neece
996b6b390d
Add initial oEmbed support.
2023-07-22 03:24:56 -05:00
Buster Neece
072b861d94
Implement Bootstrap 5 and Vue 3, Remove BootstrapVue, jQuery and Other Libraries
2023-07-08 20:01:24 -05:00