Buster Neece
2b3d89907a
Make more exceptions based on HttpException.
2024-05-17 11:50:12 -05:00
Buster Neece
e2edc8cfd2
Make more exceptions HttpExceptions.
2024-05-17 11:21:53 -05: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
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
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
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
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
4e669ab20f
Update AppFactory and HttpFactory to support long-running services like Roadrunner.
2023-12-22 16:21:10 -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
9fe90b1d3c
Merge commit '8ea5b1b85e9477cd6f1bbff475839b4e88986be5'
2023-12-04 00:48:40 -06:00
Buster Neece
aa0ca7f6da
Add operation IDs to several other API operations.
2023-09-18 02:30:59 -05:00
Buster Neece
4d3217ff91
Make ServerRequest properly throw exceptions.
2023-08-28 05:12:47 -05:00
Buster Neece
0669d003c9
Bulk rename vars to camelCase (except controllers).
2023-06-08 06:32:32 -05:00
Buster Neece
a7dd57429e
Implement SettingsAwareTrait.
2023-06-08 03:24:28 -05:00
Buster Neece
7d1b987d32
Alphabetize imports.
2023-06-08 02:32:25 -05:00
Buster Neece
9122250823
Final fix for removing "App\Entity" namespace.
2023-06-07 12:54:54 -05:00
Buster Neece
6314fa7a09
Removing "App\Entity" imports, part 3
2023-06-07 11:11:40 -05:00
Buster Neece
cbc6a1f4fc
Add EnvironmentAwareTrait.
2023-06-07 01:25:57 -05:00
Buster Neece
bdb23594ad
Tighten allowed IPs to avoid brute-force workarounds.
2023-04-28 01:47:44 -05:00
Buster Neece
ede5e88a49
Make FlashLevels an enum.
2023-02-23 23:10:58 -06:00
Buster Neece
3068f7c4e7
Fix errors with Webhooks and error templates.
2022-11-17 09:13:41 -06:00
Buster Neece
c69ed7570e
Re-internalize Flysystem extensions.
2022-11-13 02:00:56 -06:00
Buster Neece
9d915aba3c
Remove string-to-Uri-to-string in many places; update to take advantage of Slim Router perf update.
2022-11-06 14:42:50 -06:00
Buster Neece
0b45914584
More Router optimization.
2022-11-04 19:42:18 -05:00
Buster Neece
870afbfecd
Router refactor.
2022-11-04 19:03:47 -05:00
Buster Neece
3be5fa159b
#5763 -- Don't use X-Accel-Redirect for art; fix mime-type detection on local adapter.
2022-10-08 17:19:35 -05:00
Buster "Silver Eagle" Neece
16fca14476
Make protected functions private where appropriate.
2022-08-22 23:29:04 -05:00
Buster "Silver Eagle" Neece
c87c1c343b
PHP dependencies update.
...
Changelogs summary:
- symfony/string updated from v6.1.2 to v6.1.3 patch
See changes: https://github.com/symfony/string/compare/v6.1.2...v6.1.3
Release notes: https://github.com/symfony/string/releases/tag/v6.1.3
- symfony/console updated from v6.1.2 to v6.1.3 patch
See changes: https://github.com/symfony/console/compare/v6.1.2...v6.1.3
Release notes: https://github.com/symfony/console/releases/tag/v6.1.3
- doctrine/event-manager updated from 1.1.1 to 1.1.2 patch
See changes: https://github.com/doctrine/event-manager/compare/1.1.1...1.1.2
Release notes: https://github.com/doctrine/event-manager/releases/tag/1.1.2
- doctrine/persistence updated from 3.0.2 to 3.0.3 patch
See changes: https://github.com/doctrine/persistence/compare/3.0.2...3.0.3
Release notes: https://github.com/doctrine/persistence/releases/tag/3.0.3
- doctrine/dbal updated from 3.3.7 to 3.4.0 minor
See changes: https://github.com/doctrine/dbal/compare/3.3.7...3.4.0
Release notes: https://github.com/doctrine/dbal/releases/tag/3.4.0
- doctrine/orm updated from 2.12.3 to 2.13.0 minor
See changes: https://github.com/doctrine/orm/compare/2.12.3...2.13.0
Release notes: https://github.com/doctrine/orm/releases/tag/2.13.0
- symfony/serializer updated from v6.1.2 to v6.1.3 patch
See changes: https://github.com/symfony/serializer/compare/v6.1.2...v6.1.3
Release notes: https://github.com/symfony/serializer/releases/tag/v6.1.3
- league/flysystem downgraded from 3.x-dev@5c79557 to 3.2.0 minor
See changes: https://github.com/thephpleague/flysystem/compare/5c79557...3.2.0
Release notes: https://github.com/thephpleague/flysystem/releases/tag/3.2.0
- symfony/css-selector updated from v6.1.0 to v6.1.3 patch
See changes: https://github.com/symfony/css-selector/compare/v6.1.0...v6.1.3
Release notes: https://github.com/symfony/css-selector/releases/tag/v6.1.3
- symfony/yaml updated from v6.1.2 to v6.1.3 patch
See changes: https://github.com/symfony/yaml/compare/v6.1.2...v6.1.3
Release notes: https://github.com/symfony/yaml/releases/tag/v6.1.3
- symfony/var-dumper updated from v6.1.0 to v6.1.3 patch
See changes: https://github.com/symfony/var-dumper/compare/v6.1.0...v6.1.3
Release notes: https://github.com/symfony/var-dumper/releases/tag/v6.1.3
- symfony/finder updated from v6.1.0 to v6.1.3 patch
See changes: https://github.com/symfony/finder/compare/v6.1.0...v6.1.3
Release notes: https://github.com/symfony/finder/releases/tag/v6.1.3
- psy/psysh updated from v0.11.5 to v0.11.8 patch
See changes: https://github.com/bobthecow/psysh/compare/v0.11.5...v0.11.8
Release notes: https://github.com/bobthecow/psysh/releases/tag/v0.11.8
- codeception/codeception updated from 5.0.0-RC5 to 5.0.0 patch
See changes: https://github.com/Codeception/Codeception/compare/5.0.0-RC5...5.0.0
Release notes: https://github.com/Codeception/Codeception/releases/tag/5.0.0
- symfony/dom-crawler updated from v6.1.0 to v6.1.3 patch
See changes: https://github.com/symfony/dom-crawler/compare/v6.1.0...v6.1.3
Release notes: https://github.com/symfony/dom-crawler/releases/tag/v6.1.3
- symfony/browser-kit updated from v6.1.0 to v6.1.3 patch
See changes: https://github.com/symfony/browser-kit/compare/v6.1.0...v6.1.3
Release notes: https://github.com/symfony/browser-kit/releases/tag/v6.1.3
- composer/ca-bundle updated from 1.3.2 to 1.3.3 patch
See changes: https://github.com/composer/ca-bundle/compare/1.3.2...1.3.3
Release notes: https://github.com/composer/ca-bundle/releases/tag/1.3.3
- symfony/filesystem updated from v6.1.0 to v6.1.3 patch
See changes: https://github.com/symfony/filesystem/compare/v6.1.0...v6.1.3
Release notes: https://github.com/symfony/filesystem/releases/tag/v6.1.3
- laminas/laminas-code updated from 4.5.2 to 4.6.0 minor
See changes: https://github.com/laminas/laminas-code/compare/4.5.2...4.6.0
Release notes: https://github.com/laminas/laminas-code/releases/tag/4.6.0
- doctrine/migrations updated from 3.5.1 to 3.5.2 patch
See changes: https://github.com/doctrine/migrations/compare/3.5.1...3.5.2
Release notes: https://github.com/doctrine/migrations/releases/tag/3.5.2
- gettext/gettext updated from v5.6.1 to v5.7.0 minor
See changes: https://github.com/php-gettext/Gettext/compare/v5.6.1...v5.7.0
Release notes: https://github.com/php-gettext/Gettext/releases/tag/v5.7.0
- aws/aws-sdk-php updated from 3.228.5 to 3.232.2 minor
See changes: https://github.com/aws/aws-sdk-php/compare/3.228.5...3.232.2
Release notes: https://github.com/aws/aws-sdk-php/releases/tag/3.232.2
- league/flysystem-aws-s3-v3 updated from 3.0.21 to 3.2.0 minor
See changes: https://github.com/thephpleague/flysystem-aws-s3-v3/compare/3.0.21...3.2.0
Release notes: https://github.com/thephpleague/flysystem-aws-s3-v3/releases/tag/3.2.0
- league/flysystem-sftp-v3 updated from 3.0.21 to 3.2.0 minor
See changes: https://github.com/thephpleague/flysystem-sftp-v3/compare/3.0.21...3.2.0
Release notes: https://github.com/thephpleague/flysystem-sftp-v3/releases/tag/3.2.0
- matomo/device-detector updated from 6.0.1 to 6.0.2 patch
See changes: https://github.com/matomo-org/device-detector/compare/6.0.1...6.0.2
Release notes: https://github.com/matomo-org/device-detector/releases/tag/6.0.2
- mezzio/mezzio-session updated from 1.6.0 to 1.9.1 minor
See changes: https://github.com/mezzio/mezzio-session/compare/1.6.0...1.9.1
Release notes: https://github.com/mezzio/mezzio-session/releases/tag/1.9.1
- mezzio/mezzio-session-cache updated from 1.7.0 to 1.8.0 minor
See changes: https://github.com/mezzio/mezzio-session-cache/compare/1.7.0...1.8.0
Release notes: https://github.com/mezzio/mezzio-session-cache/releases/tag/1.8.0
- monolog/monolog updated from 3.1.0 to 3.2.0 minor
See changes: https://github.com/Seldaek/monolog/compare/3.1.0...3.2.0
Release notes: https://github.com/Seldaek/monolog/releases/tag/3.2.0
- symfony/translation updated from v6.1.0 to v6.1.3 patch
See changes: https://github.com/symfony/translation/compare/v6.1.0...v6.1.3
Release notes: https://github.com/symfony/translation/releases/tag/v6.1.3
- nesbot/carbon updated from 2.58.0 to 2.61.0 minor
See changes: https://github.com/briannesbitt/Carbon/compare/2.58.0...2.61.0
Release notes: https://github.com/briannesbitt/Carbon/releases/tag/2.61.0
- pagerfanta/core updated from v3.6.1 to v3.6.2 patch
See changes: https://github.com/Pagerfanta/core/compare/v3.6.1...v3.6.2
Release notes: https://github.com/Pagerfanta/core/releases/tag/v3.6.2
- pagerfanta/doctrine-collections-adapter updated from v3.6.1 to v3.6.2 patch
See changes: https://github.com/Pagerfanta/doctrine-collections-adapter/compare/v3.6.1...v3.6.2
Release notes: https://github.com/Pagerfanta/doctrine-collections-adapter/releases/tag/v3.6.2
- pagerfanta/doctrine-orm-adapter updated from v3.6.1 to v3.6.2 patch
See changes: https://github.com/Pagerfanta/doctrine-orm-adapter/compare/v3.6.1...v3.6.2
Release notes: https://github.com/Pagerfanta/doctrine-orm-adapter/releases/tag/v3.6.2
- php-di/php-di updated from v7.x-dev@8d35559 to v7.x-dev@5458204 patch
See changes: https://github.com/PHP-DI/PHP-DI/compare/8d35559...5458204
- symfony/process updated from v6.1.0 to v6.1.3 patch
See changes: https://github.com/symfony/process/compare/v6.1.0...v6.1.3
Release notes: https://github.com/symfony/process/releases/tag/v6.1.3
- symfony/var-exporter updated from v6.1.1 to v6.1.3 patch
See changes: https://github.com/symfony/var-exporter/compare/v6.1.1...v6.1.3
Release notes: https://github.com/symfony/var-exporter/releases/tag/v6.1.3
- symfony/cache updated from v6.1.2 to v6.1.3 patch
See changes: https://github.com/symfony/cache/compare/v6.1.2...v6.1.3
Release notes: https://github.com/symfony/cache/releases/tag/v6.1.3
- php-http/discovery updated from 1.14.2 to 1.14.3 patch
See changes: https://github.com/php-http/discovery/compare/1.14.2...1.14.3
Release notes: https://github.com/php-http/discovery/releases/tag/1.14.3
- symfony/expression-language updated from v6.1.2 to v6.1.3 patch
See changes: https://github.com/symfony/expression-language/compare/v6.1.2...v6.1.3
Release notes: https://github.com/symfony/expression-language/releases/tag/v6.1.3
- phpstan/phpstan updated from 1.7.15 to 1.8.2 minor
See changes: https://github.com/phpstan/phpstan/compare/1.7.15...1.8.2
Release notes: https://github.com/phpstan/phpstan/releases/tag/1.8.2
- phpstan/phpstan-doctrine updated from 1.3.9 to 1.3.11 patch
See changes: https://github.com/phpstan/phpstan-doctrine/compare/1.3.9...1.3.11
Release notes: https://github.com/phpstan/phpstan-doctrine/releases/tag/1.3.11
- ramsey/uuid updated from 4.3.1 to 4.4.0 minor
See changes: https://github.com/ramsey/uuid/compare/4.3.1...4.4.0
Release notes: https://github.com/ramsey/uuid/releases/tag/4.4.0
- roave/security-advisories updated from dev-latest@82cfc46 to dev-latest@8b99cfd
See changes: https://github.com/Roave/SecurityAdvisories/compare/82cfc46...8b99cfd
- skoerfgen/acmecert updated from 3.2.0 to 3.2.1 patch
See changes: https://github.com/skoerfgen/ACMECert/compare/3.2.0...3.2.1
Release notes: https://github.com/skoerfgen/ACMECert/releases/tag/3.2.1
- slevomat/coding-standard updated from 8.1.0 to 8.3.0 minor
See changes: https://github.com/slevomat/coding-standard/compare/8.1.0...8.3.0
Release notes: https://github.com/slevomat/coding-standard/releases/tag/8.3.0
- thecodingmachine/safe updated from v2.2.1 to v2.2.3 patch
See changes: https://github.com/thecodingmachine/safe/compare/v2.2.1...v2.2.3
Release notes: https://github.com/thecodingmachine/safe/releases/tag/v2.2.3
- symfony/messenger updated from v6.1.2 to v6.1.3 patch
See changes: https://github.com/symfony/messenger/compare/v6.1.2...v6.1.3
Release notes: https://github.com/symfony/messenger/releases/tag/v6.1.3
- symfony/beanstalkd-messenger updated from v6.1.0 to v6.1.3 patch
See changes: https://github.com/symfony/beanstalkd-messenger/compare/v6.1.0...v6.1.3
Release notes: https://github.com/symfony/beanstalkd-messenger/releases/tag/v6.1.3
- symfony/mime updated from v6.1.1 to v6.1.3 patch
See changes: https://github.com/symfony/mime/compare/v6.1.1...v6.1.3
Release notes: https://github.com/symfony/mime/releases/tag/v6.1.3
- symfony/mailer updated from v6.1.2 to v6.1.3 patch
See changes: https://github.com/symfony/mailer/compare/v6.1.2...v6.1.3
Release notes: https://github.com/symfony/mailer/releases/tag/v6.1.3
- symfony/property-info updated from v6.1.2 to v6.1.3 patch
See changes: https://github.com/symfony/property-info/compare/v6.1.2...v6.1.3
Release notes: https://github.com/symfony/property-info/releases/tag/v6.1.3
- symfony/property-access updated from v6.1.0 to v6.1.3 patch
See changes: https://github.com/symfony/property-access/compare/v6.1.0...v6.1.3
Release notes: https://github.com/symfony/property-access/releases/tag/v6.1.3
- symfony/lock updated from v6.1.1 to v6.1.3 patch
See changes: https://github.com/symfony/lock/compare/v6.1.1...v6.1.3
Release notes: https://github.com/symfony/lock/releases/tag/v6.1.3
- symfony/rate-limiter updated from v6.1.0 to v6.1.3 patch
See changes: https://github.com/symfony/rate-limiter/compare/v6.1.0...v6.1.3
Release notes: https://github.com/symfony/rate-limiter/releases/tag/v6.1.3
- symfony/redis-messenger updated from v6.1.0 to v6.1.3 patch
See changes: https://github.com/symfony/redis-messenger/compare/v6.1.0...v6.1.3
Release notes: https://github.com/symfony/redis-messenger/releases/tag/v6.1.3
- symfony/validator updated from v6.1.1 to v6.1.3 patch
See changes: https://github.com/symfony/validator/compare/v6.1.1...v6.1.3
Release notes: https://github.com/symfony/validator/releases/tag/v6.1.3
- phpoption/phpoption updated from 1.8.1 to 1.9.0 minor
See changes: https://github.com/schmittjoh/php-option/compare/1.8.1...1.9.0
Release notes: https://github.com/schmittjoh/php-option/releases/tag/1.9.0
- graham-campbell/result-type updated from v1.0.4 to v1.1.0 minor
See changes: https://github.com/GrahamCampbell/Result-Type/compare/v1.0.4...v1.1.0
Release notes: https://github.com/GrahamCampbell/Result-Type/releases/tag/v1.1.0
- doctrine/annotations updated from 1.13.2 to 1.13.3 patch
See changes: https://github.com/doctrine/annotations/compare/1.13.2...1.13.3
Release notes: https://github.com/doctrine/annotations/releases/tag/1.13.3
- zircote/swagger-php updated from 4.4.5 to 4.4.7 patch
See changes: https://github.com/zircote/swagger-php/compare/4.4.5...4.4.7
Release notes: https://github.com/zircote/swagger-php/releases/tag/4.4.7
- brick/math updated from 0.9.3 to 0.10.1 minor
See changes: https://github.com/brick/math/compare/0.9.3...0.10.1
Release notes: https://github.com/brick/math/releases/tag/0.10.1
- spomky-labs/otphp updated from v10.0.3 to v11.0.1 major
See changes: https://github.com/Spomky-Labs/otphp/compare/v10.0.3...v11.0.1
Release notes: https://github.com/Spomky-Labs/otphp/releases/tag/v11.0.1
2022-08-07 18:03:23 -05:00
Buster "Silver Eagle" Neece
e0e3001a78
Class finalization part 1.
2022-07-01 01:06:29 -05:00
Buster "Silver Eagle" Neece
ad3d2b2c69
Adapter simplification:
...
- Remove the stub "None"/"Remote" adapters; return null for disabled adapters
- Add capability checks to adapter enums
- Remove the Remote proxy
2022-06-21 20:48:32 -05:00
Buster "Silver Eagle" Neece
42e5b5210b
Expand custom nginx config.
2022-05-28 23:07:56 -05:00
Buster "Silver Eagle" Neece
dee9278e16
Use Guzzle's built-in PSR-17 factories.
2022-05-19 23:50:28 -05:00
Buster "Silver Eagle" Neece
41ac7bd810
Fix CSV export to include UTF-8 BOM.
2022-05-19 22:53:53 -05:00
Buster "Silver Eagle" Neece
fec35a2432
Switch to php-gettext 5.x:
...
- Don't use compiled PHP translations, switch back to gettext .mo compiled files
- Bring npm easygettext back for JS parsing and generation
2022-04-27 12:50:39 -05:00
Buster "Silver Eagle" Neece
27fd5eead1
Add environment file to show detailed errors.
2022-03-25 21:36:49 -05: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
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
1c814fc4c2
Code fixes and deprecated 8.1 fixes.
2021-12-10 21:48:19 -06:00
Buster "Silver Eagle" Neece
a8d3193eea
#4754 -- Further harden URI resilience.
2021-11-25 09:47:18 -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
7425e4a04c
Add class to JSON errors; avoid repeating timeouts for 403s.
2021-11-15 10:00:44 -06:00
Buster "Silver Eagle" Neece
f34583897e
Code cleanup.
2021-11-07 14:59:07 -06:00
Buster "Silver Eagle" Neece
88186fe6fb
Fixes #4754 -- Allow malformed URIs in baseUrl in settings.
2021-11-03 14:38:03 -05:00
Buster "Silver Eagle" Neece
7710301819
Further lower the log level of HttpExceptions.
2021-08-27 22:25:54 -05:00
Buster "Silver Eagle" Neece
5cbacd5df6
System-Wide Strict Types ( #4405 )
2021-07-19 00:53:45 -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
553c8bdb9d
Apply tighter sanitization to base URLs.
2021-06-10 18:28:55 -05:00