ActivityPub-Plugin

Ok, können Sie mir ein Beispiel für einen Beitrag mit Notiz-Tags verlinken, bei dem die Notiz-Tags ignoriert wurden? Und auch die Notiz auf Mastodon oder ähnlichem.

Könnten Sie angeben, wo im Beitrag die Notiz-Tags beim ersten Erstellen des Beitrags angewendet wurden (da ich keinen Zugriff auf die Bearbeitungsansicht / den Verlauf haben werde).

Könnten Sie auch mitteilen, wie hoch die maximale Zeichenanzahl für Notizen derzeit in den ActivityPub-Website-Einstellungen ist.

Danke!

Ich habe noch ein paar Tests gemacht und was ich nicht erwartet hatte, war, dass neue Zeilen oder Zeilenumbrüche nicht zwischen den [note][/note] Tags verwendet werden dürfen, damit sie berücksichtigt werden.

Es funktioniert besser, nachdem ich sie entfernt habe, aber die Gesamtbotschaft sieht nicht mehr so gut aus… Ich nehme an, es gibt keine Möglichkeit, sie einzufügen?

Vielen Dank für das Update. Könnten Sie bitte Folgendes mitteilen:

  1. Ein Beispiel dafür, was derzeit für Sie funktioniert.
  2. Ein Beispiel dafür, was Ihrer Meinung nach funktionieren sollte.
  3. Idealerweise einen Link zu einer Live-Version von 1.

Das hilft mir, das spezifische Problem, auf das Sie sich beziehen, zu testen und zu überprüfen. Beispiele sind immer hilfreich, um sicherzustellen, dass wir uns auf dem gleichen Stand befinden.

Sie sehen, dass TicketZon: concerti e mostre nel fediverso - Progetti - forum.linux.it als geteilt gemeldet wird, obwohl dies nicht der Fall ist.
Das Konto existiert auf Mastodon und im Log habe ich endlich etwas für Sie:

[Discourse Activity Pub] https://forum.linux.it/ap/actor/fc1e23a5fc2214ab70c6c0aa1061a4f0 konnte https://forum.linux.it/ap/activity/229b771ac7e5943928795da1122d847d nicht zur Zustellung planen: keine Empfänger

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:93:in `log_failure'

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:35:in `can_deliver?'

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:13:in `perform'

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:27:in `perform'

/var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:140:in `activity_pub_deliver_activity'

/var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:38:in `perform_activity_pub_activity'

/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:680:in `block (2 levels) in activate!'

/var/www/discourse/lib/plugin/instance.rb:545:in `block in on'

/var/www/discourse/lib/discourse_event.rb:12:in `block in trigger'

/usr/local/lib/ruby/3.2.0/set.rb:511:in `each_key'
/usr/local/lib/ruby/3.2.0/set.rb:511:in `each'
/var/www/discourse/lib/discourse_event.rb:12:in `trigger'

/var/www/discourse/lib/post_destroyer.rb:115:in `recover'

/var/www/discourse/app/controllers/topics_controller.rb:689:in `recover'

actionpack-7.0.8.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

actionpack-7.0.8.1/lib/abstract_controller/base.rb:215:in `process_action'

actionpack-7.0.8.1/lib/action_controller/metal/rendering.rb:165:in `process_action'

actionpack-7.0.8.1/lib/abstract_controller/callbacks.rb:234:in `block in process_action'

activesupport-7.0.8.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'

/var/www/discourse/app/controllers/application_controller.rb:423:in `block in with_resolved_locale'

i18n-1.14.4/lib/i18n.rb:322:in `with_locale'

/var/www/discourse/app/controllers/application_controller.rb:423:in `with_resolved_locale'

activesupport-7.0.8.1/lib/active_support/callbacks.rb:127:in `block in run_callbacks'

activesupport-7.0.8.1/lib/active_support/callbacks.rb:138:in `run_callbacks'

actionpack-7.0.8.1/lib/abstract_controller/callbacks.rb:233:in `process_action'

actionpack-7.0.8.1/lib/action_controller/metal/rescue.rb:23:in `process_action'

actionpack-7.0.8.1/lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'

activesupport-7.0.8.1/lib/active_support/notifications.rb:206:in `block in instrument'

activesupport-7.0.8.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'

activesupport-7.0.8.1/lib/active_support/notifications.rb:206:in `instrument'

actionpack-7.0.8.1/lib/action_controller/metal/instrumentation.rb:66:in `process_action'

actionpack-7.0.8.1/lib/action_controller/metal/params_wrapper.rb:259:in `process_action'

activerecord-7.0.8.1/lib/active_record/railties/controller_runtime.rb:27:in `process_action'

actionpack-7.0.8.1/lib/abstract_controller/base.rb:151:in `process'

actionview-7.0.8.1/lib/action_view/rendering.rb:39:in `process'

rack-mini-profiler-3.3.1/lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'

actionpack-7.0.8.1/lib/action_controller/metal.rb:188:in `dispatch'

actionpack-7.0.8.1/lib/action_controller/metal.rb:251:in `dispatch'

actionpack-7.0.8.1/lib/action_dispatch/routing/route_set.rb:49:in `dispatch'

actionpack-7.0.8.1/lib/action_dispatch/routing/route_set.rb:32:in `serve'

actionpack-7.0.8.1/lib/action_dispatch/journey/router.rb:50:in `block in serve'

actionpack-7.0.8.1/lib/action_dispatch/journey/router.rb:32:in `each'

actionpack-7.0.8.1/lib/action_dispatch/journey/router.rb:32:in `serve'

actionpack-7.0.8.1/lib/action_dispatch/routing/route_set.rb:852:in `call'

/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:64:in `call'

rack-2.2.8.1/lib/rack/tempfile_reaper.rb:15:in `call'

rack-2.2.8.1/lib/rack/conditional_get.rb:40:in `call'

rack-2.2.8.1/lib/rack/head.rb:12:in `call'

actionpack-7.0.8.1/lib/action_dispatch/http/permissions_policy.rb:38:in `call'

/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'

/var/www/discourse/lib/middleware/anonymous_cache.rb:393:in `call'

/var/www/discourse/lib/middleware/csp_script_nonce_injector.rb:12:in `call'

/var/www/discourse/config/initializers/008-rack-cors.rb:14:in `call'

rack-2.2.8.1/lib/rack/session/abstract/id.rb:266:in `context'

rack-2.2.8.1/lib/rack/session/abstract/id.rb:260:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/cookies.rb:704:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'

activesupport-7.0.8.1/lib/active_support/callbacks.rb:99:in `run_callbacks'

actionpack-7.0.8.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/show_exceptions.rb:29:in `call'

logster-2.19.1/lib/logster/middleware/reporter.rb:40:in `call'

railties-7.0.8.1/lib/rails/rack/logger.rb:40:in `call_app'

railties-7.0.8.1/lib/rails/rack/logger.rb:27:in `call'

/var/www/discourse/config/initializers/100-quiet_logger.rb:20:in `call'

/var/www/discourse/config/initializers/100-silence_logger.rb:29:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/remote_ip.rb:93:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/request_id.rb:26:in `call'

/var/www/discourse/lib/middleware/enforce_hostname.rb:24:in `call'

rack-2.2.8.1/lib/rack/method_override.rb:24:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/executor.rb:14:in `call'

rack-2.2.8.1/lib/rack/sendfile.rb:110:in `call'

actionpack-7.0.8.1/lib/action_dispatch/middleware/host_authorization.rb:131: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'

/var/www/discourse/lib/middleware/request_tracker.rb:236:in `call'

railties-7.0.8.1/lib/rails/engine.rb:530:in `call'

railties-7.0.8.1/lib/rails/railtie.rb:226:in `public_send'

railties-7.0.8.1/lib/rails/railtie.rb:226:in `method_missing'

rack-2.2.8.1/lib/rack/urlmap.rb:74:in `block in call'

rack-2.2.8.1/lib/rack/urlmap.rb:58:in `each'

rack-2.2.8.1/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_server.rb:143:in `start'
unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>'

Ich habe die Blockunterstützung für [note][/note]-Tags in diesem PR hinzugefügt (er muss überprüft und zusammengeführt werden)

Dies wird die Standard-Discourse-Markdown-Blockunterstützung sein, die dem hier beschriebenen Ansatz folgt

Also dies

[note]
Erste Zeile

Zweite Zeile
[/note]

Dritte Zeile

Erzeugt einen Notizinhalt von

"Erste Zeile\nZweite Zeile"

Während dies

[note]Erste Zeile

Zweite Zeile[/note]

Dritte Zeile

Erzeugt einen Notizinhalt von

Erste Zeile\nZweite Zeile\nDritte Zeile

(d.h. die [note][/note]-Tags werden ignoriert und entfernt)

Das bedeutet, dass niemand dem Kategorie-Akteur folgt, sodass er niemanden zur Zustellung hat.

2 „Gefällt mir“

Ähm, aus demselben Grund sollte es dann auch den grünen Marker im Beitrag geben, der besagt, ob er veröffentlicht wurde oder nicht?
Ich folge jetzt allen verschiedenen Kategorien auf Mastodon und werde einen Test durchführen.

Ich kann bestätigen, dass dies funktioniert und das Konto gefolgt werden muss.

1 „Gefällt mir“

Vielleicht erwarten Sie, dass die Beiträge des Category Actors auch ohne Follower als Toots auf einer Darstellung des Actors auf Mastodon angezeigt werden? Dies würde erfordern, dass Mastodon eine Version des Outbox-Imports implementiert, d.h.

Beachten Sie, dass dieses Plugin bald den Outbox-Import unterstützen wird (die Funktionalität ist bereits integriert und wird Administratoren in zukünftigen Updates zur Verfügung gestellt). Mit anderen Worten, Sie können den Inhalt von einem entfernten Actor auffüllen.

3 „Gefällt mir“

Es funktioniert jetzt für mich, unter Verwendung von Making sure you're not a bot!.

1 „Gefällt mir“

Ich bekomme auch den Fehler “ganze Notiz nicht aufgeführt”. Was mache ich falsch? Muss ich ein @-Symbol in dem unten gezeigten Abschnitt einfügen?

Ich bin mir nicht sicher, was ich hier falsch mache.

Entschuldigung, ich verstehe nicht ganz. Könnten Sie das etwas genauer erklären?

Es wird nichts nach ActivityPub veröffentlicht.

Könnten Sie bitte genauer erklären, was Sie erwarten? Zum Beispiel:

  1. Ich erstelle einen Beitrag in meinem Forum.
  2. Ich erwarte zu sehen…

Nun, ich habe festgestellt, dass, wenn ich einen Beitrag in den Kategorien erstelle, in denen ich dies aktiviert habe, er auf ActivityPub veröffentlicht wird, aber das tut er nicht. Er wird überhaupt nicht veröffentlicht.

Was meinen Sie mit „ActivityPub“? Wo erwarten Sie, dass es erscheint? Entschuldigen Sie die Fragen. Ich möchte das Problem aus der Benutzerfreundlichkeitsperspektive verstehen, daher versuche ich, Sie zu bitten, es in Ihren eigenen Worten zu erklären :slight_smile:

Sie haben möglicherweise dasselbe Problem, das andere gemeldet haben, nämlich dass Ihre Kategorie keine Follower hat. Der Beitrag wird nirgendwo erscheinen, wenn ihm niemand folgt, da es keinen Ort gibt, an den er gesendet werden kann. Oder anders ausgedrückt:

ActivityPub-Veröffentlichungen sind für die Funktionsweise auf Follower-Beziehungen angewiesen. Ihr Kategorie-Actor wird weiterhin auf Mastodon (oder anderen Diensten) ohne Follower angezeigt, aber bedenken Sie, dass das, was Mastodon Ihnen dort anzeigt, von Mastodon abhängt.

Wenn Sie mir Ihre Erwartungen etwas genauer erläutern könnten, wäre das eine große Hilfe! Vielleicht könnten Sie ein Beispiel für einen anderen ActivityPub-Dienst geben, bei dem Sie das Gefühl haben, dass dies funktioniert? Danke.

Das kleine Augensymbol hat einen durchgestrichenen Strich und wenn ich darauf klicke, steht dort, dass es nicht veröffentlicht wurde.

Höchstwahrscheinlich, weil niemand Ihrer Kategorie folgt. Wenn Sie die Website-Einstellung activity_pub_verbose_logging aktivieren und in Ihren Protokollen nachsehen, sehen Sie wahrscheinlich eine Nachricht, die so aussieht:

Ich werde auf jeden Fall einen “Grund” in dieses Modal einfügen, da dies schon ein paar Mal vorgekommen ist! Folgen Sie Ihrer Kategorie auf Mastodon und erstellen Sie dann ein neues Thema.

Bearbeitung oder vielleicht ändere ich es in diesem Szenario einfach in “veröffentlicht”, da die Aktivität tatsächlich zur Outbox hinzugefügt wird. Sie wird nur nirgendwohin gesendet (da sie nirgendwohin gesendet werden kann). Sie ist also technisch gesehen “veröffentlicht” (d. h. sie befindet sich in der Outbox).

3 „Gefällt mir“

Ist das ein guter Zeitpunkt, dieses Protokoll zu implementieren, oder sollte ich noch etwas warten? Ich möchte meine Community im Fediverse öffnen und alle Inhalte für alle und für immer archivieren, aber ich habe von Mastodon und Lemmy gelesen und vermute, dass nicht alle neuen Gesetze in Kraft sind.

Ich denke, dass die Diskussion über die rechtlichen Umstände in einem bestimmten Gerichtsstand wahrscheinlich außerhalb des Rahmens dieses Themas liegt. :slight_smile:

1 „Gefällt mir“

Hier gibt es ein paar Updates zu teilen! Die gesamte ActivityPub-Konfiguration wird bald in ein einheitliches Administrationspanel verschoben:

Folgende Tags werden bald möglich sein:

Zusammen mit NodeBB, Flarum, Lemmy und einer Reihe anderer ActivityPub-Plattformen haben wir eine W3C-Arbeitsgruppe ins Leben gerufen, um Foren- und Link-Sharing-Software im Fediverse besser aufeinander abzustimmen. Wir koordinieren diese Arbeit bereits über ActivityPub. Zum Beispiel wird unser nächstes Treffen in einem einzigen Thema sowohl auf Discourse als auch auf NodeBB organisiert

6 „Gefällt mir“