Grazie per il tuo lavoro qui! Non vedo l’ora di attivarlo e grazie per averlo rilasciato per il testing, in modo che coloro che hanno varie configurazioni possano contribuire almeno al testing in un’ampia gamma di scenari.
Mentre penso a quando attivarlo per il mio sito, sto cercando di capire quali potrebbero essere le “porte a senso unico”.
Sottocategorie
Ho 8 categorie di primo livello, ma in aggiunta ho 21 sottocategorie pubbliche. Dover seguire 29 attori per seguire tutta l’attività pubblica del sito sembra molto. Inoltre, potrebbe essere una sorpresa per gli utenti che seguire una categoria non segua le sottocategorie.
Se potessi selezionare un’opzione nelle impostazioni di ActivityPub della categoria per “federare anche le sottocategorie pubbliche”, lo farei. Se federare separatamente le sottocategorie sia una porta per lo più a senso unico dal punto di vista dell’utente, penso. Quindi, se prendeste in considerazione un’opzione “federare anche le sottocategorie”, ciò potrebbe informare i miei piani. La nostra barra laterale predefinita mostra solo le categorie di primo livello e l’impostazione predefinita di Discourse quando le si guarda è tutto il contenuto di primo livello e sottocategoria insieme, quindi questo sembra ragionevolmente coerente con le aspettative di Discourse.
Federare tutto!
Penso che potrebbe essere interessante aggiungere anche un’impostazione a livello di sito per un attore ActivityPub che federi tutti i post pubblici su un sito. Lo userei io stesso. Ma non lo vedo come una porta a senso unico: imposterei la federazione delle categorie non appena fosse altrimenti pronta, anche se in seguito aggiungessi un attore “all@” per federare tutto.
Limitazioni di modifica
Una delle cose che non è ovvia dal tuo post è che può essere letto che solo la sezione letterale [note]...[/note] non può essere modificata. Per altri qui, ciò che realmente significa è che se si federano, la modifica è attualmente disabilitata su tutti i post non appena vengono federati (eccetto per i post con una sezione letterale [note]...[/note]); questo messaggio appare solo quando si tenta di salvare la modifica:
Il mio sito consente intenzionalmente agli utenti sufficientemente fidati di modificare indefinitamente, quindi non posso attivarlo senza la possibilità di disabilitare questo controllo (o che il controllo venga rimosso perché le modifiche vengono federate). Come esempio generale applicabile oltre tali siti fidati, qualsiasi categoria con post in modalità wiki verrà interrotta impostando la federazione per quella categoria.
Ho provato a eliminare un post federato che avevo reso un wiki e ho ottenuto questo:
Tuttavia, il post è stato eliminato e l’eliminazione è stata federata.
Personalità
Sarebbe bello fornire un’immagine del profilo per ogni attore designato. In Mastodon, vedo solo l’immagine dell’elefante grigio per ogni attore di categoria, e mi piacerebbe aggiungere un po’ di personalità qui. ![]()
Log degli errori
Finora ho riscontrato due tipi di errori nei miei log dal plugin activitypub:
Message (3 copies reported)
NoMethodError (undefined method `ap_type' for nil:NilClass)
(eval):7:in `_fast_attributes'
app/controllers/application_controller.rb:418:in `block in with_resolved_locale'
app/controllers/application_controller.rb:418:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:367:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'
Backtrace
plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:18:in `object'
plugins/discourse-activity-pub/app/serializers/discourse_activity_pub/ap/activity_serializer.rb:18:in `_object'
plugins/discourse-activity-pub/app/serializers/discourse_activity_pub/ap/activity_serializer.rb:9:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in `as_json'
plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/object.rb:50:in `json'
plugins/discourse-activity-pub/app/serializers/discourse_activity_pub/ap/collection/ordered_collection_serializer.rb:7:in `map'
plugins/discourse-activity-pub/app/serializers/discourse_activity_pub/ap/collection/ordered_collection_serializer.rb:7:in `ordered_items'
(eval):7:in `_fast_attributes'
Message
Job exception: undefined method `model' for #<DiscourseActivityPubActivity id: 2, ap_id: "https://social.makerforums.info/cf2e1e8d-83e3-447e...", ap_key: nil, ap_type: "Follow", local: nil, actor_id: 3, object_id: "1", object_type: "DiscourseActivityPubActor", summary: nil, published_at: nil, created_at: "2023-06-01 02:23:13.798564000 +0000", updated_at: "2023-06-01 02:23:13.798564000 +0000">
Backtrace
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activemodel-7.0.4.3/lib/active_model/attribute_methods.rb:458:in `method_missing'
/var/www/discourse/plugins/discourse-activity-pub/app/models/discourse_activity_pub_activity.rb:79:in `after_deliver'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_deliver.rb:42:in `perform_request'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_deliver.rb:13:in `execute'
/var/www/discourse/app/jobs/base.rb:249:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rails_multisite-5.0.0/lib/rails_multisite/connection_management.rb:82:in `with_connection'
/var/www/discourse/app/jobs/base.rb:236:in `block in perform'
/var/www/discourse/app/jobs/base.rb:232:in `each'
/var/www/discourse/app/jobs/base.rb:232:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/sidekiq-6.5.9/lib/sidekiq/processor.rb:202:in `execute_job'
Grazie ancora per il tuo lavoro!

