Commit Graph

1006 Commits

Author SHA1 Message Date
Buster Neece 3a33a59980
Fixes #7048 -- When moving individual files, don't preserve folder structure. 2024-05-16 11:39:31 -05:00
Buster Neece 040eabb84f
Update PHPStan to reflect new test results. 2024-05-15 10:06:30 -05:00
Buster Neece c2c917cbe0
Fixes #7014 -- Don't erase schedules if schedules aren't set in the API body. 2024-05-15 09:06:34 -05:00
Buster Neece c5d2bb87bd
Merge commit '8b10e5af336da00aca2423053a503f75d89a4cff' 2024-05-14 12:15:41 -05:00
Buster Neece f9a888dfb5
Remove HighAvailability and DB-level cache. 2024-05-11 07:39:26 -05:00
Buster Neece d3103e8f23
Revert to PHP-FPM on production environments to investigate an issue with HTTP requests not being returned to the proper endpoints. 2024-05-10 10:54:47 -05:00
Buster Neece aefe069047
#6893 -- Loosen enforcement of passkeys on login page to support a broader range of passkeys and browsers. 2024-04-26 16:38:23 -05:00
Buster Neece b1662a4757
Wire up `is_enabled` functionality for public podcast pages. 2024-04-25 12:47:26 -05:00
Buster Neece 6feae35d81
Fix links in Podcast RSS feeds; add "podcast:guid" calculated from global podcast namespace. 2024-04-21 10:23:53 -05:00
Buster Neece f12b3c0da2
Finish removing MarcW RSS writer components. 2024-04-21 09:52:28 -05:00
Buster Neece d03dc1f277
Update the Podcast RSS feed to write raw XML instead of using an RSS library; add iTunes season/episode. 2024-04-21 09:46:47 -05:00
Buster Neece 08c5468562
Fixes #7037 -- Fix CarbonImmutable error on stats overview page. 2024-04-17 01:06:39 -05:00
Buster Neece bee576b5e7
Revert "Add support for rich searches with FusePHP (no separate search index required)."
This reverts commit 28e5faa7e4.
2024-04-16 02:45:52 -05:00
Buster Neece 28e5faa7e4
Add support for rich searches with FusePHP (no separate search index required). 2024-03-26 11:56:43 -05:00
Buster Neece c33fd9f30c
Fixes #7009 -- Add no-op writer to RSS feed to register Podcast namespace for PSP-1 compliance. 2024-03-22 10:31:00 -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 838095eee6
Ensure podcast publish_at field is always set and sortable and fix sorting issues with the Podcast Episodes admin UI. 2024-03-19 07:27:48 -05:00
Buster Neece eed6811b38
Switch to using Order enum for sorting. 2024-03-19 07:16:20 -05:00
Buster Neece 0a17a77379
Merge commit 'cfb190ba1390bb3ce41ca989354ac3f906771a4e' into feature/playlist-driven-podcasts 2024-03-02 18:05:45 -06:00
Buster Neece 2e169b9499
Fixes #6963 -- Escape cache keys for Now Playing so special characters don't cause problems. 2024-03-02 15:29:33 -06:00
Buster Neece b83d54bf50
Fixes #6936 -- Fix WebDJ URL. 2024-03-02 14:56:41 -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 b0ab0916ae
Rewire public controllers to support playlist sourced media. 2024-02-22 14:51:29 -06:00
Buster Neece 3a202ca729
Enable sorting on podcast episode controller side. 2024-02-16 12:03:09 -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 8e6c601087
Fix route names in podcast RSS. 2024-01-27 03:33:57 -06:00
Buster Neece 1c9d9fb5f7
Simplify and clean up exception handling. 2024-01-25 19:28:57 -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 851de76f30
Fixes #6879 -- Fix base URI and Podcast RSS feed. 2024-01-20 21:07:09 -06:00
Buster Neece d7b8c59ff9
Add "Podcasts" to the Embed Widgets modal dialog in the station profile. 2024-01-20 17:19:34 -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 8c4a4b8a76
Add common isEmbeddable trait for public pages. 2024-01-20 17:03:14 -06:00
Buster Neece ad15c6ef7c
Move WebDJ template render internally. 2024-01-20 10:36:59 -06:00
Buster Neece 84378369c7
Make dashboard paginated, searchable and sortable. 2024-01-15 17:07:28 -06:00
Buster Neece 4ccce52705
Use common trait for searching across controllers; add type strictness to several $request->getParam calls on controllers. 2024-01-15 11:24:27 -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 c2f352c115
Some type fixes. 2024-01-14 05:53:46 -06:00
Buster Neece 77bbcbad4f
Set API types on Listener. 2024-01-13 03:04:08 -06:00
Buster Neece b1cd507b50
Fixes #6586 -- Re-set body class on login Vue component. 2024-01-09 11:49:04 -06:00
Buster Neece 2f080e4560
Make update checks use a custom cron schedule and lengthen the time between update checks. 2024-01-03 23:58:55 -06:00
Buster Neece 5664759ff3
Fixes #6838 -- Fix album art POST URL on media manager. 2024-01-03 16:10:27 -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 cc7183c933
Use nginx to temp cache album art to further reduce load on PHP. 2023-12-26 19:21:47 -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 18de449cdc
Fixes #6532 -- Make errors in batch actions display as errors, show the error reason, and avoid further processing of files that errored out. 2023-12-19 12:35:15 -06:00
Buster Neece eefadf7b43
#6702 -- Turn off timeout and memory limit for the clone action. 2023-12-18 13:36:12 -06:00
Buster Neece 74fb8b6aa7
#6685 -- If end date is specified just as date, assume time is end of day, not midnight. 2023-12-17 18:04:50 -06:00
Buster Neece 3776085005
Make what happens when you specify *only* a start or end date more intuitive (the missing date becomes today, and then the dates get sorted appropriately if end > start). 2023-12-17 15:15:49 -06:00
Buster Neece 471dde2cd2
#6685 -- Fix issue where passing the same date as start/end returns the default range. 2023-12-17 15:09:04 -06:00