ActivityPub-Plugin

Hallo :wave:
Zunächst einmal vielen Dank für die beeindruckende Arbeit, die in die Umsetzung dieses Projekts geflossen ist. Ich könnte mit der Entscheidung, unsere Community zu Discourse zu verlagern, dank dessen nicht glücklicher sein.

Ich habe das Plugin zu unserer Instanz hinzugefügt und einen Actor konfiguriert. Wenn ich jedoch in einer Kategorie mit einem zugeordneten Actor poste, erhalte ich eine “Internal Server Error”-Meldung. Ich konnte in den Logs nicht viel mehr finden als die Tatsache, dass die Anfrage mit einem 500-Fehler fehlgeschlagen ist:

[no timestamp]  by PostsController#create as JSON
[no timestamp]  Parameters: {"raw"=>"This is just a test test test", "title"=>"This is just a test test test", "unlist_topic"=>"false", "category"=>"10", "is_warning"=>"false", "archetype"=>"regular", "typing_duration_msecs"=>"200", "composer_open_duration_msecs"=>"3160", "shared_draft"=>"false", "draft_key"=>"new_topic", "activity_pub_visibility"=>"public", "nested_post"=>"true"}
Sep 25 15:06:38 - Processing by PostsController#create as JSON
Sep 25 15:06:38 - Parameters: {"raw"=>"This is just a test test test", "title"=>"This is just a test test test", "unlist_topic"=>"false", "category"=>"10", "is_warning"=>"false", "archetype"=>"regular", "typing_duration_msecs"=>"200", "composer_open_duration_msecs"=>"3160", "shared_draft"=>"false", "draft_key"=>"new_topic", "activity_pub_visibility"=>"public", "nested_post"=>"true"}
Sep 25 15:06:38 - 172.18.0.1 - - [25/Sep/2024:13:06:38 +0000] "POST /message-bus/3e2e0add2e9a41cc9ce7041980fe4f81/poll HTTP/1.1" 200 2438 "https://community.tuist.io/c/announcements/10" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0"
Sep 25 15:06:38 - 172.18.0.1 - - [25/Sep/2024:13:06:38 +0000] "POST /message-bus/3e2e0add2e9a41cc9ce7041980fe4f81/poll HTTP/1.1" 200 115 "https://community.tuist.io/c/announcements/10" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0"
[no timestamp]  2024-09-25T13:06:38Z cloudron 37a832f8-20ab-41d7-9d4d-82052354c0eb 1101 37a832f8-20ab-41d7-9d4d-82052354c0eb - 172.18.0.1 - - [25/Sep/2024:13:06:38 +0000] "POST /message-bus/3e2e0add2e9a41cc9ce7041980fe4f81/poll HTTP/1.1" 200 115 "https://community.tuist.io/c/announcements/10" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0"
[no timestamp]  start
Sep 25 15:06:39 - start
[no timestamp]  start
Sep 25 15:06:39 - start
[no timestamp]  done
Sep 25 15:06:39 - done
[no timestamp]  start
Sep 25 15:06:39 - start
[no timestamp]  start
[no timestamp]  start
Sep 25 15:06:39 - start
Sep 25 15:06:39 - start
[no timestamp]  done
Sep 25 15:06:39 - done
[no timestamp]  done
Sep 25 15:06:39 - done
[no timestamp]  500 Internal Server Error in 476ms (ActiveRecord: 0.0ms | Allocations: 56364)
[no timestamp]  done
Sep 25 15:06:39 - Completed 500 Internal Server Error in 476ms (ActiveRecord: 0.0ms | Allocations: 56364)
Sep 25 15:06:39 - done
Sep 25 15:06:39 - 172.18.0.1 - - [25/Sep/2024:13:06:39 +0000] "POST /posts HTTP/1.1" 500 46 "https://community.tuist.io/c/announcements/10" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0"
[no timestamp]  start
Sep 25 15:06:39 - start
[no timestamp]  done
Sep 25 15:06:39 - done
[no timestamp]  done
Sep 25 15:06:39 - done

Was ist der empfohlene Weg, um dieses Problem zu debuggen?

Der nächste Schritt ist, auf Ihrem Forum zu /logs zu navigieren, die entsprechende Protokollzeile zu finden und den Stacktrace hier zu posten.

3 „Gefällt mir“

Hier ist der Fehler:

Message

NoMethodError (undefined method `moderating_groups' for #<Category id: 10, name: "Announcements", color: "652D90", topic_id: 55, topic_count: 5, created_at: "2024-09-25 09:23:28.181772000 +0000", updated_at: "2024-09-27 11:53:47.131692000 +0000", user_id: 3, topics_year: 4, topics_month: 4, topics_week: 4, slug: "announcements", description: "This category is used for announcements by the mai...", text_color: "FFFFFF", read_restricted: false, auto_close_hours: nil, post_count: 4, latest_post_id: 108, latest_topic_id: 83, position: 7, parent_category_id: nil, posts_year: 4, posts_month: 4, posts_week: 4, email_in: nil, email_in_allow_strangers: false, topics_day: 0, posts_day: 0, allow_badges: true, name_lower: "announcements", auto_close_based_on_last_post: false, topic_template: nil, contains_messages: nil, sort_order: nil, sort_ascending: nil, uploaded_logo_id: nil, uploaded_background_id: nil, topic_featured_link_allowed: true, all_topics_wiki: false, show_subcategory_list: false, num_featured_topics: 3, default_view: nil, subcategory_list_style: "rows_with_featured_topics", default_top_period: "all", mailinglist_mirror: false, minimum_required_tags: 0, navigate_to_first_post_after_read: false, search_priority: 0, allow_global_tags: false, reviewable_by_group_id: nil, read_only_banner: nil, default_list_filter: "all", allow_unlimited_owner_edits_on_first_post: false, default_slow_mode_seconds: nil, uploaded_logo_dark_id: nil, uploaded_background_dark_id: nil>)
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
lib/plugin/instance.rb:576:in `block in on'
lib/discourse_event.rb:12:in `bl...

Backtrace

activemodel (7.1.3.4) lib/active_model/attribute_methods.rb:489:in `method_missing'
plugins/discourse-activity-pub/plugin.rb:367:in `block (2 levels) in activate!'
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
plugins/discourse-activity-pub/plugin.rb:331:in `block (2 levels) in activate!'
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
plugins/discourse-activity-pub/plugin.rb:337:in `block (2 levels) in activate!'
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
plugins/discourse-activity-pub/app/models/discourse_activity_pub_object.rb:99:in `after_scheduled'
plugins/discourse-activity-pub/app/models/discourse_activity_pub_activity.rb:109:in `after_scheduled'
plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:89:in `after_scheduled'
plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:15:in `perform'
plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:27:in `perform'
plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:160:in `block in activity_pub_deliver_activity'
plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:159:in `each'
plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:159:in `activity_pub_deliver_activity'
plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:41:in `perform_activity_pub_activity'
plugins/discourse-activity-pub/plugin.rb:455:in `block (2 levels) in activate!'
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
plugins/discourse-activity-pub/plugin.rb:661:in `block (2 levels) in activate!'
lib/plugin/instance.rb:576:in `block in on'
lib/discourse_event.rb:12:in `block in trigger'
/home/cloudron/rbenv/versions/3.2.2/lib/ruby/3.2.0/set.rb:511:in `each_key'
/home/cloudron/rbenv/versions/3.2.2/lib/ruby/3.2.0/set.rb:511:in `each'
lib/discourse_event.rb:12:in `trigger'
lib/post_creator.rb:258:in `trigger_after_events'
lib/post_creator.rb:220:in `create'
lib/new_post_manager.rb:318:in `perform_create_post'
lib/new_post_manager.rb:252:in `perform'
app/controllers/posts_controller.rb:215:in `create'
actionpack (7.1.3.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.1.3.4) lib/abstract_controller/base.rb:224:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:259:in `block in process_action'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
app/controllers/application_controller.rb:424:in `block in with_resolved_locale'
i18n (1.14.5) lib/i18n.rb:351:in `with_locale'
app/controllers/application_controller.rb:424:in `with_resolved_locale'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:258:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/rescue.rb:25:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:74:in `block in process_action'
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.1.3.4) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:73:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/params_wrapper.rb:261:in `process_action'
activerecord (7.1.3.4) lib/active_record/railties/controller_runtime.rb:32:in `process_action'
actionpack (7.1.3.4) lib/abstract_controller/base.rb:160:in `process'
actionview (7.1.3.4) lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'
actionpack (7.1.3.4) lib/action_controller/metal.rb:227:in `dispatch'
actionpack (7.1.3.4) lib/action_controller/metal.rb:309:in `dispatch'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:51:in `block in serve'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:131:in `block in find_routes'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `each'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `find_routes'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:882:in `call'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack (2.2.9) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.9) lib/rack/conditional_get.rb:40:in `call'
rack (2.2.9) lib/rack/head.rb:12:in `call'
actionpack (7.1.3.4) lib/action_dispatch/http/permissions_policy.rb:36:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:393:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
rack (2.2.9) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.9) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:28:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
logster (2.20.0) lib/logster/middleware/reporter.rb:40:in `call'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in `call_app'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/request_id.rb:28:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.9) lib/rack/method_override.rb:24:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/static.rb:25:in `call'
rack (2.2.9) lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:191:in `call'
message_bus (4.3.8) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:360:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/remote_ip.rb:92:in `call'
railties (7.1.3.4) lib/rails/engine.rb:536:in `call'
railties (7.1.3.4) lib/rails/railtie.rb:226:in `public_send'
railties (7.1.3.4) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.9) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.9) lib/rack/urlmap.rb:58:in `each'
rack (2.2.9) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_ser

Env

HTTP HOSTS: community.tuist.io

Hallo ihr Lieben, ich bin der Administrator von lemmy.dbzer0.com und würde gerne eine stärkere Interaktion zwischen Lemmy und Discourse sehen, da sich diese beiden Teile meiner Meinung nach viel besser zusammenfügen als Discourse und Mastodon.

Ich bin hauptsächlich daran interessiert, Lemmy-Benutzern die Möglichkeit zu geben, Themen zu sehen und mit ihnen zu interagieren, ohne für jedes Discourse-Forum neue Konten erstellen zu müssen.

Soweit ich weiß, ist das größte Problem, dass das apub-Plugin die Discourse-Kategorien nicht als apub-Gruppen darstellt, was Lemmy daran hindert, sie zu sehen, richtig?

Wie auch immer, ich möchte mich zur Verfügung stellen, falls Sie Zugriff auf eine Lemmy-Instanz und einen Administrator zum Testen wünschen. Mein Konto auf Lemmy ist https://lemmy.dbzer0.com/u/db0

5 „Gefällt mir“

Hallo zusammen, ich werde ab sofort bis mindestens März nächsten Jahres wieder regelmäßige Unterstützung für dieses Plugin anbieten. Wenn Sie dieses Plugin verwendet haben und in irgendeiner Weise Schwierigkeiten haben, lassen Sie es mich bitte wissen! Ich werde so viele offene Fragen wie möglich beantworten.

Jeder Benutzer in Discourse ist ein Akteur. Der folgende Prozess in Discourse funktioniert genauso wie in Lemmy und wie in FEP-1b12 näher beschrieben. Der Grund, warum Sie Discourse-Akteuren noch nicht folgen können (d. h. der Schwerpunkt lag auf dem Folgen von Kategorien), liegt darin, dass Foren von Natur aus themenzentriert sind, d. h. Diskussionen, an denen naturgemäß mehrere Benutzer beteiligt sind. Tatsächlich ist dies der Ansatz, den andere Forum-ähnliche ActivityPub-Anwendungen verfolgt haben, und woran wir im W3C Forum und Threaded Discussion Task Force (zusammen mit NodeBB und ähnlicher Software) gearbeitet haben.

Was Sie beschreiben, ist der Unterschied zwischen der Föderation “Nur erster Beitrag” und “Vollständiges Thema”. Was Sie erwarten, ist, wie die Föderation “Vollständiges Thema” funktioniert. Bitte sehen Sie sich die Dokumentation und die Anleitungen dazu hier an.

Dieser Fehler bedeutet, dass Sie keine aktuelle Version von Discourse ausführen. Das ActivityPub-Plugin erfordert derzeit die neueste Version von Discourse, um zu funktionieren.

Nein, das ActivityPub-Plugin entspricht vollständig FEP-1b12, das von Nutomic (dem Erfinder von Lemmy) geschrieben wurde, um gruppenbasierte Föderation zu beschreiben. Haben Sie versucht, zwischen Lemmy und Discourse zu föderieren?

2 „Gefällt mir“

Können Sie untersuchen, warum Meta meinen Domain nicht korrekt anzeigt und keine Inhalte von Meta anzeigt?

1 „Gefällt mir“

Gibt es einen Discourse-Server mit diesem Plugin, mit dem wir testen können? Ich gehe davon aus, dass dieses Forum es nicht verwendet, richtig?

1 „Gefällt mir“

Meta verwendet ActivityPub, z. B. dieses Thema war nicht föderiert:

Und dieses hier war es:

Wo kann ich diese Informationen sehen? Außerdem ist der zweite Link für mich nicht verfügbar

Die URL (im Gegensatz zur AP-URI) für diese Seite lautet

Sie können die AP-Informationen sehen, indem Sie auf das AP-Symbol klicken.

1 „Gefällt mir“

Ich kann nicht einmal ein einziges Apub-Thema finden. Meistens existiert das Symbol nicht

Und wenn es existiert, ist es deaktiviert.

Trotzdem bin ich dem von Ihnen geposteten Link gefolgt und habe die URL in Lemmy gesucht (so würde man Links abrufen, die noch nicht abonniert wurden) und sie kann nicht gefunden werden. Ich kann auch das Ankündigungsforum überhaupt nicht finden, damit ich es abonnieren kann.

1 „Gefällt mir“

OK, ich habe es gefunden, indem ich danach als announcements@meta.discourse.org gesucht und es abonniert habe. Ich werde versuchen, ein paar andere Themen zu abonnieren, um zu sehen, ob ich neue Beiträge in Lemmy sehen kann.

EDIT: Einige Communities sind auffindbar, wie Feature und Announcements, aber Support, Plugin und Bug können nicht gefunden werden https://lemmy.dbzer0.com/search?q=!plugin%40meta.discourse.org&type=Communities&listingType=All&page=1&sort=TopAll

2 „Gefällt mir“

Das liegt daran, dass sie keine Actors haben. Bitte schau dir die Dokumentation und die Lehrvideos an. Du wirst sehen, dass jeder Kategorie ein Actor zugewiesen werden muss, bevor sie auffindbar ist.

Auf Meta, ich glaube, es sind nur Announcements und Feature, für die Actors erstellt wurden.

4 „Gefällt mir“

Aber ich bin eine externe Instanz, die versucht, föderierte Inhalte von Ihnen zu erhalten. Ich habe keine Einsicht darin, oder?

EDIT: Oh, ich sehe jetzt den Föderations-Tab, aber nur manchmal. Andere Male erscheint er nicht

2 „Gefällt mir“

Ja, das wird bald behoben. Wenn du ihn nicht siehst, lade die Seite einfach neu und er wird erscheinen. Lass mich wissen, wie es dir damit geht.

Nur eine Anmerkung: @mcdanlj und ich besprechen dies privat. Es handelt sich wahrscheinlich um ein historisches Problem (d. h. weil Michael ein früher Anwender war).

4 „Gefällt mir“

Ja, zwei Fragen:

  1. Was ist mit der Unfähigkeit, einen bestehenden föderierten Thread zu finden, wie New and improved About page at /about is live - Announcements - Discourse Meta? Ich habe versucht, danach auf Lemmy zu suchen, aber es erscheint nicht.
  2. Warum sind einige Threads in einem Thema föderiert, andere aber nicht? Woran kann ich das erkennen?

Wie auch immer, vielleicht kann Following an ActivityPub Actor auch um einige Lemmy-bezogene Informationen aktualisiert werden?

1 „Gefällt mir“

Sie könnten sowohl die Lemmy-Entwickler als auch @angus unter Lemmy - SocialHub fragen, damit sie besser koordinieren können. Interoperabilität mit Lemmy wäre :tada:


@angus, in einem kürzlichen Mastodon-Blogartikel gibt es etwas, das sich zur Implementierung lohnt, z. B. für das hervorgehobene Thema im Profil eines Benutzers, wenn dieses Thema von diesem Benutzer gestartet wurde:

Wir haben beschlossen, eine neue Art von OpenGraph-Tag zu erstellen – die gleiche Art von Tags, die Sie auf Ihrer Website haben, um zu bestimmen, welches Miniaturbild im Vorschau für die Seite angezeigt wird, wenn sie auf Discord, iMessage oder Mastodon geteilt wird. Es sieht so aus: <meta name="fediverse:creator" content="@Gargron@mastodon.social" />.

Der Meta-Tag würde auf dem Thema erscheinen, damit Mastodon auf das Profil des Benutzers verlinken kann. Ich weiß, dass es in Discourse keinen Benutzer-Actor gibt, aber wenn der ActivityPub-Actor beispielsweise ein Verlag ist und das Thema sich um deren Katalog dreht, dann ergibt der Anwendungsfall Sinn. :wink:

1 „Gefällt mir“

Ja, wie @hellekin vorschlägt, denke ich, dass eine eingehendere Lemmy / Discourse-Diskussion am besten hier geführt werden sollte

Da ich die Arbeit an diesem Plugin wieder aufnehme, stellen Sie bitte Ihre detaillierteren Lemmy-Fragen dort und ich werde bald darauf eingehen.

Danke, ich werde darüber nachdenken.

Es gibt Benutzer-Aktoren in Discourse. Sie können ihnen nur (derzeit) nicht folgen. Da dieses Missverständnis heute bereits dreimal aufgetreten ist, überlege ich, dies irgendwo in der Benutzeroberfläche hervorzuheben. Als Antwort auf die Folgefrage „Warum kann man Benutzer-Aktoren nicht folgen, wenn sie existieren?“ muss zuerst die vorherige Frage „Warum sollte man Benutzer-Aktoren in Discourse folgen wollen?“ beantwortet werden (d. h. was ist ein echter Anwendungsfall).

(Mir ist bewusst, dass Discourse Follow existiert – ich habe es entwickelt – es gibt jedoch einen Unterschied zwischen dem Folgen eines Benutzers innerhalb einer Instanz zu Benachrichtigungs-/Entdeckungszwecken und dem Folgen eines Benutzer-Aktors im Fediverse)

4 „Gefällt mir“

Dies wird behoben sein, sobald dies zusammengeführt wurde.

Beachten Sie auch, dass ich bald hier auf Meta ein Lemmy <> Discourse „Anleitung“-Thema mit einem Lehrvideo schreiben werde. Wenn Sie Lemmy zur Föderation mit Discourse verwenden oder verwenden möchten, teilen Sie hier Ihre Gedanken/Erfahrungen mit, und ich werde sicherstellen, dass ich sie in der Anleitung anspreche.

2 „Gefällt mir“

Oh, schöne Änderung, die gerade eingetroffen ist:

:tada:

3 „Gefällt mir“