Plugin de connexion avec Ethereum

Fonctionne, merci !

1 « J'aime »

Bonjour @michaeld @RGJ, je ne suis pas sûr que ce soit le bon endroit pour poser ma question, mais je rencontre un problème similaire avec ffi en utilisant le dépôt à l’adresse https://github.com/communiteq/discourse-siwe-auth ainsi que https://github.com/spruceid/discourse-siwe-auth.

I, [2025-08-26T12:22:42.475531 #1]  INFO -- : 
I, [2025-08-26T12:22:42.475839 #1]  INFO -- : 
> cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
rake aborted!
Gem::LoadError: can't activate ffi-1.17.1-x86_64-linux-gnu, already activated ffi-1.17.2-x86_64-linux-gnu (Gem::LoadError)
/var/www/discourse/lib/plugin_gem.rb:25:in `load'
/var/www/discourse/lib/plugin/instance.rb:861:in `gem'
/var/www/discourse/plugins/discourse-siwe-auth/plugin.rb:23:in `activate!'
/var/www/discourse/lib/plugin/instance.rb:806:in `instance_eval'
/var/www/discourse/lib/plugin/instance.rb:806:in `activate!'
/var/www/discourse/lib/discourse.rb:344:in `block in activate_plugins!'
/var/www/discourse/lib/discourse.rb:341:in `each'
/var/www/discourse/lib/discourse.rb:341:in `activate_plugins!'
/var/www/discourse/config/application.rb:196:in `block in <class:Application>'
/var/www/discourse/lib/plugin.rb:6:in `initialization_guard'
/var/www/discourse/config/application.rb:196:in `<class:Application>'
/var/www/discourse/config/application.rb:62:in `<module:Discourse>'
/var/www/discourse/config/application.rb:61:in `<top (required)>'
/var/www/discourse/Rakefile:7:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.0/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
(See full trace by running task with --trace)

Section des hooks de mon application Discourse auto-hébergée :

hooks:
  before_code:
    - exec:
        cmd:
          - gem install rubyzip
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/communiteq/discourse-siwe-auth.git
          - git clone https://github.com/discourse/discourse-code-review.git

Pour l’instant, je vais essayer de forker votre dépôt et d’augmenter la version, car j’ai une date limite pour migrer cette instance Discourse. Je voulais juste vous informer de cela.
J’aimerais également savoir si le plugin est activement maintenu par Communiteq.

Merci d’avance !

Sans regarder le code…

Le problème pourrait-il être que ffi est maintenant dans le cœur et que vous n’avez pas besoin de l’ajouter ?

Je ne suis pas vraiment un adepte de Ruby, donc je ne peux pas faire de déclaration sur le plugin, mais je peux confirmer que la mise à niveau de ffi vers 1.17.2 dans le dépôt bifurqué fonctionne à merveille, et par mise à niveau, j’entends changer le plugin.rb avec :

gem 'ffi', '1.17.2', require: false

Cela a fonctionné pour moi, mais j’aimerais vraiment utiliser le plugin officiellement maintenu au lieu de ma propre fourche.

Ma suggestion était de supprimer complètement la gem. Et quand cela fonctionnera, soumettez une PR avec cette ligne supprimée.

Nous le maintenons plutôt passivement. Le dépôt officiel est dans spruceid, mais comme nous gérons un certain nombre de sites utilisant le plugin, en pratique, c’est nous qui le corrigeons en premier. Cette fois, vous nous avez devancés, il est toujours sur notre liste de plugins à modifier pour la 3.5.

Si personne ne fait de PR au dépôt officiel, je m’en occuperai d’ici la fin de cette semaine ou le début de la semaine prochaine.

1 « J'aime »

Je préférerais vous laisser la tâche d’ouvrir la PR, car vous avez probablement des considérations ou des tests concernant le plugin dont j’ignore l’existence, étant donné que je connais très peu ce service, car je suis en train de le migrer.

Merci pour votre aide, vos informations et vos contributions sur ce sujet.

J’ai corrigé le plugin - il suffisait en effet de supprimer l’inclusion explicite du gem ffi.

J’ai également fait une pull request au dépôt original. Tant que la PR n’a pas été acceptée, vous pouvez utiliser https://github.com/communiteq/discourse-siwe-auth à la place du dépôt original.

Je vais également modifier le lien dans le OP pour qu’il pointe vers celui-ci pour le moment.

2 « J'aime »

Je voudrais demander, pourquoi je ne vois pas le bouton des paramètres ?

Je regarde le fichier .discourse-compatibility de ce plugin. Il indique qu’il prend en charge les versions < 3.2.0.beta2-dev. Y aura-t-il des problèmes à utiliser ce plugin avec la dernière version de Discourse ?

1 « J'aime »

Puisque ce fichier indique la compatibilité ascendante, l’absence de versions récentes dans le fichier .plugin-compatibility est une bonne chose.

3 « J'aime »