Skip to content

[Bug]: Regression in v1.5 - "app" is stripped from filename leading to file not found exception #572

@reafeichtinger

Description

@reafeichtinger

Extension Version

v1.5+

PHP Binary

Sail

Operating System

Linux

What happened?

The issue

After updating the extension to v1.5 or v1.5.1 it started throwing an exception. The cause seems to be agressive namespace normalization. I have the following livewire 4 component:

@livewire('venues.bookings.partials.appointment-pagination') in
resources/views/livewire/venues/bookings/partials/appointment-pagination.blade.php

The error occurs because it is stripping the "app" from the filename of the component leading to
/resources/views/livewire/venues/bookings/partialsointment-pagination.blade.php, which obviously doesn't exist.

Of course I double checked for bad references in my code but everything is referenced correctly.

Workaround

Currently the only way to get the extension back to running normally (except for renaming my component which I don't want to do) is to rollback to v1.4.3.

Full error

2026-01-31 20:34:17.424 [error] Error: __VSCODE_LARAVEL_START_OUTPUT__
   ErrorException 

  file_get_contents(/app/resources/views/livewire/venues/bookings/partialsointment-pagination.blade.php): Failed to open stream: No such file or directory

  at vendor/_laravel_ide/discover-cfae44312a91110c691459b4106ded61.php:418
    414▕     }
    415▕ 
    416▕     protected function parseProps($compiler, array $component): ?string
    417▕     {
  ➜ 418▕         $content = file_get_contents(base_path($component['path']));
    419▕ 
    420▕         $result = '';
    421▕ 
    422▕         $compiler->directive('props', function ($expression) use (&$result) {

      �[2m+2 vendor frames �[22m

  3   [internal]:0
      class@anonymous\/app/vendor/_laravel_ide/discover-cfae44312a91110c691459b4106ded61.php:68$1::{closure:{closure:class@anonymous\/app/vendor/_laravel_ide/discover-cfae44312a91110c691459b4106ded61.php:68$1::setProps():397}:398}(["resources/views/livewire/venues/bookings/partialsointment-pagination.blade.php"])
      �[2m+4 vendor frames �[22m

  8   [internal]:0
      class@anonymous\/app/vendor/_laravel_ide/discover-cfae44312a91110c691459b4106ded61.php:68$1::{closure:class@anonymous\/app/vendor/_laravel_ide/discover-cfae44312a91110c691459b4106ded61.php:68$1::setProps():397}(Object(Illuminate\Support\Collection), "venues.bookings.partials.appointment-pagination")

Mimimal Code Sample

I would assume just creating a component that starts with "app" would be enough to trigger this.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions