Upgrade to Laravel 13 + nativephp/desktop, install laravel/boost#5
Draft
simonhamp wants to merge 1 commit into
Draft
Upgrade to Laravel 13 + nativephp/desktop, install laravel/boost#5simonhamp wants to merge 1 commit into
simonhamp wants to merge 1 commit into
Conversation
- Swap nativephp/electron + nativephp/laravel for unified nativephp/desktop ^2.0 (L13-compatible) - Bump laravel/framework to ^13.0 and laravel/tinker to ^2.8|^3.0 - Add laravel/boost ^2.0 (dev) plus generated CLAUDE.md, .mcp.json, boost.json and skills - Rename Native\Laravel\ -> Native\Desktop\ across providers, listeners, Livewire components, middleware, config - Update native:dev script to use native:run (native:serve now deprecated) - Fix Notifications Livewire component: replace fragile $wire.actions.push/splice/[index] with addAction/removeAction methods and @foreach + wire:model.live binding (Livewire 3.8 proxy serializes those paths through toJSON, triggering MethodNotFoundException) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
nativephp/electron+nativephp/laravelwith the unifiednativephp/desktop ^2.0, which is the first NativePHP package to declareilluminate/contracts ^13.0support.laravel/frameworkto^13.0andlaravel/tinkerto^2.8|^3.0(tinker 2.x caps at L12).laravel/boost ^2.0(dev) and the artifacts produced byphp artisan boost:install—CLAUDE.md,.mcp.json,boost.json, plus the bundled.claude/skills/(laravel-best-practices, livewire-development, tailwindcss-development).Native\Laravel\→Native\Desktop\everywhere it's referenced — providers, listeners, middleware registration inapp/Http/Kernel.php, every Livewire component, and the facade aliases inconfig/app.php.native:devComposer script to callphp artisan native:run(native:serveis now deprecated innativephp/desktop).Notifications screen fix
While exercising the upgraded app, the
/notificationsLivewire component threwMethodNotFoundException: Public method [toJSON] not found on componentfromPOST /livewire/update.Root cause: the Blade view mutated a Livewire array directly through the
$wireproxy with patterns like$wire.actions.push(''),$wire.actions.splice(index, 1)andx-model="$wire.actions[index]". Livewire 3.8's$wireproxy now routes those access paths throughJSON.stringify, which invokes$wire.toJSON()— and the proxy faithfully POSTs that as a real server-side method call, exploding inHandleComponents::callMethods.Fix uses the canonical Livewire 3 pattern:
addAction()/removeAction(int $index)public methods onApp\Livewire\Notifications.x-forblock with@foreach+wire:clickandwire:model.live="actions.{{ \$index }}".x-data="actions"(no matchingAlpine.dataregistration existed).Verified
php artisan package:discover,optimize:clear,route:list,aboutall clean on Laravel 13.8.0.Native\Desktop\Facades\App, and only fails at the expectedlocalhost:4000Electron sidecar call (which isn't running in the preview).Test plan
composer native:dev— confirm Electron launches againstnativephp/desktopand the existing menus / windows still appear./notificationsin the dev electron, add/remove a few action rows, edit their text, and click Send — confirm the notification fires with the expected actions.Native\Laravel\…references were missed.php artisan boost:install(interactive) on a fresh checkout to confirm the bundled boost config is what a new contributor would generate.🤖 Generated with Claude Code