Sign-In mit Ethereum-Plugin

Funktioniert, danke!

1 „Gefällt mir“

Hallo @michaeld @RGJ, ich bin mir nicht sicher, ob dies der richtige Ort für meine Frage ist, aber ich habe ein ähnliches Problem mit ffi, wenn ich das Repository unter https://github.com/communiteq/discourse-siwe-auth sowie https://github.com/spruceid/discourse-siwe-auth verwende.

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)

Hook-Bereich meiner selbst gehosteten Discourse-App:

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

Vorerst werde ich versuchen, Ihr Repository zu forken und die Version zu erhöhen, da ich eine Frist für die Migration dieser Discourse-Instanz habe. Ich wollte Sie nur darüber informieren.
Außerdem möchte ich wissen, ob das Plugin aktiv von Communiteq gepflegt wird.

Vielen Dank im Voraus!

Ohne den Code anzusehen…

Könnte das Problem sein, dass ffi jetzt im Kern ist und du es nicht hinzufügen musst?

Ich bin nicht wirklich in Ruby bewandert, daher kann ich keine Aussage über das Plugin machen, aber ich kann bestätigen, dass das Hochstufen von ffi auf 1.17.2 im geforkten Repository wie am Schnürchen funktioniert, und mit Hochstufen meine ich das Ändern von plugin.rb mit:

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

Das hat für mich funktioniert, aber ich würde wirklich gerne das offiziell gepflegte Plugin anstelle meines eigenen Forks verwenden.

Mein Vorschlag war, das Gem ganz zu entfernen. Und wenn das funktioniert, reichen Sie einen PR mit dieser entfernten Zeile ein.

Wir pflegen es eher passiv. Das offizielle Repository befindet sich in spruceid, aber da wir eine Reihe von Websites mit dem Plugin betreiben, sind wir es, die es in der Praxis zuerst reparieren. Diesmal waren Sie uns zuvor, es steht noch auf unserer Liste der zu ändernden Plugins für 3.5.

Wenn niemand einen PR an das offizielle Repository macht, werde ich mich bis Ende dieser Woche oder Anfang nächster Woche darum kümmern.

1 „Gefällt mir“

Ich würde es vorziehen, Ihnen die Aufgabe zu überlassen, den PR zu eröffnen, da Sie wahrscheinlich Überlegungen oder Tests bezüglich des Plugins haben, die mir nicht bekannt sind, da ich mich mit diesem Dienst nur wenig auskenne, da ich ihn gerade migriere.

Vielen Dank für Ihre Hilfe, Informationen und Beiträge zu diesem Thema.

Ich habe das Plugin behoben – es war tatsächlich nur eine Frage der Entfernung der expliziten ffi-Gem-Einbindung.

Ich habe auch einen Pull-Request an das Original-Repository gesendet. Solange der PR nicht angenommen wurde, können Sie https://github.com/communiteq/discourse-siwe-auth anstelle des Original-Repositories verwenden.

Ich werde den Link in der OP vorerst ebenfalls darauf ändern.

2 „Gefällt mir“

Ich möchte fragen, warum ich den Einstellungsknopf nicht sehe?

Ich sehe, dass die Datei .discourse-compatibility des Plugins angibt, dass Versionen kleiner als 3.2.0.beta2-dev unterstützt werden. Gibt es Probleme, wenn dieses Plugin mit der neuesten Discourse-Version verwendet wird?

1 „Gefällt mir“

Da diese Datei Abwärtskompatibilität angibt, ist das Fehlen aktueller Versionen in der .plugin-compatibility-Datei eine gute Sache.

3 „Gefällt mir“