codenco-dev / nova-grid-system

Nova grid system for Laravel Nova
80 stars 33 forks source link

Don't boot Nova Request in the Service Provider #35

Open tylernathanreed opened 8 months ago

tylernathanreed commented 8 months ago

After installing this package, I ran into an issue that was a bit tricky to source, but it ultimately comes back here.

In short, the service provider for this package injects NovaRequest as a dependency to the service provider's boot method. Booting a form request early in the lifecycle of a Laravel application causes unintended side-effects.

This PR simply changes the service provider to inject the NovaRequest instance as its needed, which is inside of macros exclusively. In other words, until one of these macros is called, the NovaRequest instance isn't resolved out of the container. This prevents said side-effects.

Additionally, macros are loaded statically, so you don't need to register them on the ServingNova event; you can just register them.