is_external_url modifier breaks when an Entry is selected in a Link field #10072

Description

@ammonitedigital

Bug description

Related to #10026, an exception is thrown when attempting to use the is_external_url modifier on a Link field.

The previous fix resolved entering a URL, however the issue still persists when an Entry is selected instead.

I've opened #10071 with a potential fix.

How to reproduce

  1. On a fresh installation, add a Link field to the Page blueprint
  2. Edit the Home page and point the Link field to an Entry (not URL)
  3. In layout.antlers.html, add the following:
<ahref="{{ link }}"target="{{ (link|is_external_url) ? '_blank' : '_self' }}"
>
Link Text
</a>

Logs

[2024-05-14 12:23:12] local.ERROR: str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\Entries\Entry given {"userId":"629be3ea-f10a-45e9-bdaf-4ce656a3067d","exception":"[object] (TypeError(code: 0): str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\\Entries\\Entry given at /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php:1494)
[stacktrace]
#0 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php(1494): str_starts_with(Object(Statamic\\Entries\\Entry), '/')
#1 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Support/Str.php(124): Illuminate\\Support\\Str::startsWith(Object(Statamic\\Entries\\Entry), Array)
#2 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/CoreModifiers.php(1271): Statamic\\Support\\Str::isUrl(Object(Statamic\\Entries\\Entry))
#3 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(197): Statamic\\Modifiers\\CoreModifiers->isExternalUrl(Object(Statamic\\Entries\\Entry), Array, Array)
#4 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(154): Statamic\\Modifiers\\Modify->runModifier('is_external_url', Array)
#5 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(131): Statamic\\Modifiers\\Modify->modify('is_external_url', Array)
#6 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/ModifierManager.php(121): Statamic\\Modifiers\\Modify->__call('is_external_url', Array)
#7 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1336): Statamic\\View\\Antlers\\Language\\Runtime\\ModifierManager::evaluate(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode), Array)
#8 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->applyModifiers(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode))
#9 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1593): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->adjustValue(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
#10 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
#11 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1564): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
#12 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\SemanticGroup))
#13 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(321): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
#14 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
#15 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1197): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateBool(Array)
#16 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(826): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateTernaryGroup(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\TernaryCondition))
#17 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(295): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
#18 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(318): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->processStatements(Array)
#19 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(1914): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
#20 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(750): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->reduce(Array)
#21 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(381): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->render(Array)
#22 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(773): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->renderText('<!doctype html>...', Array)
#23 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Engine.php(93): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->parseView('/Users/ammonitedigital/Site...', '<!doctype html>...', Array)
#24 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(208): Statamic\\View\\Antlers\\Engine->get('/Users/ammonitedigital/Site...', Array)
#25 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(191): Illuminate\\View\\View->getContents()
#26 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(160): Illuminate\\View\\View->renderContents()
#27 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/View.php(123): Illuminate\\View\\View->render()
#28 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(146): Statamic\\View\\View->render()
#29 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(42): Statamic\\Http\\Responses\\DataResponse->contents()
#30 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Structures/Page.php(420): Statamic\\Http\\Responses\\DataResponse->toResponse(Object(Illuminate\\Http\\Request))
#31 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(900): Statamic\\Structures\\Page->toResponse(Object(Illuminate\\Http\\Request))
#32 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
#33 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
#34 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#35 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/StaticCaching/Middleware/Cache.php(61): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\StaticCaching\\Middleware\\Cache->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AuthGuard.php(14): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AuthGuard->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AddViewPaths.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AddViewPaths->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/Localize.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\Localize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/HandleToken.php(13): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\HandleToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StacheLock.php(29): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StacheLock->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(88): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#54 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#55 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(75): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#62 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#63 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#64 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#65 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#66 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#67 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StopImpersonating.php(12): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#68 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StopImpersonating->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#69 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/DisableFloc.php(17): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#70 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\DisableFloc->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#71 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckMultisite.php(15): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#72 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckMultisite->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#73 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckComposerJsonScripts.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#74 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckComposerJsonScripts->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#75 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/PoweredByHeader.php(18): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#76 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\PoweredByHeader->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#77 /Users/ammonitedigital/Sites/statamic/vendor/barryvdh/laravel-destatamicbar/src/Middleware/InjectDestatamicbar.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#78 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Barryvdh\\Destatamicbar\\Middleware\\InjectDestatamicbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#79 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#80 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#81 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#82 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#83 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#84 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#85 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#86 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#87 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#88 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#89 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#90 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#91 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#92 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#93 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#94 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#95 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#96 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1172): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#97 /Users/ammonitedigital/Sites/statamic/public/index.php(17): Illuminate\\Foundation\\Application->handleRequest(Object(Illuminate\\Http\\Request))
#98 /Applications/Herd.app/Contents/Resources/valet/server.php(153): require('/Users/ammonitedigital/Site...')
#99 {main}
"} 

Environment

EnvironmentApplication Name: StatamicLaravel Version: 11.7.0PHP Version: 8.2.15Composer Version: 2.7.6Environment: localDebug Mode: ENABLEDURL: statamic.testMaintenance Mode: OFFCacheConfig: NOT CACHEDEvents: NOT CACHEDRoutes: NOT CACHEDViews: CACHEDDriversBroadcasting: logCache: statamicDatabase: sqliteLogs: stack / singleMail: logQueue: syncSession: fileStatamicAddons: 0Sites: 1Stache Watcher: EnabledStatic Caching: DisabledVersion: 5.0.2 Solo

Installation

Fresh statamic/statamic site via CLI

Additional details

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
       blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
      }
      } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
      })();
      (function(){
      try {
      var __m = "github.com";
      var __re = new RegExp('^' + "github\\.com" + '
      
      Skip to content

      is_external_url modifier breaks when an Entry is selected in a Link field #10072

      Description

      @ammonitedigital

      Bug description

      Related to #10026, an exception is thrown when attempting to use the is_external_url modifier on a Link field.

      The previous fix resolved entering a URL, however the issue still persists when an Entry is selected instead.

      I've opened #10071 with a potential fix.

      How to reproduce

      1. On a fresh installation, add a Link field to the Page blueprint
      2. Edit the Home page and point the Link field to an Entry (not URL)
      3. In layout.antlers.html, add the following:
      <ahref="{{ link }}"target="{{ (link|is_external_url) ? '_blank' : '_self' }}"
      >
      Link Text
      </a>

      Logs

      [2024-05-14 12:23:12] local.ERROR: str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\Entries\Entry given {"userId":"629be3ea-f10a-45e9-bdaf-4ce656a3067d","exception":"[object] (TypeError(code: 0): str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\\Entries\\Entry given at /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php:1494)
      [stacktrace]
      #0 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php(1494): str_starts_with(Object(Statamic\\Entries\\Entry), '/')
      #1 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Support/Str.php(124): Illuminate\\Support\\Str::startsWith(Object(Statamic\\Entries\\Entry), Array)
      #2 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/CoreModifiers.php(1271): Statamic\\Support\\Str::isUrl(Object(Statamic\\Entries\\Entry))
      #3 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(197): Statamic\\Modifiers\\CoreModifiers->isExternalUrl(Object(Statamic\\Entries\\Entry), Array, Array)
      #4 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(154): Statamic\\Modifiers\\Modify->runModifier('is_external_url', Array)
      #5 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(131): Statamic\\Modifiers\\Modify->modify('is_external_url', Array)
      #6 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/ModifierManager.php(121): Statamic\\Modifiers\\Modify->__call('is_external_url', Array)
      #7 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1336): Statamic\\View\\Antlers\\Language\\Runtime\\ModifierManager::evaluate(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode), Array)
      #8 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->applyModifiers(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode))
      #9 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1593): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->adjustValue(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
      #10 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
      #11 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1564): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
      #12 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\SemanticGroup))
      #13 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(321): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
      #14 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
      #15 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1197): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateBool(Array)
      #16 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(826): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateTernaryGroup(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\TernaryCondition))
      #17 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(295): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
      #18 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(318): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->processStatements(Array)
      #19 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(1914): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
      #20 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(750): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->reduce(Array)
      #21 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(381): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->render(Array)
      #22 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(773): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->renderText('<!doctype html>...', Array)
      #23 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Engine.php(93): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->parseView('/Users/ammonitedigital/Site...', '<!doctype html>...', Array)
      #24 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(208): Statamic\\View\\Antlers\\Engine->get('/Users/ammonitedigital/Site...', Array)
      #25 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(191): Illuminate\\View\\View->getContents()
      #26 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(160): Illuminate\\View\\View->renderContents()
      #27 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/View.php(123): Illuminate\\View\\View->render()
      #28 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(146): Statamic\\View\\View->render()
      #29 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(42): Statamic\\Http\\Responses\\DataResponse->contents()
      #30 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Structures/Page.php(420): Statamic\\Http\\Responses\\DataResponse->toResponse(Object(Illuminate\\Http\\Request))
      #31 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(900): Statamic\\Structures\\Page->toResponse(Object(Illuminate\\Http\\Request))
      #32 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
      #33 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
      #34 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
      #35 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/StaticCaching/Middleware/Cache.php(61): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #36 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\StaticCaching\\Middleware\\Cache->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #37 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AuthGuard.php(14): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #38 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AuthGuard->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #39 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AddViewPaths.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #40 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AddViewPaths->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #41 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/Localize.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #42 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\Localize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #43 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/HandleToken.php(13): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #44 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\HandleToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #45 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StacheLock.php(29): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #46 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StacheLock->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #47 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #48 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #49 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(88): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #50 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #51 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #52 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #53 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #54 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
      #55 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #56 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #57 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #58 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(75): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #59 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #60 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #61 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
      #62 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
      #63 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
      #64 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
      #65 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
      #66 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
      #67 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StopImpersonating.php(12): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #68 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StopImpersonating->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #69 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/DisableFloc.php(17): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #70 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\DisableFloc->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #71 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckMultisite.php(15): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #72 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckMultisite->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #73 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckComposerJsonScripts.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #74 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckComposerJsonScripts->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #75 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/PoweredByHeader.php(18): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #76 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\PoweredByHeader->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #77 /Users/ammonitedigital/Sites/statamic/vendor/barryvdh/laravel-destatamicbar/src/Middleware/InjectDestatamicbar.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #78 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Barryvdh\\Destatamicbar\\Middleware\\InjectDestatamicbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #79 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #80 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #81 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #82 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #83 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #84 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #85 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #86 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #87 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #88 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #89 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #90 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #91 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #92 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
      #93 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
      #94 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
      #95 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
      #96 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1172): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
      #97 /Users/ammonitedigital/Sites/statamic/public/index.php(17): Illuminate\\Foundation\\Application->handleRequest(Object(Illuminate\\Http\\Request))
      #98 /Applications/Herd.app/Contents/Resources/valet/server.php(153): require('/Users/ammonitedigital/Site...')
      #99 {main}
      "} 

      Environment

      EnvironmentApplication Name: StatamicLaravel Version: 11.7.0PHP Version: 8.2.15Composer Version: 2.7.6Environment: localDebug Mode: ENABLEDURL: statamic.testMaintenance Mode: OFFCacheConfig: NOT CACHEDEvents: NOT CACHEDRoutes: NOT CACHEDViews: CACHEDDriversBroadcasting: logCache: statamicDatabase: sqliteLogs: stack / singleMail: logQueue: syncSession: fileStatamicAddons: 0Sites: 1Stache Watcher: EnabledStatic Caching: DisabledVersion: 5.0.2 Solo

      Installation

      Fresh statamic/statamic site via CLI

      Additional details

      No response

      Activity

      Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

      Metadata

      Metadata

      Assignees

      No one assigned

        Type

        No type

        Projects

        No projects

          Milestone

          No milestone

          Relationships

          None yet

          Development

          No branches or pull requests

          Issue actions

          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
          Skip to content

          is_external_url modifier breaks when an Entry is selected in a Link field #10072

          Description

          @ammonitedigital

          Bug description

          Related to #10026, an exception is thrown when attempting to use the is_external_url modifier on a Link field.

          The previous fix resolved entering a URL, however the issue still persists when an Entry is selected instead.

          I've opened #10071 with a potential fix.

          How to reproduce

          1. On a fresh installation, add a Link field to the Page blueprint
          2. Edit the Home page and point the Link field to an Entry (not URL)
          3. In layout.antlers.html, add the following:
          <ahref="{{ link }}"target="{{ (link|is_external_url) ? '_blank' : '_self' }}"
          >
          Link Text
          </a>

          Logs

          [2024-05-14 12:23:12] local.ERROR: str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\Entries\Entry given {"userId":"629be3ea-f10a-45e9-bdaf-4ce656a3067d","exception":"[object] (TypeError(code: 0): str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\\Entries\\Entry given at /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php:1494)
          [stacktrace]
          #0 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php(1494): str_starts_with(Object(Statamic\\Entries\\Entry), '/')
          #1 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Support/Str.php(124): Illuminate\\Support\\Str::startsWith(Object(Statamic\\Entries\\Entry), Array)
          #2 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/CoreModifiers.php(1271): Statamic\\Support\\Str::isUrl(Object(Statamic\\Entries\\Entry))
          #3 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(197): Statamic\\Modifiers\\CoreModifiers->isExternalUrl(Object(Statamic\\Entries\\Entry), Array, Array)
          #4 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(154): Statamic\\Modifiers\\Modify->runModifier('is_external_url', Array)
          #5 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(131): Statamic\\Modifiers\\Modify->modify('is_external_url', Array)
          #6 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/ModifierManager.php(121): Statamic\\Modifiers\\Modify->__call('is_external_url', Array)
          #7 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1336): Statamic\\View\\Antlers\\Language\\Runtime\\ModifierManager::evaluate(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode), Array)
          #8 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->applyModifiers(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode))
          #9 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1593): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->adjustValue(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
          #10 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
          #11 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1564): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
          #12 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\SemanticGroup))
          #13 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(321): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
          #14 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
          #15 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1197): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateBool(Array)
          #16 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(826): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateTernaryGroup(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\TernaryCondition))
          #17 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(295): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
          #18 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(318): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->processStatements(Array)
          #19 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(1914): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
          #20 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(750): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->reduce(Array)
          #21 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(381): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->render(Array)
          #22 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(773): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->renderText('<!doctype html>...', Array)
          #23 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Engine.php(93): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->parseView('/Users/ammonitedigital/Site...', '<!doctype html>...', Array)
          #24 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(208): Statamic\\View\\Antlers\\Engine->get('/Users/ammonitedigital/Site...', Array)
          #25 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(191): Illuminate\\View\\View->getContents()
          #26 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(160): Illuminate\\View\\View->renderContents()
          #27 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/View.php(123): Illuminate\\View\\View->render()
          #28 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(146): Statamic\\View\\View->render()
          #29 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(42): Statamic\\Http\\Responses\\DataResponse->contents()
          #30 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Structures/Page.php(420): Statamic\\Http\\Responses\\DataResponse->toResponse(Object(Illuminate\\Http\\Request))
          #31 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(900): Statamic\\Structures\\Page->toResponse(Object(Illuminate\\Http\\Request))
          #32 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
          #33 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
          #34 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
          #35 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/StaticCaching/Middleware/Cache.php(61): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #36 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\StaticCaching\\Middleware\\Cache->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #37 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AuthGuard.php(14): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #38 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AuthGuard->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #39 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AddViewPaths.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #40 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AddViewPaths->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #41 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/Localize.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #42 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\Localize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #43 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/HandleToken.php(13): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #44 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\HandleToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #45 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StacheLock.php(29): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #46 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StacheLock->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #47 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #48 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #49 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(88): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #50 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #51 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #52 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #53 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #54 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
          #55 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #56 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #57 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #58 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(75): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #59 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #60 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #61 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
          #62 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
          #63 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
          #64 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
          #65 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
          #66 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
          #67 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StopImpersonating.php(12): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #68 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StopImpersonating->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #69 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/DisableFloc.php(17): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #70 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\DisableFloc->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #71 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckMultisite.php(15): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #72 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckMultisite->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #73 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckComposerJsonScripts.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #74 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckComposerJsonScripts->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #75 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/PoweredByHeader.php(18): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #76 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\PoweredByHeader->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #77 /Users/ammonitedigital/Sites/statamic/vendor/barryvdh/laravel-destatamicbar/src/Middleware/InjectDestatamicbar.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #78 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Barryvdh\\Destatamicbar\\Middleware\\InjectDestatamicbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #79 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #80 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #81 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #82 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #83 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #84 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #85 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #86 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #87 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #88 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #89 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #90 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #91 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #92 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
          #93 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
          #94 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
          #95 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
          #96 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1172): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
          #97 /Users/ammonitedigital/Sites/statamic/public/index.php(17): Illuminate\\Foundation\\Application->handleRequest(Object(Illuminate\\Http\\Request))
          #98 /Applications/Herd.app/Contents/Resources/valet/server.php(153): require('/Users/ammonitedigital/Site...')
          #99 {main}
          "} 

          Environment

          EnvironmentApplication Name: StatamicLaravel Version: 11.7.0PHP Version: 8.2.15Composer Version: 2.7.6Environment: localDebug Mode: ENABLEDURL: statamic.testMaintenance Mode: OFFCacheConfig: NOT CACHEDEvents: NOT CACHEDRoutes: NOT CACHEDViews: CACHEDDriversBroadcasting: logCache: statamicDatabase: sqliteLogs: stack / singleMail: logQueue: syncSession: fileStatamicAddons: 0Sites: 1Stache Watcher: EnabledStatic Caching: DisabledVersion: 5.0.2 Solo

          Installation

          Fresh statamic/statamic site via CLI

          Additional details

          No response

          Activity

          Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

          Metadata

          Metadata

          Assignees

          No one assigned

            Type

            No type

            Projects

            No projects

              Milestone

              No milestone

              Relationships

              None yet

              Development

              No branches or pull requests

              Issue actions

              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
              Skip to content

              is_external_url modifier breaks when an Entry is selected in a Link field #10072

              Description

              @ammonitedigital

              Bug description

              Related to #10026, an exception is thrown when attempting to use the is_external_url modifier on a Link field.

              The previous fix resolved entering a URL, however the issue still persists when an Entry is selected instead.

              I've opened #10071 with a potential fix.

              How to reproduce

              1. On a fresh installation, add a Link field to the Page blueprint
              2. Edit the Home page and point the Link field to an Entry (not URL)
              3. In layout.antlers.html, add the following:
              <ahref="{{ link }}"target="{{ (link|is_external_url) ? '_blank' : '_self' }}"
              >
              Link Text
              </a>

              Logs

              [2024-05-14 12:23:12] local.ERROR: str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\Entries\Entry given {"userId":"629be3ea-f10a-45e9-bdaf-4ce656a3067d","exception":"[object] (TypeError(code: 0): str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\\Entries\\Entry given at /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php:1494)
              [stacktrace]
              #0 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php(1494): str_starts_with(Object(Statamic\\Entries\\Entry), '/')
              #1 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Support/Str.php(124): Illuminate\\Support\\Str::startsWith(Object(Statamic\\Entries\\Entry), Array)
              #2 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/CoreModifiers.php(1271): Statamic\\Support\\Str::isUrl(Object(Statamic\\Entries\\Entry))
              #3 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(197): Statamic\\Modifiers\\CoreModifiers->isExternalUrl(Object(Statamic\\Entries\\Entry), Array, Array)
              #4 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(154): Statamic\\Modifiers\\Modify->runModifier('is_external_url', Array)
              #5 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(131): Statamic\\Modifiers\\Modify->modify('is_external_url', Array)
              #6 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/ModifierManager.php(121): Statamic\\Modifiers\\Modify->__call('is_external_url', Array)
              #7 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1336): Statamic\\View\\Antlers\\Language\\Runtime\\ModifierManager::evaluate(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode), Array)
              #8 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->applyModifiers(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode))
              #9 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1593): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->adjustValue(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
              #10 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
              #11 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1564): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
              #12 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\SemanticGroup))
              #13 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(321): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
              #14 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
              #15 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1197): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateBool(Array)
              #16 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(826): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateTernaryGroup(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\TernaryCondition))
              #17 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(295): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
              #18 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(318): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->processStatements(Array)
              #19 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(1914): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
              #20 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(750): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->reduce(Array)
              #21 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(381): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->render(Array)
              #22 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(773): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->renderText('<!doctype html>...', Array)
              #23 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Engine.php(93): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->parseView('/Users/ammonitedigital/Site...', '<!doctype html>...', Array)
              #24 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(208): Statamic\\View\\Antlers\\Engine->get('/Users/ammonitedigital/Site...', Array)
              #25 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(191): Illuminate\\View\\View->getContents()
              #26 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(160): Illuminate\\View\\View->renderContents()
              #27 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/View.php(123): Illuminate\\View\\View->render()
              #28 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(146): Statamic\\View\\View->render()
              #29 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(42): Statamic\\Http\\Responses\\DataResponse->contents()
              #30 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Structures/Page.php(420): Statamic\\Http\\Responses\\DataResponse->toResponse(Object(Illuminate\\Http\\Request))
              #31 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(900): Statamic\\Structures\\Page->toResponse(Object(Illuminate\\Http\\Request))
              #32 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
              #33 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
              #34 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
              #35 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/StaticCaching/Middleware/Cache.php(61): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #36 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\StaticCaching\\Middleware\\Cache->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #37 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AuthGuard.php(14): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #38 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AuthGuard->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #39 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AddViewPaths.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #40 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AddViewPaths->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #41 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/Localize.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #42 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\Localize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #43 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/HandleToken.php(13): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #44 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\HandleToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #45 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StacheLock.php(29): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #46 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StacheLock->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #47 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #48 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #49 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(88): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #50 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #51 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #52 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #53 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #54 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
              #55 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #56 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #57 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #58 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(75): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #59 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #60 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #61 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
              #62 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
              #63 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
              #64 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
              #65 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
              #66 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
              #67 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StopImpersonating.php(12): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #68 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StopImpersonating->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #69 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/DisableFloc.php(17): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #70 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\DisableFloc->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #71 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckMultisite.php(15): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #72 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckMultisite->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #73 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckComposerJsonScripts.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #74 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckComposerJsonScripts->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #75 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/PoweredByHeader.php(18): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #76 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\PoweredByHeader->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #77 /Users/ammonitedigital/Sites/statamic/vendor/barryvdh/laravel-destatamicbar/src/Middleware/InjectDestatamicbar.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #78 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Barryvdh\\Destatamicbar\\Middleware\\InjectDestatamicbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #79 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #80 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #81 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #82 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #83 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #84 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #85 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #86 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #87 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #88 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #89 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #90 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #91 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #92 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
              #93 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
              #94 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
              #95 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
              #96 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1172): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
              #97 /Users/ammonitedigital/Sites/statamic/public/index.php(17): Illuminate\\Foundation\\Application->handleRequest(Object(Illuminate\\Http\\Request))
              #98 /Applications/Herd.app/Contents/Resources/valet/server.php(153): require('/Users/ammonitedigital/Site...')
              #99 {main}
              "} 

              Environment

              EnvironmentApplication Name: StatamicLaravel Version: 11.7.0PHP Version: 8.2.15Composer Version: 2.7.6Environment: localDebug Mode: ENABLEDURL: statamic.testMaintenance Mode: OFFCacheConfig: NOT CACHEDEvents: NOT CACHEDRoutes: NOT CACHEDViews: CACHEDDriversBroadcasting: logCache: statamicDatabase: sqliteLogs: stack / singleMail: logQueue: syncSession: fileStatamicAddons: 0Sites: 1Stache Watcher: EnabledStatic Caching: DisabledVersion: 5.0.2 Solo

              Installation

              Fresh statamic/statamic site via CLI

              Additional details

              No response

              Activity

              Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

              Metadata

              Metadata

              Assignees

              No one assigned

                Type

                No type

                Projects

                No projects

                  Milestone

                  No milestone

                  Relationships

                  None yet

                  Development

                  No branches or pull requests

                  Issue actions

                  , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
                  Skip to content

                  is_external_url modifier breaks when an Entry is selected in a Link field #10072

                  Description

                  @ammonitedigital

                  Bug description

                  Related to #10026, an exception is thrown when attempting to use the is_external_url modifier on a Link field.

                  The previous fix resolved entering a URL, however the issue still persists when an Entry is selected instead.

                  I've opened #10071 with a potential fix.

                  How to reproduce

                  1. On a fresh installation, add a Link field to the Page blueprint
                  2. Edit the Home page and point the Link field to an Entry (not URL)
                  3. In layout.antlers.html, add the following:
                  <ahref="{{ link }}"target="{{ (link|is_external_url) ? '_blank' : '_self' }}"
                  >
                  Link Text
                  </a>

                  Logs

                  [2024-05-14 12:23:12] local.ERROR: str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\Entries\Entry given {"userId":"629be3ea-f10a-45e9-bdaf-4ce656a3067d","exception":"[object] (TypeError(code: 0): str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\\Entries\\Entry given at /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php:1494)
                  [stacktrace]
                  #0 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php(1494): str_starts_with(Object(Statamic\\Entries\\Entry), '/')
                  #1 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Support/Str.php(124): Illuminate\\Support\\Str::startsWith(Object(Statamic\\Entries\\Entry), Array)
                  #2 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/CoreModifiers.php(1271): Statamic\\Support\\Str::isUrl(Object(Statamic\\Entries\\Entry))
                  #3 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(197): Statamic\\Modifiers\\CoreModifiers->isExternalUrl(Object(Statamic\\Entries\\Entry), Array, Array)
                  #4 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(154): Statamic\\Modifiers\\Modify->runModifier('is_external_url', Array)
                  #5 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(131): Statamic\\Modifiers\\Modify->modify('is_external_url', Array)
                  #6 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/ModifierManager.php(121): Statamic\\Modifiers\\Modify->__call('is_external_url', Array)
                  #7 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1336): Statamic\\View\\Antlers\\Language\\Runtime\\ModifierManager::evaluate(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode), Array)
                  #8 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->applyModifiers(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode))
                  #9 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1593): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->adjustValue(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
                  #10 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
                  #11 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1564): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
                  #12 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\SemanticGroup))
                  #13 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(321): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
                  #14 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
                  #15 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1197): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateBool(Array)
                  #16 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(826): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateTernaryGroup(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\TernaryCondition))
                  #17 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(295): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
                  #18 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(318): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->processStatements(Array)
                  #19 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(1914): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
                  #20 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(750): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->reduce(Array)
                  #21 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(381): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->render(Array)
                  #22 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(773): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->renderText('<!doctype html>...', Array)
                  #23 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Engine.php(93): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->parseView('/Users/ammonitedigital/Site...', '<!doctype html>...', Array)
                  #24 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(208): Statamic\\View\\Antlers\\Engine->get('/Users/ammonitedigital/Site...', Array)
                  #25 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(191): Illuminate\\View\\View->getContents()
                  #26 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(160): Illuminate\\View\\View->renderContents()
                  #27 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/View.php(123): Illuminate\\View\\View->render()
                  #28 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(146): Statamic\\View\\View->render()
                  #29 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(42): Statamic\\Http\\Responses\\DataResponse->contents()
                  #30 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Structures/Page.php(420): Statamic\\Http\\Responses\\DataResponse->toResponse(Object(Illuminate\\Http\\Request))
                  #31 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(900): Statamic\\Structures\\Page->toResponse(Object(Illuminate\\Http\\Request))
                  #32 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
                  #33 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
                  #34 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
                  #35 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/StaticCaching/Middleware/Cache.php(61): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #36 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\StaticCaching\\Middleware\\Cache->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #37 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AuthGuard.php(14): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #38 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AuthGuard->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #39 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AddViewPaths.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #40 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AddViewPaths->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #41 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/Localize.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #42 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\Localize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #43 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/HandleToken.php(13): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #44 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\HandleToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #45 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StacheLock.php(29): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #46 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StacheLock->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #47 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #48 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #49 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(88): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #50 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #51 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #52 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #53 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #54 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
                  #55 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #56 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #57 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #58 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(75): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #59 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #60 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #61 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
                  #62 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
                  #63 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
                  #64 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
                  #65 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
                  #66 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
                  #67 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StopImpersonating.php(12): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #68 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StopImpersonating->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #69 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/DisableFloc.php(17): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #70 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\DisableFloc->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #71 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckMultisite.php(15): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #72 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckMultisite->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #73 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckComposerJsonScripts.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #74 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckComposerJsonScripts->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #75 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/PoweredByHeader.php(18): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #76 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\PoweredByHeader->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #77 /Users/ammonitedigital/Sites/statamic/vendor/barryvdh/laravel-destatamicbar/src/Middleware/InjectDestatamicbar.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #78 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Barryvdh\\Destatamicbar\\Middleware\\InjectDestatamicbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #79 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #80 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #81 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #82 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #83 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #84 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #85 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #86 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #87 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #88 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #89 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #90 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #91 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #92 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                  #93 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                  #94 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
                  #95 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
                  #96 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1172): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
                  #97 /Users/ammonitedigital/Sites/statamic/public/index.php(17): Illuminate\\Foundation\\Application->handleRequest(Object(Illuminate\\Http\\Request))
                  #98 /Applications/Herd.app/Contents/Resources/valet/server.php(153): require('/Users/ammonitedigital/Site...')
                  #99 {main}
                  "} 

                  Environment

                  EnvironmentApplication Name: StatamicLaravel Version: 11.7.0PHP Version: 8.2.15Composer Version: 2.7.6Environment: localDebug Mode: ENABLEDURL: statamic.testMaintenance Mode: OFFCacheConfig: NOT CACHEDEvents: NOT CACHEDRoutes: NOT CACHEDViews: CACHEDDriversBroadcasting: logCache: statamicDatabase: sqliteLogs: stack / singleMail: logQueue: syncSession: fileStatamicAddons: 0Sites: 1Stache Watcher: EnabledStatic Caching: DisabledVersion: 5.0.2 Solo

                  Installation

                  Fresh statamic/statamic site via CLI

                  Additional details

                  No response

                  Activity

                  Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                  Metadata

                  Metadata

                  Assignees

                  No one assigned

                    Type

                    No type

                    Projects

                    No projects

                      Milestone

                      No milestone

                      Relationships

                      None yet

                      Development

                      No branches or pull requests

                      Issue actions

                      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
                      Skip to content

                      is_external_url modifier breaks when an Entry is selected in a Link field #10072

                      Description

                      @ammonitedigital

                      Bug description

                      Related to #10026, an exception is thrown when attempting to use the is_external_url modifier on a Link field.

                      The previous fix resolved entering a URL, however the issue still persists when an Entry is selected instead.

                      I've opened #10071 with a potential fix.

                      How to reproduce

                      1. On a fresh installation, add a Link field to the Page blueprint
                      2. Edit the Home page and point the Link field to an Entry (not URL)
                      3. In layout.antlers.html, add the following:
                      <ahref="{{ link }}"target="{{ (link|is_external_url) ? '_blank' : '_self' }}"
                      >
                      Link Text
                      </a>

                      Logs

                      [2024-05-14 12:23:12] local.ERROR: str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\Entries\Entry given {"userId":"629be3ea-f10a-45e9-bdaf-4ce656a3067d","exception":"[object] (TypeError(code: 0): str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\\Entries\\Entry given at /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php:1494)
                      [stacktrace]
                      #0 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php(1494): str_starts_with(Object(Statamic\\Entries\\Entry), '/')
                      #1 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Support/Str.php(124): Illuminate\\Support\\Str::startsWith(Object(Statamic\\Entries\\Entry), Array)
                      #2 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/CoreModifiers.php(1271): Statamic\\Support\\Str::isUrl(Object(Statamic\\Entries\\Entry))
                      #3 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(197): Statamic\\Modifiers\\CoreModifiers->isExternalUrl(Object(Statamic\\Entries\\Entry), Array, Array)
                      #4 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(154): Statamic\\Modifiers\\Modify->runModifier('is_external_url', Array)
                      #5 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(131): Statamic\\Modifiers\\Modify->modify('is_external_url', Array)
                      #6 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/ModifierManager.php(121): Statamic\\Modifiers\\Modify->__call('is_external_url', Array)
                      #7 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1336): Statamic\\View\\Antlers\\Language\\Runtime\\ModifierManager::evaluate(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode), Array)
                      #8 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->applyModifiers(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode))
                      #9 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1593): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->adjustValue(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
                      #10 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
                      #11 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1564): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
                      #12 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\SemanticGroup))
                      #13 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(321): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
                      #14 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
                      #15 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1197): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateBool(Array)
                      #16 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(826): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateTernaryGroup(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\TernaryCondition))
                      #17 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(295): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
                      #18 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(318): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->processStatements(Array)
                      #19 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(1914): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
                      #20 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(750): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->reduce(Array)
                      #21 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(381): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->render(Array)
                      #22 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(773): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->renderText('<!doctype html>...', Array)
                      #23 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Engine.php(93): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->parseView('/Users/ammonitedigital/Site...', '<!doctype html>...', Array)
                      #24 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(208): Statamic\\View\\Antlers\\Engine->get('/Users/ammonitedigital/Site...', Array)
                      #25 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(191): Illuminate\\View\\View->getContents()
                      #26 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(160): Illuminate\\View\\View->renderContents()
                      #27 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/View.php(123): Illuminate\\View\\View->render()
                      #28 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(146): Statamic\\View\\View->render()
                      #29 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(42): Statamic\\Http\\Responses\\DataResponse->contents()
                      #30 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Structures/Page.php(420): Statamic\\Http\\Responses\\DataResponse->toResponse(Object(Illuminate\\Http\\Request))
                      #31 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(900): Statamic\\Structures\\Page->toResponse(Object(Illuminate\\Http\\Request))
                      #32 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
                      #33 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
                      #34 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
                      #35 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/StaticCaching/Middleware/Cache.php(61): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #36 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\StaticCaching\\Middleware\\Cache->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #37 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AuthGuard.php(14): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #38 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AuthGuard->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #39 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AddViewPaths.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #40 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AddViewPaths->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #41 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/Localize.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #42 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\Localize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #43 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/HandleToken.php(13): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #44 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\HandleToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #45 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StacheLock.php(29): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #46 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StacheLock->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #47 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #48 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #49 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(88): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #50 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #51 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #52 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #53 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #54 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
                      #55 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #56 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #57 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #58 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(75): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #59 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #60 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #61 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
                      #62 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
                      #63 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
                      #64 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
                      #65 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
                      #66 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
                      #67 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StopImpersonating.php(12): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #68 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StopImpersonating->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #69 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/DisableFloc.php(17): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #70 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\DisableFloc->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #71 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckMultisite.php(15): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #72 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckMultisite->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #73 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckComposerJsonScripts.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #74 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckComposerJsonScripts->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #75 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/PoweredByHeader.php(18): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #76 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\PoweredByHeader->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #77 /Users/ammonitedigital/Sites/statamic/vendor/barryvdh/laravel-destatamicbar/src/Middleware/InjectDestatamicbar.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #78 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Barryvdh\\Destatamicbar\\Middleware\\InjectDestatamicbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #79 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #80 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #81 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #82 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #83 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #84 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #85 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #86 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #87 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #88 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #89 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #90 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #91 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #92 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                      #93 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                      #94 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
                      #95 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
                      #96 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1172): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
                      #97 /Users/ammonitedigital/Sites/statamic/public/index.php(17): Illuminate\\Foundation\\Application->handleRequest(Object(Illuminate\\Http\\Request))
                      #98 /Applications/Herd.app/Contents/Resources/valet/server.php(153): require('/Users/ammonitedigital/Site...')
                      #99 {main}
                      "} 

                      Environment

                      EnvironmentApplication Name: StatamicLaravel Version: 11.7.0PHP Version: 8.2.15Composer Version: 2.7.6Environment: localDebug Mode: ENABLEDURL: statamic.testMaintenance Mode: OFFCacheConfig: NOT CACHEDEvents: NOT CACHEDRoutes: NOT CACHEDViews: CACHEDDriversBroadcasting: logCache: statamicDatabase: sqliteLogs: stack / singleMail: logQueue: syncSession: fileStatamicAddons: 0Sites: 1Stache Watcher: EnabledStatic Caching: DisabledVersion: 5.0.2 Solo

                      Installation

                      Fresh statamic/statamic site via CLI

                      Additional details

                      No response

                      Activity

                      Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                      Metadata

                      Metadata

                      Assignees

                      No one assigned

                        Type

                        No type

                        Projects

                        No projects

                          Milestone

                          No milestone

                          Relationships

                          None yet

                          Development

                          No branches or pull requests

                          Issue actions

                          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
                          Skip to content

                          is_external_url modifier breaks when an Entry is selected in a Link field #10072

                          Description

                          @ammonitedigital

                          Bug description

                          Related to #10026, an exception is thrown when attempting to use the is_external_url modifier on a Link field.

                          The previous fix resolved entering a URL, however the issue still persists when an Entry is selected instead.

                          I've opened #10071 with a potential fix.

                          How to reproduce

                          1. On a fresh installation, add a Link field to the Page blueprint
                          2. Edit the Home page and point the Link field to an Entry (not URL)
                          3. In layout.antlers.html, add the following:
                          <ahref="{{ link }}"target="{{ (link|is_external_url) ? '_blank' : '_self' }}"
                          >
                          Link Text
                          </a>

                          Logs

                          [2024-05-14 12:23:12] local.ERROR: str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\Entries\Entry given {"userId":"629be3ea-f10a-45e9-bdaf-4ce656a3067d","exception":"[object] (TypeError(code: 0): str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\\Entries\\Entry given at /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php:1494)
                          [stacktrace]
                          #0 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php(1494): str_starts_with(Object(Statamic\\Entries\\Entry), '/')
                          #1 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Support/Str.php(124): Illuminate\\Support\\Str::startsWith(Object(Statamic\\Entries\\Entry), Array)
                          #2 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/CoreModifiers.php(1271): Statamic\\Support\\Str::isUrl(Object(Statamic\\Entries\\Entry))
                          #3 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(197): Statamic\\Modifiers\\CoreModifiers->isExternalUrl(Object(Statamic\\Entries\\Entry), Array, Array)
                          #4 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(154): Statamic\\Modifiers\\Modify->runModifier('is_external_url', Array)
                          #5 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(131): Statamic\\Modifiers\\Modify->modify('is_external_url', Array)
                          #6 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/ModifierManager.php(121): Statamic\\Modifiers\\Modify->__call('is_external_url', Array)
                          #7 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1336): Statamic\\View\\Antlers\\Language\\Runtime\\ModifierManager::evaluate(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode), Array)
                          #8 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->applyModifiers(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode))
                          #9 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1593): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->adjustValue(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
                          #10 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
                          #11 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1564): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
                          #12 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\SemanticGroup))
                          #13 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(321): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
                          #14 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
                          #15 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1197): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateBool(Array)
                          #16 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(826): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateTernaryGroup(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\TernaryCondition))
                          #17 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(295): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
                          #18 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(318): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->processStatements(Array)
                          #19 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(1914): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
                          #20 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(750): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->reduce(Array)
                          #21 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(381): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->render(Array)
                          #22 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(773): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->renderText('<!doctype html>...', Array)
                          #23 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Engine.php(93): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->parseView('/Users/ammonitedigital/Site...', '<!doctype html>...', Array)
                          #24 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(208): Statamic\\View\\Antlers\\Engine->get('/Users/ammonitedigital/Site...', Array)
                          #25 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(191): Illuminate\\View\\View->getContents()
                          #26 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(160): Illuminate\\View\\View->renderContents()
                          #27 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/View.php(123): Illuminate\\View\\View->render()
                          #28 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(146): Statamic\\View\\View->render()
                          #29 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(42): Statamic\\Http\\Responses\\DataResponse->contents()
                          #30 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Structures/Page.php(420): Statamic\\Http\\Responses\\DataResponse->toResponse(Object(Illuminate\\Http\\Request))
                          #31 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(900): Statamic\\Structures\\Page->toResponse(Object(Illuminate\\Http\\Request))
                          #32 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
                          #33 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
                          #34 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
                          #35 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/StaticCaching/Middleware/Cache.php(61): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #36 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\StaticCaching\\Middleware\\Cache->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #37 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AuthGuard.php(14): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #38 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AuthGuard->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #39 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AddViewPaths.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #40 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AddViewPaths->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #41 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/Localize.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #42 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\Localize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #43 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/HandleToken.php(13): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #44 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\HandleToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #45 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StacheLock.php(29): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #46 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StacheLock->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #47 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #48 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #49 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(88): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #50 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #51 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #52 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #53 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #54 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
                          #55 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #56 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #57 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #58 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(75): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #59 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #60 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #61 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
                          #62 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
                          #63 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
                          #64 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
                          #65 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
                          #66 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
                          #67 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StopImpersonating.php(12): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #68 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StopImpersonating->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #69 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/DisableFloc.php(17): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #70 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\DisableFloc->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #71 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckMultisite.php(15): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #72 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckMultisite->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #73 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckComposerJsonScripts.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #74 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckComposerJsonScripts->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #75 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/PoweredByHeader.php(18): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #76 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\PoweredByHeader->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #77 /Users/ammonitedigital/Sites/statamic/vendor/barryvdh/laravel-destatamicbar/src/Middleware/InjectDestatamicbar.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #78 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Barryvdh\\Destatamicbar\\Middleware\\InjectDestatamicbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #79 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #80 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #81 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #82 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #83 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #84 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #85 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #86 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #87 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #88 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #89 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #90 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #91 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #92 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                          #93 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                          #94 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
                          #95 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
                          #96 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1172): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
                          #97 /Users/ammonitedigital/Sites/statamic/public/index.php(17): Illuminate\\Foundation\\Application->handleRequest(Object(Illuminate\\Http\\Request))
                          #98 /Applications/Herd.app/Contents/Resources/valet/server.php(153): require('/Users/ammonitedigital/Site...')
                          #99 {main}
                          "} 

                          Environment

                          EnvironmentApplication Name: StatamicLaravel Version: 11.7.0PHP Version: 8.2.15Composer Version: 2.7.6Environment: localDebug Mode: ENABLEDURL: statamic.testMaintenance Mode: OFFCacheConfig: NOT CACHEDEvents: NOT CACHEDRoutes: NOT CACHEDViews: CACHEDDriversBroadcasting: logCache: statamicDatabase: sqliteLogs: stack / singleMail: logQueue: syncSession: fileStatamicAddons: 0Sites: 1Stache Watcher: EnabledStatic Caching: DisabledVersion: 5.0.2 Solo

                          Installation

                          Fresh statamic/statamic site via CLI

                          Additional details

                          No response

                          Activity

                          Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                          Metadata

                          Metadata

                          Assignees

                          No one assigned

                            Type

                            No type

                            Projects

                            No projects

                              Milestone

                              No milestone

                              Relationships

                              None yet

                              Development

                              No branches or pull requests

                              Issue actions

                              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
                              Skip to content

                              is_external_url modifier breaks when an Entry is selected in a Link field #10072

                              Description

                              @ammonitedigital

                              Bug description

                              Related to #10026, an exception is thrown when attempting to use the is_external_url modifier on a Link field.

                              The previous fix resolved entering a URL, however the issue still persists when an Entry is selected instead.

                              I've opened #10071 with a potential fix.

                              How to reproduce

                              1. On a fresh installation, add a Link field to the Page blueprint
                              2. Edit the Home page and point the Link field to an Entry (not URL)
                              3. In layout.antlers.html, add the following:
                              <ahref="{{ link }}"target="{{ (link|is_external_url) ? '_blank' : '_self' }}"
                              >
                              Link Text
                              </a>

                              Logs

                              [2024-05-14 12:23:12] local.ERROR: str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\Entries\Entry given {"userId":"629be3ea-f10a-45e9-bdaf-4ce656a3067d","exception":"[object] (TypeError(code: 0): str_starts_with(): Argument #1 ($haystack) must be of type string, Statamic\\Entries\\Entry given at /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php:1494)
                              [stacktrace]
                              #0 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Support/Str.php(1494): str_starts_with(Object(Statamic\\Entries\\Entry), '/')
                              #1 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Support/Str.php(124): Illuminate\\Support\\Str::startsWith(Object(Statamic\\Entries\\Entry), Array)
                              #2 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/CoreModifiers.php(1271): Statamic\\Support\\Str::isUrl(Object(Statamic\\Entries\\Entry))
                              #3 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(197): Statamic\\Modifiers\\CoreModifiers->isExternalUrl(Object(Statamic\\Entries\\Entry), Array, Array)
                              #4 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(154): Statamic\\Modifiers\\Modify->runModifier('is_external_url', Array)
                              #5 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Modifiers/Modify.php(131): Statamic\\Modifiers\\Modify->modify('is_external_url', Array)
                              #6 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/ModifierManager.php(121): Statamic\\Modifiers\\Modify->__call('is_external_url', Array)
                              #7 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1336): Statamic\\View\\Antlers\\Language\\Runtime\\ModifierManager::evaluate(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode), Array)
                              #8 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->applyModifiers(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\Modifiers\\ModifierChainNode))
                              #9 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1593): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->adjustValue(Object(Statamic\\Fields\\Value), Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
                              #10 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\VariableNode))
                              #11 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1564): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
                              #12 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(947): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->getValue(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\SemanticGroup))
                              #13 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(321): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
                              #14 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(352): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
                              #15 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(1197): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateBool(Array)
                              #16 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(826): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluateTernaryGroup(Object(Statamic\\View\\Antlers\\Language\\Nodes\\Structures\\TernaryCondition))
                              #17 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(295): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->process(Array)
                              #18 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/Sandbox/Environment.php(318): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->processStatements(Array)
                              #19 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(1914): Statamic\\View\\Antlers\\Language\\Runtime\\Sandbox\\Environment->evaluate(Array)
                              #20 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/NodeProcessor.php(750): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->reduce(Array)
                              #21 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(381): Statamic\\View\\Antlers\\Language\\Runtime\\NodeProcessor->render(Array)
                              #22 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Language/Runtime/RuntimeParser.php(773): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->renderText('<!doctype html>...', Array)
                              #23 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/Antlers/Engine.php(93): Statamic\\View\\Antlers\\Language\\Runtime\\RuntimeParser->parseView('/Users/ammonitedigital/Site...', '<!doctype html>...', Array)
                              #24 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(208): Statamic\\View\\Antlers\\Engine->get('/Users/ammonitedigital/Site...', Array)
                              #25 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(191): Illuminate\\View\\View->getContents()
                              #26 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/View.php(160): Illuminate\\View\\View->renderContents()
                              #27 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/View/View.php(123): Illuminate\\View\\View->render()
                              #28 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(146): Statamic\\View\\View->render()
                              #29 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Responses/DataResponse.php(42): Statamic\\Http\\Responses\\DataResponse->contents()
                              #30 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Structures/Page.php(420): Statamic\\Http\\Responses\\DataResponse->toResponse(Object(Illuminate\\Http\\Request))
                              #31 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(900): Statamic\\Structures\\Page->toResponse(Object(Illuminate\\Http\\Request))
                              #32 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(885): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
                              #33 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Statamic\\Structures\\Page))
                              #34 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
                              #35 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/StaticCaching/Middleware/Cache.php(61): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #36 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\StaticCaching\\Middleware\\Cache->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #37 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AuthGuard.php(14): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #38 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AuthGuard->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #39 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/AddViewPaths.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #40 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\AddViewPaths->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #41 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/Localize.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #42 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\Localize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #43 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/HandleToken.php(13): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #44 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\HandleToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #45 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StacheLock.php(29): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #46 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StacheLock->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #47 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #48 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #49 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(88): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #50 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #51 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #52 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #53 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #54 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
                              #55 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #56 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #57 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #58 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(75): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #59 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #60 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #61 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
                              #62 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
                              #63 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
                              #64 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
                              #65 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
                              #66 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
                              #67 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/StopImpersonating.php(12): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #68 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\StopImpersonating->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #69 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/DisableFloc.php(17): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #70 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\DisableFloc->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #71 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckMultisite.php(15): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #72 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckMultisite->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #73 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/CheckComposerJsonScripts.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #74 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\CheckComposerJsonScripts->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #75 /Users/ammonitedigital/Sites/statamic/vendor/statamic/cms/src/Http/Middleware/PoweredByHeader.php(18): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #76 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Statamic\\Http\\Middleware\\PoweredByHeader->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #77 /Users/ammonitedigital/Sites/statamic/vendor/barryvdh/laravel-destatamicbar/src/Middleware/InjectDestatamicbar.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #78 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Barryvdh\\Destatamicbar\\Middleware\\InjectDestatamicbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #79 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #80 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #81 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #82 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #83 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #84 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #85 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #86 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #87 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #88 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #89 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #90 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #91 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #92 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
                              #93 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
                              #94 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
                              #95 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
                              #96 /Users/ammonitedigital/Sites/statamic/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1172): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
                              #97 /Users/ammonitedigital/Sites/statamic/public/index.php(17): Illuminate\\Foundation\\Application->handleRequest(Object(Illuminate\\Http\\Request))
                              #98 /Applications/Herd.app/Contents/Resources/valet/server.php(153): require('/Users/ammonitedigital/Site...')
                              #99 {main}
                              "} 

                              Environment

                              EnvironmentApplication Name: StatamicLaravel Version: 11.7.0PHP Version: 8.2.15Composer Version: 2.7.6Environment: localDebug Mode: ENABLEDURL: statamic.testMaintenance Mode: OFFCacheConfig: NOT CACHEDEvents: NOT CACHEDRoutes: NOT CACHEDViews: CACHEDDriversBroadcasting: logCache: statamicDatabase: sqliteLogs: stack / singleMail: logQueue: syncSession: fileStatamicAddons: 0Sites: 1Stache Watcher: EnabledStatic Caching: DisabledVersion: 5.0.2 Solo

                              Installation

                              Fresh statamic/statamic site via CLI

                              Additional details

                              No response

                              Activity

                              Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                              Metadata

                              Metadata

                              Assignees

                              No one assigned

                                Type

                                No type

                                Projects

                                No projects

                                  Milestone

                                  No milestone

                                  Relationships

                                  None yet

                                  Development

                                  No branches or pull requests

                                  Issue actions