update: php8.4 support

- makes unit3d php8.4 + required
- fixes multiple implicitly to explicit nullable type
- dependency updates
- github action updates
- carbon 2 needs to move to carbon 3 in separate pr
This commit is contained in:
HDVinnie
2025-01-20 00:04:35 -05:00
parent 0356b4cd6d
commit d474ee3be4
14 changed files with 184 additions and 461 deletions

View File

@@ -7,7 +7,7 @@ jobs:
operating-system:
- ubuntu-22.04
php-version:
- '8.3'
- '8.4'
name: ${{ matrix.operating-system }}
runs-on: ${{ matrix.operating-system }}
steps:
@@ -15,7 +15,7 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup PHP 8.3
- name: Setup PHP 8.4
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}

View File

@@ -7,7 +7,7 @@ jobs:
operating-system:
- ubuntu-22.04
php-version:
- '8.3'
- '8.4'
name: php ${{ matrix.php-version }} on ${{ matrix.operating-system }}
services:
mysql:
@@ -33,7 +33,7 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup PHP 8.3
- name: Setup PHP 8.4
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}

View File

@@ -7,7 +7,7 @@ jobs:
operating-system:
- ubuntu-22.04
php-version:
- '8.3'
- '8.4'
name: ${{ matrix.operating-system }}
runs-on: ${{ matrix.operating-system }}
steps:
@@ -15,7 +15,7 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup PHP 8.3
- name: Setup PHP 8.4
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}

View File

@@ -8,7 +8,7 @@ jobs:
operating-system:
- ubuntu-22.04
php-version:
- '8.3'
- '8.4'
name: php ${{ matrix.php-version }} on ${{ matrix.operating-system }}
services:
mysql:
@@ -34,7 +34,7 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup PHP 8.3
- name: Setup PHP 8.4
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}

View File

@@ -76,15 +76,15 @@ class GitUpdater extends Command
');
$this->line('<fg=cyan>
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) EVEN IF ADVISED OF THE POSSIBILITY
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.
WITH THAT SAID YOU CAN BE GUARANTEED THAT YOUR DATABASE WILL NOT BE ALTERED.
<fg=red>BY PROCEEDING YOU AGREE TO THE ABOVE DISCLAIMER! USE AT YOUR OWN RISK!</>
</>');
@@ -154,8 +154,6 @@ class GitUpdater extends Command
$this->composer();
}
$this->clearComposerCache();
$this->updateUNIT3DConfig();
$this->setCache();
@@ -309,13 +307,6 @@ class GitUpdater extends Command
$this->done();
}
private function clearComposerCache(): void
{
$this->header('Clearing Composer Cache');
$this->process('composer clear-cache --no-interaction --ansi --verbose');
$this->done();
}
private function clearCache(): void
{
$this->header('Clearing Application Cache');

View File

@@ -28,7 +28,7 @@ readonly class TorrentSearchFiltersDTO
private ?User $user;
public function __construct(
User $user = null,
?User $user = null,
private string $name = '',
private string $description = '',
private string $mediainfo = '',

View File

@@ -80,7 +80,7 @@ class TrackerException extends Exception
/**
* TrackerException constructor.
*/
public function __construct(int $code = 999, array $replace = null, Throwable $throwable = null)
public function __construct(int $code = 999, ?array $replace = null, ?Throwable $throwable = null)
{
$message = self::ERROR_MSG[$code];

View File

@@ -517,7 +517,7 @@ class Markdown
//
// List
protected function blockList($Line, array $CurrentBlock = null)
protected function blockList($Line, ?array $CurrentBlock = null)
{
[$name, $pattern] = $Line['text'][0] <= '-' ? ['ul', '[*+-]'] : ['ol', '[0-9]{1,9}+[.\)]'];
@@ -721,7 +721,7 @@ class Markdown
//
// Setext
protected function blockSetextHeader($Line, array $Block = null)
protected function blockSetextHeader($Line, ?array $Block = null)
{
if (!isset($Block) || $Block['type'] !== 'Paragraph' || isset($Block['interrupted'])) {
return;
@@ -796,7 +796,7 @@ class Markdown
//
// Table
protected function blockTable($Line, array $Block = null)
protected function blockTable($Line, ?array $Block = null)
{
if (!isset($Block) || $Block['type'] !== 'Paragraph' || isset($Block['interrupted'])) {
return;

View File

@@ -287,7 +287,7 @@ class MarkdownExtra extends Markdown
//
// Setext
protected function blockSetextHeader($Line, array $Block = null)
protected function blockSetextHeader($Line, ?array $Block = null)
{
$Block = parent::blockSetextHeader($Line, $Block);

View File

@@ -33,7 +33,7 @@ class BbcodeInput extends Component
public string $contentHtml = '';
final public function mount(string $name, string $label, bool $required = false, string $content = null): void
final public function mount(string $name, string $label, bool $required = false, ?string $content = null): void
{
$this->name = $name;
$this->label = $label;

View File

@@ -806,7 +806,7 @@ class Torrent extends Model
/**
* Torrent Is Freeleech.
*/
public function isFreeleech(User $user = null): bool
public function isFreeleech(?User $user = null): bool
{
$pfree = $user && ($user->group->is_freeleech || cache()->get('personal_freeleech:'.$user->id));

View File

@@ -8,7 +8,7 @@
"license": "MIT",
"type": "project",
"require": {
"php": ">=8.3",
"php": ">=8.4",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
@@ -16,7 +16,7 @@
"ext-zip": "*",
"assada/laravel-achievements": "^2.7",
"bjeavons/zxcvbn-php": "^1.4.1",
"doctrine/dbal": "^3.9.3",
"doctrine/dbal": "^3.9.4",
"gabrielelana/byte-units": "^0.5.0",
"graham-campbell/markdown": "^15.2",
"guzzlehttp/guzzle": "^7.9.2",
@@ -25,9 +25,9 @@
"intervention/image": "^2.7.2",
"joypixels/assets": "^v7.0.1",
"laravel/fortify": "1.20.0",
"laravel/framework": "^11.36.1",
"laravel/framework": "^11.38.2",
"laravel/octane": "^2.6.0",
"laravel/scout": "^10.11.9",
"laravel/scout": "^10.12.0",
"laravel/tinker": "^2.10.0",
"livewire/livewire": "^3.5.18",
"marcreichel/igdb-laravel": "^4.3.0",
@@ -50,15 +50,15 @@
"calebdw/larastan-livewire": "^v1.1.0",
"fakerphp/faker": "^1.24.1",
"jasonmccreary/laravel-test-assertions": "^2.4.1",
"laravel/pint": "v1.18.3",
"laravel/sail": "^1.39.1",
"laravel/pint": "v1.20.0",
"laravel/sail": "^1.40.0",
"mockery/mockery": "^1.6.12",
"nunomaduro/collision": "^8.5.0",
"pestphp/pest": "^3.7.1",
"pestphp/pest": "^3.7.2",
"pestphp/pest-plugin-laravel": "^3.0",
"pestphp/pest-plugin-livewire": "^3.0",
"phpstan/phpstan": "^1.12.13",
"phpunit/phpunit": "^11.5.1",
"phpstan/phpstan": "^1.12.15",
"phpunit/phpunit": "^11.5.3",
"ryoluo/sail-ssl": "^1.3.2",
"spatie/laravel-ignition": "^2.9.0",
"tomasvotruba/bladestan": "^0.5.0"

544
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -28,19 +28,17 @@ use Illuminate\Support\Facades\Broadcast;
* |
*/
Broadcast::channel('chatroom.{id}', function ($user, $id) {
return User::select([
'id',
'username',
'group_id',
'image',
'chatroom_id',
'chat_status_id',
'is_lifetime',
'is_donor',
'icon'
])
->with(['chatStatus:id,color', 'chatroom:id,name', 'group:id,color,effect,icon'])
->find($user->id);
});
Broadcast::channel('chatroom.{id}', fn ($user, $id) => User::select([
'id',
'username',
'group_id',
'image',
'chatroom_id',
'chat_status_id',
'is_lifetime',
'is_donor',
'icon'
])
->with(['chatStatus:id,color', 'chatroom:id,name', 'group:id,color,effect,icon'])
->find($user->id));
Broadcast::channel('chatter.{id}', fn ($user, $id) => $user->id == $id);