Core V4:4 (alpha) : Impossible d'installer un plugin depuis source Github

Bonjour

J’ai voulu installer un plugin depuis une autre source (type Github). le plugin ne s’installe pas et j’ai message dans les log http_error

J’ai le message d’erreur dans le fichier http_error

[php:error] [pid 96730] [client 192.168.156.33:53379] PHP Fatal error:  Uncaught TypeError: ErrorException::__construct(): Argument #3 ($severity) must be of type int, Guzzle\\Common\\Exception\\InvalidArgumentException given in /var/www/html/vendor/knplabs/github-api/lib/Github/HttpClient/HttpClient.php:146\nStack trace:\n#0 /var/www/html/vendor/knplabs/github-api/lib/Github/HttpClient/HttpClient.php(146): ErrorException->__construct()\n#1 /var/www/html/vendor/knplabs/github-api/lib/Github/HttpClient/HttpClient.php(101): Github\\HttpClient\\HttpClient->request()\n#2 /var/www/html/vendor/knplabs/github-api/lib/Github/Api/AbstractApi.php(76): Github\\HttpClient\\HttpClient->get()\n#3 /var/www/html/vendor/knplabs/github-api/lib/Github/Api/Repo.php(379): Github\\Api\\AbstractApi->get()\n#4 /var/www/html/core/repo/github.repo.php(128): Github\\Api\\Repo->branches()\n#5 /var/www/html/core/class/update.class.php(305): repo_github::downloadObject()\n#6 /var/www/html/core/ajax/update.ajax.php(145): update->doUpdate()\n#7 {main}\n  thrown in /var/www/html/vendor/knplabs/github-api/lib/Github/HttpClient/HttpClient.php on line 146
[php:error] [pid 163170] [client 192.168.156.33:53380] PHP Fatal error:  Uncaught TypeError: ErrorException::__construct(): Argument #3 ($severity) must be of type int, Guzzle\\Common\\Exception\\InvalidArgumentException given in /var/www/html/vendor/knplabs/github-api/lib/Github/HttpClient/HttpClient.php:146\nStack trace:\n#0 /var/www/html/vendor/knplabs/github-api/lib/Github/HttpClient/HttpClient.php(146): ErrorException->__construct()\n#1 /var/www/html/vendor/knplabs/github-api/lib/Github/HttpClient/HttpClient.php(101): Github\\HttpClient\\HttpClient->request()\n#2 /var/www/html/vendor/knplabs/github-api/lib/Github/Api/AbstractApi.php(76): Github\\HttpClient\\HttpClient->get()\n#3 /var/www/html/vendor/knplabs/github-api/lib/Github/Api/Repo.php(379): Github\\Api\\AbstractApi->get()\n#4 /var/www/html/core/repo/github.repo.php(128): Github\\Api\\Repo->branches()\n#5 /var/www/html/core/class/update.class.php(305): repo_github::downloadObject()\n#6 /var/www/html/core/ajax/update.ajax.php(145): update->doUpdate()\n#7 {main}\n  thrown in /var/www/html/vendor/knplabs/github-api/lib/Github/HttpClient/HttpClient.php on line 146


Mes infos de config :

Core : 4.4.0 (alpha) => Update de ce jour
Debian 12

Bonjour
Oui problème connu et il ne sera pas corrigé en 4.4 mais en 4.5. Ca demande à revoir tout composer ce que j’avais fait en 4.4 mais ca casse des plugins tierces et malheureusement je n’aurais pas le temps de gerer la transition de tous ces plugins tierces avant la sortie de la 4.4

1 « J'aime »

S’il y a une modif simple à propager sur tous les plugins, comme, par exemple, un commit qu’on peut cherry-pick partout, on peut aider ? Enfin, en tout cas sur les plugins publics. D’autant, que ça concerne aussi certainement nos propres plugins je suppose !

On n’a aucun système automatisé, de type « Dependabot » pour créer automatiquement des PR en cas d’évolution qui implique les plugins, pourtant, sur le principe ça doit être possible.

Le soucis c’est sue la modification n’est pas simple tout comme ne serait ce qu’avoir la liste des plugins, meme l’auteur du plugin peut ne pas le savoir. Et n gros guzzle est une lib qui fait des appels http qui est utilisée par énormément d’autre lib le soucis c’est sue suand on passe de la 6 a la 7 c’est pas rétro compatible et la 6 n’est pas compatible debian 12. En gros ca va etre une horreur a gerer et demandera pas mal de temps.

Hello all,

Pour info, j’arrive à utiliser Guzzle 6 et Github-API 3 avec le composer suivant (racine de Jeedom) :

{
  "require": {
    "dragonmantank/cron-expression": "^3.3",
    "symfony/expression-language": "^5.4",
    "doctrine/cache": "^1.13",
    "monolog/monolog": "^2.9",
    "knplabs/github-api": "^3",
    "league/flysystem-webdav": "^1.0",
    "pragmarx/google2fa-qrcode": "^3.0",
    "abbadon1334/sun-position-spa-php": "^2.0",
    "league/oauth2-client": "~2.3",
    "bacon/bacon-qr-code": "^2.0",
    "guzzlehttp/guzzle" : "^6.5.8",
    "http-interop/http-factory-guzzle": "^1.2",
    "symfony/http-client": "^7.0",
    "nyholm/psr7": "^1.8"
  },
  "config": {
      "allow-plugins": {
          "php-http/discovery": true
      }
  }
}

Plutôt que de passer sur Guzzle 7, j’utilise un autre package PSR7.
De cette façon, on garde la compatibilité avec Guzzle 6 et on a du PSR7 :slight_smile:

Qu’en dites-vous ?
Bad

2 « J'aime »

A ben je suis carrément pour a voir avec les plugins tierce ce que ca donne quand meme

2 « J'aime »

Pour info, la modification de @Bad m’a permis de finir l’installation du Core sous Debian 12.

Et j’ai réussi a installer les plugins directement par Github

3 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.