From 33a6c642ea706c336b3f18dc04b9ffa0540917b4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 18 Sep 2026 16:15:56 +0930 Subject: [PATCH] Larastan 1 to 2 --- app/Console/Commands/Admin/ImportCities.php | 2 +- app/Http/Controllers/Api/ApiV1Controller.php | 19 - .../Controllers/Api/ApiV1Dot1Controller.php | 3 - .../Controllers/Api/V1/TagsController.php | 6 - .../Controllers/Auth/RegisterController.php | 2 - .../Auth/ResetPasswordController.php | 3 - app/Http/Resources/AdminUser.php | 1 - app/Util/Lexer/Autolink.php | 8 +- app/Util/Lexer/HitHighlighter.php | 2 - app/Util/Lexer/LooseAutolink.php | 2 +- phpstan-baseline.neon | 1603 +++++++++++++++++ phpstan.neon | 44 +- 12 files changed, 1651 insertions(+), 44 deletions(-) create mode 100644 phpstan-baseline.neon diff --git a/app/Console/Commands/Admin/ImportCities.php b/app/Console/Commands/Admin/ImportCities.php index 01ac495a7..9ac3dc3ef 100644 --- a/app/Console/Commands/Admin/ImportCities.php +++ b/app/Console/Commands/Admin/ImportCities.php @@ -123,7 +123,7 @@ class ImportCities extends Command $count++; - if ($count % $this->argument('chunk') === 0) { + if ($count % (int) $this->argument('chunk') === 0) { $this->insertBuffer($buffer); $bar->advance(count($buffer)); $buffer = []; diff --git a/app/Http/Controllers/Api/ApiV1Controller.php b/app/Http/Controllers/Api/ApiV1Controller.php index fc7a54912..fba7c6ca4 100644 --- a/app/Http/Controllers/Api/ApiV1Controller.php +++ b/app/Http/Controllers/Api/ApiV1Controller.php @@ -238,9 +238,6 @@ class ApiV1Controller extends Controller /** * GET /api/v1/accounts/lookup - * - * @param string $acct - * @return \App\Transformer\Api\AccountTransformer */ public function accountLookupById(Request $request) { @@ -1191,8 +1188,6 @@ class ApiV1Controller extends Controller /** * GET /api/v1/accounts/relationships * - * @param array|int $id - * @return RelationshipService */ public function accountRelationshipsById(Request $request) { @@ -1478,8 +1473,6 @@ class ApiV1Controller extends Controller * GET /api/v1/custom_emojis * * Return custom emoji - * - * @return array */ public function customEmojis(): Response { @@ -1490,8 +1483,6 @@ class ApiV1Controller extends Controller * GET /api/v1/domain_blocks * * Return empty array - * - * @return array */ public function accountDomainBlocks(Request $request): JsonResponse { @@ -1505,8 +1496,6 @@ class ApiV1Controller extends Controller * GET /api/v1/endorsements * * Return empty array - * - * @return array */ public function accountEndorsements(Request $request): JsonResponse { @@ -1759,8 +1748,6 @@ class ApiV1Controller extends Controller * GET /api/v1/filters * * Return empty response since we filter server side - * - * @return array */ public function accountFilters(Request $request): JsonResponse { @@ -1907,8 +1894,6 @@ class ApiV1Controller extends Controller * GET /api/v1/suggestions * * Return empty array as we don't support suggestions - * - * @return null */ public function accountSuggestions(Request $request): JsonResponse { @@ -2012,8 +1997,6 @@ class ApiV1Controller extends Controller * GET /api/v1/lists * * Return empty array as we don't support lists - * - * @return null */ public function accountLists(Request $request): JsonResponse { @@ -2027,7 +2010,6 @@ class ApiV1Controller extends Controller * GET /api/v1/accounts/{id}/lists * * @param int $id - * @return null */ public function accountListsById(Request $request, $id): JsonResponse { @@ -3608,7 +3590,6 @@ class ApiV1Controller extends Controller * GET /api/v1/statuses/{id}/card * * @param int $id - * @return StatusTransformer */ public function statusCard(Request $request, $id): JsonResponse { diff --git a/app/Http/Controllers/Api/ApiV1Dot1Controller.php b/app/Http/Controllers/Api/ApiV1Dot1Controller.php index 513507470..4e66f67e0 100644 --- a/app/Http/Controllers/Api/ApiV1Dot1Controller.php +++ b/app/Http/Controllers/Api/ApiV1Dot1Controller.php @@ -1278,9 +1278,6 @@ class ApiV1Dot1Controller extends Controller /** * POST /api/v1.1/status/create - * - * - * @return StatusTransformer */ public function statusCreate(Request $request) { diff --git a/app/Http/Controllers/Api/V1/TagsController.php b/app/Http/Controllers/Api/V1/TagsController.php index 99ab4615b..bafd81d23 100644 --- a/app/Http/Controllers/Api/V1/TagsController.php +++ b/app/Http/Controllers/Api/V1/TagsController.php @@ -41,9 +41,6 @@ class TagsController extends Controller /** * POST /api/v1/tags/:id/follow - * - * - * @return object */ public function followHashtag(Request $request, $id): JsonResponse { @@ -169,9 +166,6 @@ class TagsController extends Controller /** * GET /api/v1/followed_tags - * - * - * @return array */ public function getFollowedTags(Request $request): JsonResponse { diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 4c1edf2e8..08a60c470 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -133,8 +133,6 @@ class RegisterController extends Controller /** * Show the application registration form. - * - * @return Response */ public function showRegistrationForm(): RedirectResponse|View { diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php index 6f893d150..7461a7bc3 100644 --- a/app/Http/Controllers/Auth/ResetPasswordController.php +++ b/app/Http/Controllers/Auth/ResetPasswordController.php @@ -87,8 +87,6 @@ class ResetPasswordController extends Controller * Display the password reset view for the given token. * * If no token is present, display the link request form. - * - * @return Factory|View */ public function showResetForm(Request $request): View { @@ -150,7 +148,6 @@ class ResetPasswordController extends Controller * Get the response for a failed password reset. * * @param string $response - * @return RedirectResponse|JsonResponse */ protected function sendResetFailedResponse(Request $request, $response): RedirectResponse { diff --git a/app/Http/Resources/AdminUser.php b/app/Http/Resources/AdminUser.php index 4d76f374e..0f70455a7 100644 --- a/app/Http/Resources/AdminUser.php +++ b/app/Http/Resources/AdminUser.php @@ -16,7 +16,6 @@ use Illuminate\Support\Carbon; * @property bool $is_admin * @property string $email * @property Carbon|null $email_verified_at - * @property bool $2fa_enabled * @property string|null $register_source * @property string|null $app_register_ip * @property bool $has_interstitial diff --git a/app/Util/Lexer/Autolink.php b/app/Util/Lexer/Autolink.php index 6322ea3be..356d69c00 100755 --- a/app/Util/Lexer/Autolink.php +++ b/app/Util/Lexer/Autolink.php @@ -142,7 +142,7 @@ class Autolink extends Regex protected $extractor = null; /** - * @var autolinkActiveUsersOnly + * @var bool */ protected $autolinkActiveUsersOnly = false; @@ -466,8 +466,8 @@ class Autolink extends Regex /** * Auto-link hashtags, URLs, usernames and lists, with JSON entities. * - * @param string The tweet to be converted - * @param mixed The entities info + * @param string $tweet The tweet to be converted + * @param mixed $json The entities info * @return string that auto-link HTML added * * @since 1.1.0 @@ -517,7 +517,7 @@ class Autolink extends Regex /** * Auto-link hashtags, URLs, usernames and lists. * - * @param string The tweet to be converted + * @param string $tweet The tweet to be converted * @return string that auto-link HTML added * * @since 1.1.0 diff --git a/app/Util/Lexer/HitHighlighter.php b/app/Util/Lexer/HitHighlighter.php index 820e61ee7..c84b787cb 100755 --- a/app/Util/Lexer/HitHighlighter.php +++ b/app/Util/Lexer/HitHighlighter.php @@ -99,8 +99,6 @@ class HitHighlighter extends Regex * @param string $tweet The tweet to be hit highlighted. * @param array $hits An array containing the start and end index pairs * for the highlighting. - * @param bool $escape Whether to escape the tweet (default: true). - * @param bool $full_encode Whether to encode all special characters. * @return string The hit highlighted tweet. */ public function highlight($tweet = null, ?array $hits = null) diff --git a/app/Util/Lexer/LooseAutolink.php b/app/Util/Lexer/LooseAutolink.php index 0cfd36239..00222f428 100755 --- a/app/Util/Lexer/LooseAutolink.php +++ b/app/Util/Lexer/LooseAutolink.php @@ -34,7 +34,7 @@ class LooseAutolink extends Autolink /** * Auto-link hashtags, URLs, usernames and lists. * - * @param string The tweet to be converted + * @param string $tweet The tweet to be converted * @return string that auto-link HTML added * * @deprecated since version 1.9.0 diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon new file mode 100644 index 000000000..640ae8f1a --- /dev/null +++ b/phpstan-baseline.neon @@ -0,0 +1,1603 @@ +parameters: + ignoreErrors: + - + message: '#^Access to an undefined property App\\Models\\Avatar\:\:\$thumb_path\.$#' + identifier: property.notFound + count: 5 + path: app/Console/Commands/Deprecated/AvatarDefaultMigration.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereHashtagId\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Console/Commands/Internal/HashtagCachedCountUpdate.php + + - + message: '#^Call to an undefined static method Illuminate\\Database\\Eloquent\\Model\:\:withTrashed\(\)\.$#' + identifier: staticMethod.notFound + count: 1 + path: app/Console/Commands/Media/MediaFilterCleanup.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$status\.$#' + identifier: property.notFound + count: 1 + path: app/Console/Commands/User/UserUnsuspend.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$followers_count\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/AccountController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$following\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/AccountController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$following_count\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/AccountController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 4 + path: app/Http/Controllers/AccountController.php + + - + message: '#^Access to an undefined property App\\Models\\AccountInterstitial\:\:\$count\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Access to an undefined property App\\Models\\AccountInterstitial\:\:\$month_year\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Access to an undefined property App\\Models\\AccountInterstitial\|Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\), App\\Models\\AccountInterstitial\>\:\:\$status\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Access to an undefined property App\\Models\\Contact\|Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\), App\\Models\\Contact\>\:\:\$user\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Access to an undefined property App\\Models\\Newsroom\:\:\$published\.$#' + identifier: property.notFound + count: 4 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Access to an undefined property App\\Models\\Newsroom\|Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\), App\\Models\\Newsroom\>\:\:\$published\.$#' + identifier: property.notFound + count: 4 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Access to an undefined property App\\Models\\User\|Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\), App\\Models\\User\>\:\:\$bio\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Access to an undefined property App\\Models\\User\|Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\), App\\Models\\User\>\:\:\$website\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$bio\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$delete_after\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$profile_id\.$#' + identifier: property.notFound + count: 14 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$status\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$username\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$website\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Call to an undefined method Illuminate\\Contracts\\Pagination\\CursorPaginator\:\:map\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereUserId\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/AdminController.php + + - + message: '#^Access to an undefined property App\\Models\\CuratedRegister\|Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\), App\\Models\\CuratedRegister\>\:\:\$message\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/AdminCuratedRegisterController.php + + - + message: '#^Access to an undefined property App\\Models\\AccountInterstitial\|Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\), App\\Models\\AccountInterstitial\>\:\:\$status\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/Api/AdminApiController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$cw\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/AdminApiController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 4 + path: app/Http/Controllers/Api/AdminApiController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_admin\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/AdminApiController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$no_autolink\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/AdminApiController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$profile\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/AdminApiController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$profile_id\.$#' + identifier: property.notFound + count: 10 + path: app/Http/Controllers/Api/AdminApiController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$unlisted\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/AdminApiController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereFollowingId\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Api/AdminApiController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereProfileId\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Api/AdminApiController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereUserId\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Api/AdminApiController.php + + - + message: '#^Access to an undefined property App\\Models\\User\:\:\$settings\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$bio\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$cw\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$followers_count\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$following_count\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 24 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_private\.$#' + identifier: property.notFound + count: 4 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_suggestable\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$unlisted\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$user_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$username\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$website\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Access to an undefined property Laravel\\Passport\\Contracts\\ScopeAuthorizable\:\:\$client\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Call to an undefined method Illuminate\\Contracts\\Pagination\\CursorPaginator\:\:filter\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereFollowingId\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereProfileId\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Api/ApiV1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$avatar\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/ApiV1Dot1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$cw\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/ApiV1Dot1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/ApiV1Dot1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_private\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/ApiV1Dot1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$unlisted\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/ApiV1Dot1Controller.php + + - + message: '#^Access to an undefined property Laravel\\Passport\\Contracts\\ScopeAuthorizable\:\:\$id\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/Api/ApiV1Dot1Controller.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereEmail\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Api/ApiV1Dot1Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Api/ApiV2Controller.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$avatar\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/BaseApiController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Api/BaseApiController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereProfileId\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Api/BaseApiController.php + + - + message: '#^Access to protected property Laravel\\Passport\\PersonalAccessTokenResult\:\:\$token\.$#' + identifier: property.protected + count: 1 + path: app/Http/Controllers/AppRegisterController.php + + - + message: '#^Call to an undefined method Illuminate\\Contracts\\Auth\\StatefulGuard\:\:getLastAttempted\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Auth/LoginController.php + + - + message: '#^Call to an undefined method Illuminate\\Contracts\\Auth\\StatefulGuard\:\:getProvider\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Auth/LoginController.php + + - + message: '#^Access to an undefined property App\\Models\\Avatar\:\:\$recentlyCreated\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/AvatarController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$avatar\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/AvatarController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/AvatarController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/CircleController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/CollectionController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 4 + path: app/Http/Controllers/CommentController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_private\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/CommentController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$username\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/CommentController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:url\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/CommentController.php + + - + message: '#^Access to an undefined property App\\Models\\Profile\:\:\$is_followed\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/ComposeController.php + + - + message: '#^Access to an undefined property App\\Models\\Status\:\:\$pc\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/ComposeController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$cw\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/ComposeController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 9 + path: app/Http/Controllers/ComposeController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_private\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/ComposeController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$unlisted\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/ComposeController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$user_id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/ComposeController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 6 + path: app/Http/Controllers/CustomFilterController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$keyword\.$#' + identifier: property.notFound + count: 4 + path: app/Http/Controllers/CustomFilterController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$status_id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/CustomFilterController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$whole_word\.$#' + identifier: property.notFound + count: 4 + path: app/Http/Controllers/CustomFilterController.php + + - + message: '#^Access to an undefined property App\\Models\\User\:\:\$settings\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/DirectMessageController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$caption\.$#' + identifier: property.notFound + count: 4 + path: app/Http/Controllers/DirectMessageController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$domain\.$#' + identifier: property.notFound + count: 4 + path: app/Http/Controllers/DirectMessageController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 14 + path: app/Http/Controllers/DirectMessageController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$media\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/DirectMessageController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/DirectMessageController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$username\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/DirectMessageController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:avatarUrl\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/DirectMessageController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:url\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/DirectMessageController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereScope\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/DiscoverController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$domain\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/FederationController.php + + - + message: '#^Access to an undefined property App\\Models\\GroupPost\|Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\), App\\Models\\GroupPost\>\:\:\$status_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/GroupController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\\:\:whereStatusId\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/GroupController.php + + - + message: '#^Access to an undefined property App\\Models\\GroupPost\|Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\), App\\Models\\GroupPost\>\:\:\$status_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/GroupFederationController.php + + - + message: '#^Access to an undefined property App\\Models\\GroupReport\:\:\$total\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Groups/GroupsAdminController.php + + - + message: '#^Access to an undefined property App\\Models\\GroupMember\:\:\$group\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Groups/GroupsApiController.php + + - + message: '#^Access to an undefined property App\\Models\\GroupPost\|Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\), App\\Models\\GroupPost\>\:\:\$in_reply_to_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Groups/GroupsPostController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Groups/GroupsPostController.php + + - + message: '#^Access to an undefined property App\\Models\\Profile\:\:\$profile_id\.$#' + identifier: property.notFound + count: 4 + path: app/Http/Controllers/Groups/GroupsSearchController.php + + - + message: '#^Access to an undefined property App\\Models\\GroupHashtag\|Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\), App\\Models\\GroupHashtag\>\:\:\$slug\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Groups/GroupsTopicController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/HashtagFollowController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/HashtagFollowController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 11 + path: app/Http/Controllers/ImportController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/InternalApiController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/MicroController.php + + - + message: '#^Access to protected property Laravel\\Passport\\PersonalAccessTokenResult\:\:\$token\.$#' + identifier: property.protected + count: 2 + path: app/Http/Controllers/PersonalAccessTokenController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereProfileId\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/PortfolioController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$aliases\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/ProfileAliasController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/ProfileController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$followers_count\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/ProfileMigrationController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$username\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/ProfileMigrationController.php + + - + message: '#^Access to an undefined property Illuminate\\Support\\ValidatedInput\:\:\$acct\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/ProfileMigrationController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/PublicApiController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$avatar\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/RemoteAuthController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$bio\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/RemoteAuthController.php + + - + message: '#^Access to an undefined property App\\Models\\UserOidcMapping\:\:\$user\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/RemoteOidcController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/ReportController.php + + - + message: '#^Access to an undefined property App\\Models\\Status\:\:\$count\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/SeasonalController.php + + - + message: '#^Access to an undefined property App\\Models\\StatusHashtag\:\:\$count\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/SeasonalController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/SeasonalController.php + + - + message: '#^Cannot call method getName\(\) on string\.$#' + identifier: method.nonObject + count: 2 + path: app/Http/Controllers/SeasonalController.php + + - + message: '#^Cannot call method url\(\) on string\.$#' + identifier: method.nonObject + count: 2 + path: app/Http/Controllers/SeasonalController.php + + - + message: '#^Access to an undefined property App\\Models\\User\:\:\$settings\.$#' + identifier: property.notFound + count: 5 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$bio\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$delete_after\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$header_bg\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 26 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$indexable\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_private\.$#' + identifier: property.notFound + count: 4 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_suggestable\.$#' + identifier: property.notFound + count: 4 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$profile_layout\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$status\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$statuses\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$user_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$username\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$website\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:blockedProfileUrls\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:followers\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:following\(\)\.$#' + identifier: method.notFound + count: 3 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:hashtagFollowing\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:mutedProfileUrls\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/SettingsController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 6 + path: app/Http/Controllers/StatusController.php + + - + message: '#^Access to an undefined property App\\Models\\Status\|Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\), App\\Models\\Status\>\:\:\$edits\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/StatusEditController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 5 + path: app/Http/Controllers/StoryController.php + + - + message: '#^Call to an undefined method Symfony\\Component\\HttpFoundation\\Response\:\:withHeaders\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Middleware/DeprecatedEndpoint.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:permalink\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Requests/ProfileMigrationStoreRequest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$cw\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Requests/Status/StoreStatusEditRequest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$status\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Requests/Status/StoreStatusEditRequest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$unlisted\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Requests/Status/StoreStatusEditRequest.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\StatusStateless\:\:\$caption\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Resources/StatusStateless.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\StatusStateless\:\:\$comments_disabled\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/StatusStateless.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\StatusStateless\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/StatusStateless.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\StatusStateless\:\:\$id\.$#' + identifier: property.notFound + count: 7 + path: app/Http/Resources/StatusStateless.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\StatusStateless\:\:\$in_reply_to_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/StatusStateless.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\StatusStateless\:\:\$in_reply_to_profile_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/StatusStateless.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\StatusStateless\:\:\$is_nsfw\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/StatusStateless.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\StatusStateless\:\:\$local\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/StatusStateless.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\StatusStateless\:\:\$place\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/StatusStateless.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\StatusStateless\:\:\$profile_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/StatusStateless.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\StatusStateless\:\:\$reply_count\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/StatusStateless.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\StatusStateless\:\:\$type\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/StatusStateless.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\StatusStateless\:\:\$visibility\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/StatusStateless.php + + - + message: '#^Call to an undefined method App\\Http\\Resources\\StatusStateless\:\:setType\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Resources/StatusStateless.php + + - + message: '#^Call to an undefined method App\\Http\\Resources\\StatusStateless\:\:url\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Resources/StatusStateless.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereUserId\(\)\.$#' + identifier: method.notFound + count: 3 + path: app/Jobs/DeletePipeline/DeleteAccountPipeline.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereFollowingId\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Jobs/FollowPipeline/FollowServiceWarmCache.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereProfileId\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Jobs/FollowPipeline/FollowServiceWarmCache.php + + - + message: '#^Access to an undefined property App\\Models\\ImportJob\|Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\), App\\Models\\ImportJob\>\:\:\$files\.$#' + identifier: property.notFound + count: 1 + path: app/Jobs/ImportPipeline/ImportInstagram.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:isExpired\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/CustomFilter.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Models/DirectMessage.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:permalink\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/FeatureAuthorization.php + + - + message: '#^Access to an undefined property App\\Models\\User\:\:\$settings\.$#' + identifier: property.notFound + count: 2 + path: app/Models/Profile.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Models/Status.php + + - + message: '#^Call to an undefined method App\\Models\\Mention\:\:permalink\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/Status.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Models/Story.php + + - + message: '#^Access to an undefined property App\\Models\\User\:\:\$settings\.$#' + identifier: property.notFound + count: 1 + path: app/Services/AccountService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$indexable\.$#' + identifier: property.notFound + count: 1 + path: app/Services/AccountService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_suggestable\.$#' + identifier: property.notFound + count: 1 + path: app/Services/AccountService.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereUsername\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Services/AccountService.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereType\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Services/DiscoverService.php + + - + message: '#^Access to an undefined property App\\Models\\User\:\:\$settings\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FeaturedCollectionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$domain\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FeaturedCollectionService.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:permalink\(\)\.$#' + identifier: method.notFound + count: 6 + path: app/Services/FeaturedCollectionService.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\\:\:whereStatusId\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Services/GroupService.php + + - + message: '#^Access to an undefined property App\\Models\\MediaTag\:\:\$status\.$#' + identifier: property.notFound + count: 1 + path: app/Services/MediaTagService.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Query\\Builder\:\:whereProfileId\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Services/ProfileStatusService.php + + - + message: '#^Access to an undefined property App\\Models\\StatusHashtag\:\:\$total\.$#' + identifier: property.notFound + count: 1 + path: app/Services/TrendingHashtagService.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:whereScope\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/ActivityPub/ProfileOutbox.php + + - + message: '#^Access to an undefined property App\\Models\\Profile\:\:\$aliases\.$#' + identifier: property.notFound + count: 2 + path: app/Transformer/ActivityPub/ProfileTransformer.php + + - + message: '#^Cannot access property \$country on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/StatusTransformer.php + + - + message: '#^Cannot access property \$lat on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/StatusTransformer.php + + - + message: '#^Cannot access property \$long on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/StatusTransformer.php + + - + message: '#^Cannot access property \$name on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/StatusTransformer.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/CreateNote.php + + - + message: '#^Call to an undefined method App\\Models\\Mention\:\:emailUrl\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/CreateNote.php + + - + message: '#^Call to an undefined method App\\Models\\Mention\:\:permalink\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/CreateNote.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:url\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/CreateNote.php + + - + message: '#^Cannot access property \$country on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/CreateNote.php + + - + message: '#^Cannot access property \$lat on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/CreateNote.php + + - + message: '#^Cannot access property \$long on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/CreateNote.php + + - + message: '#^Cannot access property \$name on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/CreateNote.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:permalink\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Transformer/ActivityPub/Verb/Like.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:url\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/Like.php + + - + message: '#^Access to an undefined property App\\Models\\ProfileMigration\:\:\$profile\.$#' + identifier: property.notFound + count: 3 + path: app/Transformer/ActivityPub/Verb/Move.php + + - + message: '#^Access to an undefined property App\\Models\\ProfileMigration\:\:\$target\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/Move.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/Note.php + + - + message: '#^Call to an undefined method App\\Models\\Mention\:\:emailUrl\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/Note.php + + - + message: '#^Call to an undefined method App\\Models\\Mention\:\:permalink\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/Note.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:url\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/Note.php + + - + message: '#^Cannot access property \$country on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/Note.php + + - + message: '#^Cannot access property \$lat on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/Note.php + + - + message: '#^Cannot access property \$long on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/Note.php + + - + message: '#^Cannot access property \$name on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/Note.php + + - + message: '#^Access to an undefined property App\\Models\\Status\:\:\$poll\.$#' + identifier: property.notFound + count: 3 + path: app/Transformer/ActivityPub/Verb/Question.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/Question.php + + - + message: '#^Call to an undefined method App\\Models\\Mention\:\:emailUrl\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/Question.php + + - + message: '#^Call to an undefined method App\\Models\\Mention\:\:permalink\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/Question.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:url\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/Question.php + + - + message: '#^Cannot access property \$country on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/Question.php + + - + message: '#^Cannot access property \$lat on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/Question.php + + - + message: '#^Cannot access property \$long on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/Question.php + + - + message: '#^Cannot access property \$name on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/Question.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:permalink\(\)\.$#' + identifier: method.notFound + count: 4 + path: app/Transformer/ActivityPub/Verb/UndoLike.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:url\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/UndoLike.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/UpdateNote.php + + - + message: '#^Call to an undefined method App\\Models\\Mention\:\:emailUrl\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/UpdateNote.php + + - + message: '#^Call to an undefined method App\\Models\\Mention\:\:permalink\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/UpdateNote.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:url\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/ActivityPub/Verb/UpdateNote.php + + - + message: '#^Cannot access property \$country on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/UpdateNote.php + + - + message: '#^Cannot access property \$lat on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/UpdateNote.php + + - + message: '#^Cannot access property \$long on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/UpdateNote.php + + - + message: '#^Cannot access property \$name on string\.$#' + identifier: property.nonObject + count: 1 + path: app/Transformer/ActivityPub/Verb/UpdateNote.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:whereIsNsfw\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/Api/AccountWithStatusesTransformer.php + + - + message: '#^Access to an undefined property App\\Models\\Notification\:\:\$actor\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/Api/Mastodon/v1/NotificationTransformer.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$object_uid\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/Api/NotificationTransformer.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$profile_id\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/Api/NotificationTransformer.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$status_id\.$#' + identifier: property.notFound + count: 2 + path: app/Transformer/Api/NotificationTransformer.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$tagged_username\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/Api/NotificationTransformer.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: app/Transformer/Api/RelationshipTransformer.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:blockedIds\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/Api/RelationshipTransformer.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:followedBy\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/Api/RelationshipTransformer.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:follows\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/Api/RelationshipTransformer.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:mutedIds\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/Api/RelationshipTransformer.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/Api/StatusHashtagTransformer.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_nsfw\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/Api/StatusHashtagTransformer.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$likes_count\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/Api/StatusHashtagTransformer.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/Api/StatusHashtagTransformer.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$reblogs_count\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/Api/StatusHashtagTransformer.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$scope\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/Api/StatusHashtagTransformer.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$type\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/Api/StatusHashtagTransformer.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$username\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/Api/StatusHashtagTransformer.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:firstMedia\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Transformer/Api/StatusHashtagTransformer.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:thumb\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Transformer/Api/StatusHashtagTransformer.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:url\(\)\.$#' + identifier: method.notFound + count: 3 + path: app/Transformer/Api/StatusHashtagTransformer.php + + - + message: '#^Access to an undefined property App\\Models\\StoryItem\:\:\$story\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/Api/StoryItemTransformer.php + + - + message: '#^Access to an undefined property App\\Models\\StoryItem\:\:\$type\.$#' + identifier: property.notFound + count: 1 + path: app/Transformer/Api/StoryItemTransformer.php + + - + message: '#^Access to an undefined property App\\Models\\User\:\:\$settings\.$#' + identifier: property.notFound + count: 1 + path: app/Util/ActivityPub/Inbox.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:whereScope\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Util/Sentiment/Bouncer.php diff --git a/phpstan.neon b/phpstan.neon index d30215446..3ca28f8c1 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,14 +1,14 @@ includes: - vendor/larastan/larastan/extension.neon - vendor/nesbot/carbon/extension.neon + - phpstan-baseline.neon parameters: - level: 0 #Larascan supports 0-9. 10 is not required + level: 2 #Larascan supports 0-9. 10 is not required paths: - app/ - routes/ - - tests/ excludePaths: - bootstrap/cache/* @@ -40,4 +40,44 @@ parameters: ignoreErrors: - '#Unsafe usage of new static#' + # Larastan's Redis facade stubs are incomplete: pipeline() accepts a + # callback and set() accepts TTL/flag args. These calls are valid. + - + message: '#Static method Redis::pipeline\(\) invoked with 1 parameter, 0 required#' + paths: + - app/Services/NotificationService.php + - app/Services/StoryIndexService.php + - + message: '#Static method Redis::set\(\) invoked with 4 parameters, 2-3 required#' + path: app/Services/NotificationService.php + + # Eloquent dynamic "where{Attribute}()" magic methods that Larastan + # cannot resolve for these models. Calls are valid at runtime. + - + message: '#Call to an undefined static method App\\Models\\GroupPost::where\w+\(\)#' + paths: + - app/Http/Controllers/Groups/GroupsPostController.php + - app/Jobs/GroupPipeline/GroupCommentPipeline.php + + # Fractal resource property set dynamically from the transformed data. + - + message: '#Access to an undefined property App\\Http\\Resources\\AdminUser::\$2fa_enabled#' + path: app/Http/Resources/AdminUser.php + + # Intentional defensive empty()/isset() guards on values that the + # current control flow proves are always set. Kept for safety against + # future refactors; not bugs. + - + message: '#in empty\(\) always exists and is (not falsy|always falsy)#' + paths: + - app/Http/Controllers/FederationController.php + - app/Jobs/InboxPipeline/InboxValidator.php + - app/Models/CustomFilter.php + - app/Util/ActivityPub/Helpers.php + - + message: '#in isset\(\) always exists and is not nullable#' + paths: + - app/Http/Controllers/StoryComposeController.php + - app/Util/Lexer/Validator.php + reportUnmatchedIgnoredErrors: false