aerni / statamic-advanced-seo

Comprehensive SEO addon for Statamic with flexibility in mind
https://statamic.com/addons/aerni/advanced-seo
10 stars 5 forks source link

Undefined array key "handle" when trying to open blueprint editor #68

Closed tobimori closed 1 year ago

tobimori commented 1 year ago
CleanShot 2023-05-14 at 13 54 33@2x

Statamic v4.1.1, Advanced SEO v2.1. Happens with every blueprint, no matter if collection or fieldset.

tobimori commented 1 year ago

The same error happens to occur with a clean install:

CleanShot 2023-05-14 at 14 08 39@2x
aerni commented 1 year ago

Please provide clear instructions on how to reproduce this issue. I'm not running into any exceptions when opening the blueprint editor like the title of this issue suggests.

insight-media commented 1 year ago

I'm experiencing the same exception under the exact same conditions. Upgraded from Statamic 3.4 to 4.1.1 Using Advanced SEO v2.1 and Laravel 9.52.7

When creating a new field in an existing blueprint or even a new blueprint.

`[2023-05-15 15:26:27] [192.168.10.1] local.ERROR []: Undefined array key "handle" {"userId":53,"exception":"[object] (ErrorException(code: 0): Undefined array key \"handle\" at /var/www//vendor/aerni/advanced-seo/src/Fields/BaseFields.php:37) [stacktrace]

0 /var/www/***/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(270): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError()

1 /var/www/***/vendor/aerni/advanced-seo/src/Fields/BaseFields.php(37): Illuminate\Foundation\Bootstrap\HandleExceptions->Illuminate\Foundation\Bootstrap\{closure}()

2 /var/www/***/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(819): Aerni\AdvancedSeo\Fields\BaseFields->Aerni\AdvancedSeo\Fields\{closure}()

3 /var/www/***/vendor/aerni/advanced-seo/src/Fields/BaseFields.php(38): Illuminate\Support\Collection->mapWithKeys()

4 /var/www/***/vendor/aerni/advanced-seo/src/Fieldtypes/AdvancedSeoFieldtype.php(16): Aerni\AdvancedSeo\Fields\BaseFields->items()

5 /var/www/***/vendor/aerni/advanced-seo/src/Fieldtypes/AdvancedSeoFieldtype.php(29): Aerni\AdvancedSeo\Fieldtypes\AdvancedSeoFieldtype->options()

6 /var/www/***/vendor/statamic/cms/src/Fields/Fieldtype.php(241): Aerni\AdvancedSeo\Fieldtypes\AdvancedSeoFieldtype->configFieldItems()

7 /var/www/***/vendor/statamic/cms/src/Fields/Fieldtype.php(170): Statamic\Fields\Fieldtype->configFields()

8 /var/www/***/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(863): Statamic\Fields\Fieldtype->toArray()

9 [internal function]: Illuminate\Support\Collection->Illuminate\Support\Traits\{closure}()

10 /var/www/***/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(867): array_map()

11 /var/www/***/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(878): Illuminate\Support\Collection->jsonSerialize()

12 /var/www/***/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php(81): Illuminate\Support\Collection->toJson()

13 /var/www/***/vendor/symfony/http-foundation/JsonResponse.php(49): Illuminate\Http\JsonResponse->setData()

14 /var/www/***/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php(32): Symfony\Component\HttpFoundation\JsonResponse->__construct()

15 /var/www/***/vendor/laravel/framework/src/Illuminate/Routing/Router.php(904): Illuminate\Http\JsonResponse->__construct()

16 /var/www/***/vendor/laravel/framework/src/Illuminate/Routing/Router.php(875): Illuminate\Routing\Router::toResponse()

17 /var/www/***/vendor/laravel/framework/src/Illuminate/Routing/Router.php(798): Illuminate\Routing\Router->prepareResponse()

18 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\Routing\Router->Illuminate\Routing\{closure}()

19 /var/www/***/vendor/statamic/cms/src/Http/Middleware/DeleteTemporaryFileUploads.php(18): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

20 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Statamic\Http\Middleware\DeleteTemporaryFileUploads->handle()

21 /var/www/***/vendor/statamic/cms/src/Http/Middleware/CP/CountUsers.php(18): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

22 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Statamic\Http\Middleware\CP\CountUsers->handle()

23 /var/www/***/vendor/statamic/cms/src/Http/Middleware/CP/BootUtilities.php(14): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

24 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Statamic\Http\Middleware\CP\BootUtilities->handle()

25 /var/www/***/vendor/statamic/cms/src/Http/Middleware/CP/BootPreferences.php(14): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

26 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Statamic\Http\Middleware\CP\BootPreferences->handle()

27 /var/www/***/vendor/statamic/cms/src/Http/Middleware/CP/BootPermissions.php(14): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

28 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Statamic\Http\Middleware\CP\BootPermissions->handle()

29 /var/www/***/vendor/statamic/cms/src/Http/Middleware/CP/Localize.php(19): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

30 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Statamic\Http\Middleware\CP\Localize->handle()

31 /var/www/***/vendor/statamic/cms/src/Http/Middleware/CP/Authorize.php(25): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

32 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Statamic\Http\Middleware\CP\Authorize->handle()

33 /var/www/***/vendor/statamic/cms/src/Http/Middleware/CP/AddToasts.php(22): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

34 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Statamic\Http\Middleware\CP\AddToasts->handle()

35 /var/www/***/vendor/statamic/cms/src/Http/Middleware/CP/AuthGuard.php(14): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

36 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Statamic\Http\Middleware\CP\AuthGuard->handle()

37 /var/www/***/vendor/statamic/cms/src/Http/Middleware/CP/ContactOutpost.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

38 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Statamic\Http\Middleware\CP\ContactOutpost->handle()

39 /var/www/***/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

40 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Routing\Middleware\SubstituteBindings->handle()

41 /var/www/***/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

42 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle()

43 /var/www/***/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

44 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\View\Middleware\ShareErrorsFromSession->handle()

45 /var/www/***/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

46 /var/www/***/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\Session\Middleware\StartSession->handleStatefulRequest()

47 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Session\Middleware\StartSession->handle()

48 /var/www/***/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

49 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle()

50 /var/www/***/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

51 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Cookie\Middleware\EncryptCookies->handle()

52 /var/www/***/vendor/statamic/cms/src/Http/Middleware/SwapExceptionHandler.php(19): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

53 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Statamic\Http\Middleware\SwapExceptionHandler->handle()

54 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

55 /var/www/***/vendor/laravel/framework/src/Illuminate/Routing/Router.php(799): Illuminate\Pipeline\Pipeline->then()

56 /var/www/***/vendor/laravel/framework/src/Illuminate/Routing/Router.php(776): Illuminate\Routing\Router->runRouteWithinStack()

57 /var/www/***/vendor/laravel/framework/src/Illuminate/Routing/Router.php(740): Illuminate\Routing\Router->runRoute()

58 /var/www/***/vendor/laravel/framework/src/Illuminate/Routing/Router.php(729): Illuminate\Routing\Router->dispatchToRoute()

59 /var/www/***/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(190): Illuminate\Routing\Router->dispatch()

60 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}()

61 /var/www/***/vendor/statamic/cms/src/Http/Middleware/DisableFloc.php(18): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

62 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Statamic\Http\Middleware\DisableFloc->handle()

63 /var/www/***/vendor/statamic/cms/src/Http/Middleware/CheckMultisite.php(14): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

64 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Statamic\Http\Middleware\CheckMultisite->handle()

65 /var/www/***/vendor/statamic/cms/src/Http/Middleware/CheckComposerJsonScripts.php(14): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

66 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Statamic\Http\Middleware\CheckComposerJsonScripts->handle()

67 /var/www/***/vendor/statamic/cms/src/Http/Middleware/PoweredByHeader.php(19): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

68 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Statamic\Http\Middleware\PoweredByHeader->handle()

69 /var/www/***/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(59): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

70 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Barryvdh\Debugbar\Middleware\InjectDebugbar->handle()

71 /var/www/***/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

72 /var/www/***/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()

73 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle()

74 /var/www/***/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

75 /var/www/***/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()

76 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\TrimStrings->handle()

77 /var/www/***/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

78 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle()

79 /var/www/***/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

80 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle()

81 /var/www/***/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

82 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Http\Middleware\HandleCors->handle()

83 /var/www/***/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

84 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Http\Middleware\TrustProxies->handle()

85 /var/www/***/vendor/bc_consulting/rewrite-x-forwarded-headers/src/Http/Middleware/RewriteXForwardedHeaders.php(23): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

86 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): BcConsulting\RewriteXForwardedHeaders\Http\Middleware\RewriteXForwardedHeaders->handle()

87 /var/www/***/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()

88 /var/www/***/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(165): Illuminate\Pipeline\Pipeline->then()

89 /var/www/***/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(134): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter()

90 /var/www/***/public/index.php(52): Illuminate\Foundation\Http\Kernel->handle()

91 {main}

"} `

tobimori commented 1 year ago

Please provide clear instructions on how to reproduce this issue. I'm not running into any exceptions when opening the blueprint editor like the title of this issue suggests.

Create a new statamic v4 site, install the plugin, and open the "add fields" modal in the blueprint editor.

aerni commented 1 year ago

Got it, thanks. Will look into this.

tobimori commented 1 year ago

Works for me, when will you release it?

aerni commented 1 year ago

I just released a new version with the fix.