Skip to content

Conversation

gwleuverink
Copy link
Contributor

@gwleuverink gwleuverink commented Sep 22, 2025

This pull request introduces significant updates to unify Electron & Laravel packages under the same repo

I've kept the git history from the electron repo around, so you'll see a lot of commits here. Maybe not easy to review, but good for discovery when debugging later on.

These PR's to main are already merged in this branch:

Package rename

The package has been renamed to nativephp/desktop

New structure

The new structure is as follows:

root
├── src
│   ├── Laravel
│   └── Electron
└── resources
    ├── stubs
    └── electron
        ├── package.json
        └── electron-plugin

All workflows and other necessities have also been migrated over to the Laravel repo.

simonhamp and others added 30 commits November 3, 2024 17:11
* bump deps

* Output error to console

* Add blank line

* build
* Fix killing process

* Fix killing process

* Stopping persistent process and fix restarting process spawning twice

* Stopping persistent process and fix restarting process spawning twice

* Fix process being briefly restarted on quitting
* Fix powerMonitor events

* compiled js

* Fix powerMonitor events
* Code style

* Fix variable name

* Add tooltip support

* Add resizable option

* Add icon change support

* Preload window for UX

* Add standard window preload script

This makes the menubar window work just like other windows

* Support custom event on click
Co-authored-by: Justin Lawrence <[email protected]>
@gwleuverink
Copy link
Contributor Author

gwleuverink commented Sep 22, 2025

The prefer-stable test matrix fails still, but other than that this already works great.

Next steps are a thorough refactor round to improve some of the papercuts that were caused by having this as two separate packages before. I think we can clean a couple things up 💅🏻

this was not possible before because the test logic lived in another repo than the config
was disabled because of 'prefer-lowest' matrix issues when the config was living in the other repo before
@gwleuverink
Copy link
Contributor Author

Both packages are merged. Everything looks good

Next up: publish the electron project into the userland project under {root}/nativephp/desktop. This will follow the same paradigm nativephp/modile does.

I'll address that in a separate PR. For now can I get a review on this?

As mentioned before, these PR's are already merged in here to avoid issues later on. (I'm not merging those with main in case we need to hotfix)

Most of this PR is straight forward. Mostly moving things around & fixing paths.

Are there any architectural changes you think make sense now we're at it?

@gwleuverink gwleuverink marked this pull request as ready for review September 22, 2025 22:20
@SRWieZ
Copy link
Member

SRWieZ commented Sep 23, 2025

Obviously is hard to review that many of changes but

  1. ✅ I have successfully ran php artisan native:serve
  2. php artisan native:build mac arm64 produce a working binary
  3. ✅ can be installed in composer via nativephp/desktop

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.