ActivityPub-Plugin

Darauf kenne ich die Antwort. Nein, das kannst du nicht. Wir können das nicht einmal innerhalb von Mastodon, Pixelfed usw. verwenden. Und die eigentliche Antwort ist, dass dieses Plugin oder ActivityPub im Allgemeinen nichts mit Logins zu tun hat.

Aber es wäre schön. Aber andererseits – die Idee von ActivityPub ist genau die Beseitigung der Notwendigkeit, sich bei anderen Diensten anzumelden.

1 „Gefällt mir“

Das ist die Schönheit eines Systems, in dem es keinen Algorithmus gibt :smirking_face:. Ja, das ist es, was Sie tun müssen, aber es funktioniert nur innerhalb einer Instanz. Sie brauchen immer noch Follower.

Die weit verbreitete Analogie, wie E-Mails funktionieren, gilt auch hier. Sie brauchen jemanden, der E-Mails sendet, sonst würde es als Spamming betrachtet werden.

Ich bin ziemlich aktiv auf Mastodon, weil ich mich von Meta verabschiedet habe. Ich habe tatsächlich Konten auf drei verschiedenen Instanzen. Mein Hauptkonto folgt meinen Kategorien und zwei andere folgen meinem Hauptinstanzkonto. Damit maximiere ich die Sichtbarkeit, und der Rest ist Gnade anderer Nutzer.

Übrigens – ich habe bemerkt, dass die Unfähigkeit von Mastodon, Markdown und HTML zu verarbeiten, andere ein wenig ärgert.

Ist es zu früh, um zu fragen, ob es in Crowdin für Übersetzungen aufgenommen werden soll?

Gute Frage.

Wir müssen prüfen, ob dieses Plugin in Ordnung ist experimentalofficial. Wenn ja, können wir es zu Crowdin hinzufügen.

Aus reiner Neugier, an welche Sprache(n) denkst du?

5 „Gefällt mir“

Tschechisch. Der Grund dafür ist, dass ich bei dem Versuch, eine vollständige Lokalisierung abzuschließen, verschiedene tschechische Foren durchsuche, um zu sehen, wie die Übersetzungen funktionieren (manchmal sieht man aufgrund von Datenkombinationen, die man im eigenen Forum nicht sieht, unterschiedliche Dinge – andere Pluralformen, andere Plugins usw.).

Und ich bin gerade auf ein Forum gestoßen, das ActivityPub in den Benutzereinstellungen anzeigt. Und ich möchte, dass die Benutzereinstellungen vollständig lokalisiert sind :slight_smile:

4 „Gefällt mir“

Manuelles Übersetzen ist immer eine Option. Und im Moment die einzige Option. Es hat mich maximal 10 Minuten gekostet. Aber sicher, wenn es automatisch kommt, ist es für Administratoren einfacher.

Ja, ich denke, wir können das zu Crowdin hinzufügen, ich werde es so einrichten.

6 „Gefällt mir“

Themen gehen ohne Tags in die große weite Welt. Ist es möglich, Tags von Discourse irgendwie hinzuzufügen?

Es müsste verwendet werden, um verwendete Tags in einen Beitrag einzufügen, aber nur für die Mastodon-Richtung, und ich weiß nicht, ob das überhaupt möglich oder wirklich notwendig ist. Nun, es ist notwendig, weil Tags in Mastodon (oder überall in der föderierten Welt, wie ich vermute) eine so große Rolle spielen.

Sicher, ich könnte einfach #tag hinzufügen, aber das ist etwas umständlich, da Discourse seine eigene nette Art hat, Tags zu verwenden.

2 „Gefällt mir“

https://caneandable.social/@WeirdWriter/113933429408828411

@Angus Ich frage mich, ob es auch eine Möglichkeit gibt, dies zu tun. Haben Akteure, die aus dem Discourse-Plugin stammen, eine gemeinsame Kennung (wie Metadaten vom Typ source: Discourse), nach der im Fediverse gesucht werden kann? Oder gibt es vielleicht Kennungen für Beiträge?

1 „Gefällt mir“

Ja, das wäre möglich. Wie Sie andeuten, wirft dies einige Fragen auf, da Tags in Discourse und anderen Plattformen leicht unterschiedliche Rollen spielen. Es bedarf sorgfältiger Überlegung.

Dies hängt mit der Tagging-Frage zusammen, geht aber auch darüber hinaus. Es gibt verschiedene Ebenen. Wir könnten einen Mastodon-spezifischen Ansatz zur Verbesserung der Entdeckung implementieren. Wir könnten auch einen „normalisierten“ ActivityPub-Ansatz zur Entdeckung implementieren. Auf der letzteren Seite siehe

Aber ja, wir können weiter diskutieren, was die kurz-, mittel- und langfristigen Produktziele sind, und ich kann eine Implementierungsstrategie entwickeln, die diese verschiedenen Ebenen berücksichtigt. Ich habe dies bereits an die zuständigen ActivityPub-Leute weitergeleitet:

3 „Gefällt mir“

Ich würde gerne Ihre Gedanken dazu erfahren, wie Diskursakteure aus dem Fediverse angesprochen werden könnten und wie dies geschehen könnte.

Diese Frage kam auf, als ich darüber nachdachte, wie Diskurs als digitaler Garten mit dem Fediverse verbunden werden könnte.

Wenn ich etwas im Fediverse lese, möchte ich es an TAG@my.garden oder KATEGORIE@my.garden weiterleiten können.

Was soll mit diesen weitergeleiteten Inhalten geschehen, oder an welchen Stellen innerhalb von Diskurs sollen diese Nachrichten ankommen?

Wenn eine Weiterleitung für jedermann möglich sein soll, müsste ein Überprüfungsprozess stattfinden.
Wenn es eine Möglichkeit gäbe, fremde Fediverse-Konten mit den eigenen zu verknüpfen, könnten weitergeleitete Inhalte als Entwurf ankommen, um sie weiter in den Garten einzuarbeiten.

Derzeit können Akteure, denen ein Tag oder eine Kategorie folgt, neue Themen in diesem Tag oder dieser Kategorie posten.

Wenn Sie in Ihrem Discourse eine Kategorie namens „fediverse“ haben und fediverse@yourforum.com einem Konto auf Mastodon, z. B. fediverse@mastodon.com, folgt, dann wird jedes Mal, wenn fediverse@mastodon.com einen neuen Toot erstellt, der nicht als Antwort auf einen anderen Toot erfolgt, dieser Toot zu einem neuen Thema in Ihrer „fediverse“-Kategorie, und jede Antwort auf diesen Toot wird zu einer Antwort in diesem Thema.

Wenn wir das auf Ihren Fall anwenden, und das „Ich“ in diesem Satz ein Fediverse-Konto ist, dem TAG@my.garden oder CATEGORY@my.garden folgt, dann wird, wenn Sie entweder einen neuen Toot erstellen oder einen Toot boosten (auch „ankündigen“ genannt), dieser zu einem neuen Thema unter TAG oder in CATEGORY.

Wir könnten die Möglichkeit hinzufügen, Inhalte, die an einen Tag- oder Kategorie-Akteur von einem externen Akteur gesendet werden, dem der Tag oder die Kategorie nicht folgt, in die Überprüfungswarteschlange zu stellen. Das wäre von der Implementierung her relativ einfach, aber die Filterung wäre ein erhebliches Problem. Die Überprüfung aller eingehenden Inhalte wäre in einigen Fällen nicht praktikabel.

Zum Beispiel hat socialhub.activitypub.rocks zwölf Discourse ActivityPub-Akteure (Tags und Kategorien). Es erhält (buchstäblich) Hunderte von eingehenden POSTs pro Minute. Wenn Sie dort ein Überprüfungssystem wie dieses einsetzen würden, würden Sie sofort die Überprüfungswarteschlange sprengen und sie unbrauchbar machen.

Dies hat teilweise Potenzial als Idee, da Sie dies bereits tun können. Schauen Sie unter „ActivityPub“ in Ihrem Profil nach, und Sie werden sehen, dass Sie Akteure auf jedem externen Discourse oder Mastodon mit Ihrem Discourse-Benutzerkonto verknüpfen können. Eine Möglichkeit, die eingehenden Inhalte von nicht gefolgten Akteuren zu filtern, könnten also Inhalte von Akteuren sein, die mit Benutzern mit ausreichendem Vertrauen im Forum verknüpft sind.

3 „Gefällt mir“

Und fertig: https://discourse.crowdin.com/activity-pub, Übersetzer können jetzt Übersetzungen für das ActivityPub-Plugin beisteuern.

4 „Gefällt mir“

Gibt es Grenzen, denen eine Kategorie folgen kann? Ich konnte meine eigenen finden, aber keine fremden.

Bearbeiten

Einige meiner Kategorien können gefunden werden, einige Konten nicht. Kann das irgendwie von einer Einstellung der Instanz kommen :thinking:

Eine Kategorie folgt einem Mastodon-Konto. Wenn ein Beitrag (geschrieben oder verstärkt von einem gefolgten Akteur) ein Bild enthält, wird dieses nie mitgeliefert. Liegt das an technischen Problemen, wie Mastodon Daten sendet, wie ActivityPub funktioniert oder wie Discourse solche Inhalte verarbeitet?

Etwas stimmt nicht. Es gibt nichts zu übersetzen.

1 „Gefällt mir“

Ich denke, es gibt möglicherweise noch einige Probleme bei der Integration mit Mastodons Authorized Fetch, die wir noch ausbügeln müssen. Das könnte die Auffindbarkeit von Konten auf einigen Mastodon-Instanzen beeinträchtigen. Wenn Sie Beispiele geben könnten, wäre das hilfreich.

Wir werden bald die Bildunterstützung verbessern.

1 „Gefällt mir“

mastodon.social schlägt jedes Mal fehl – und das bedeutet, dass ich es etwa ein halbes Dutzend Mal mit Konten von dort versucht habe. Deshalb habe ich mich gefragt, ob es irgendwie an den Einstellungen einer Instanz liegt.

Ein Konto ist @ScienceScholar@mastodon.social. Ein anderes Beispiel könnte @GetCarter@mastodonapp.uk sein.

Nur ein weiterer Traum für spätere Phasen :face_with_peeking_eye:

Wenn eine Kategorie (Hash-)Tags von Mastodon folgen könnte… das wäre ein echter Gamechanger — ja, ich habe absolut keine Ahnung, ob das technisch überhaupt möglich ist, da eine Mastodon-Instanz ganz anders funktioniert als Discourse, aber es wäre eine großartige Funktion.

1 „Gefällt mir“

Was ist das:

[details= discourseactivitypub::AP::Handlers::Warning]
Nachricht (3765 Kopien gemeldet)

[Discourse Activity Pub] DiscourseActivityPub::AP::Handlers::Warning

Backtrace
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in block in warn' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in block in dispatch’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in each' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in dispatch’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in warn' /var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:26:in log’
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:63:in warn' /var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:42:in rescue in block in perform_transactions’
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:35:in block in perform_transactions' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:616:in block in within_new_transaction’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in synchronize' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:613:in within_new_transaction’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:361:in transaction' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:234:in block in transaction’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in with_connection' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296:in with_connection’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:233:in transaction' /var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:34:in perform_transactions’
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:26:in process' /var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_process.rb:12:in execute’
/var/www/discourse/app/jobs/base.rb:316:in block (2 levels) in perform' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in with_connection’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in with_connection' /var/www/discourse/app/jobs/base.rb:303:in block in perform’
/var/www/discourse/app/jobs/base.rb:299:in each' /var/www/discourse/app/jobs/base.rb:299:in perform’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in execute_job' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in block (2 levels) in process’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in block in invoke' /var/www/discourse/lib/sidekiq/pausable.rb:132:in call’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in block in invoke' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in invoke’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in block in process' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in block (6 levels) in dispatch’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in local' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in block (5 levels) in dispatch’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq.rb:44:in block in '<module:Sidekiq>' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in block (4 Ebenen) in dispatch’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in stats' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in block (3 Ebenen) in dispatch’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/s…