cedaro / satispress

Expose installed WordPress plugins and themes as Composer packages.
500 stars 48 forks source link

Compatibility issue with wp pusher ? Fatal error on plugin update #207

Open alapiere opened 10 months ago

alapiere commented 10 months ago

Satispress is working fine; sucessfully exposing all my packages to composer. I'm trying a simple workflow, to expose github public repos through satispress . I've installed WP Pusher and synced a repo : Satispress sees the installed plugin and expose it, fine. However , when I trigger (manually, or through hook url) a plugin update in WP Pusher, I get an error :

Fatal error: Uncaught Error: SatisPress\Release::__construct(): Argument #2 ($version) must be of type string, null given, called in /www/xxx_729/public/wp-content/plugins/satispress/src/PackageType/PackageBuilder.php on line 321 in /www/xxx_729/public/wp-content/plugins/satispress/src/Release.php on line 50

Full Call stack: SatisPress\Release::__construct() wp-content/plugins/satispress/src/PackageType/PackageBuilder.php:321 SatisPress\PackageType\PackageBuilder::get_package_update() wp-content/plugins/satispress/src/PackageType/PackageBuilder.php:293 SatisPress\PackageType\PackageBuilder::add_cached_releases() wp-content/plugins/satispress/src/PackageType/PluginBuilder.php:65 SatisPress\PackageType\PluginBuilder::from_source() wp-content/plugins/satispress/src/Repository/InstalledPlugins.php:73 SatisPress\Repository\InstalledPlugins::build() wp-content/plugins/satispress/src/Repository/InstalledPlugins.php:53 SatisPress\Repository\InstalledPlugins::all() wp-content/plugins/satispress/src/Repository/CachedRepository.php:67 SatisPress\Repository\CachedRepository::all() wp-content/plugins/satispress/src/Repository/MultiRepository.php:51 SatisPress\Repository\MultiRepository::all() wp-content/plugins/satispress/src/Repository/FilteredRepository.php:59 SatisPress\Repository\FilteredRepository::all() wp-content/plugins/satispress/src/Repository/FilteredRepository.php:59 SatisPress\Repository\FilteredRepository::all() wp-content/plugins/satispress/src/Repository/AbstractRepository.php:58 SatisPress\Repository\AbstractRepository::where() wp-content/plugins/satispress/src/Repository/AbstractRepository.php:42 SatisPress\Repository\AbstractRepository::contains() wp-content/plugins/satispress/src/Provider/PackageArchiver.php:220 SatisPress\Provider\PackageArchiver::archive_on_upgrade() wp-includes/class-wp-hook.php:308 WP_Hook::apply_filters() wp-includes/plugin.php:205 apply_filters() wp-admin/includes/class-wp-upgrader.php:642 WP_Upgrader::install_package() wp-admin/includes/class-wp-upgrader.php:815 WP_Upgrader::run() wp-admin/includes/class-plugin-upgrader.php:231 Plugin_Upgrader::upgrade() wp-content/plugins/wppusher/Pusher/WordPress/PluginUpgrader.php:50 Pusher\WordPress\PluginUpgrader::upgradePlugin() wp-content/plugins/wppusher/Pusher/Handlers/UpdatePlugin.php:36 Pusher\Handlers\UpdatePlugin::handle() wp-content/plugins/wppusher/Pusher/Dashboard.php:232 Pusher\Dashboard::execute() wp-content/plugins/wppusher/Pusher/Dashboard.php:136 Pusher\Dashboard::postUpdatePlugin() wp-content/plugins/wppusher/Pusher/Dispatcher.php:69 Pusher\Dispatcher::dispatchPostRequests() wp-includes/class-wp-hook.php:308 WP_Hook::apply_filters() wp-includes/class-wp-hook.php:332 WP_Hook::do_action() wp-includes/plugin.php:517 do_action() wp-admin/admin.php:175

is there a compatibility issue with the way WP Pusher is doing the update ?

(Or is my workflow wrong, and there is a better way to sync github public repos in satispress ?)