Les citations dans le nom de l'événement clarifient les participants

Si je mets des guillemets dans le nom de mon événement Discourse Calendar (and Event) comme Nom de l’événement : RSVP « Je participe » pour rejoindre

Lors de la sauvegarde, cela provoque une erreur 500 sur PUT /posts/123 (probablement en raison d’un markdown incorrect), mais le pire est que tous les participants semblent être effacés de l’événement.

Remarque : cela a été utilisé avec Discourse Livestream mais je suppose que c’est sans rapport.

3 « J'aime »

Oups, nous allons examiner cela dans le courant de la semaine prochaine.

Étant donné que vous obtenez une erreur 500, pouvez-vous regarder dans /logs et nous dire ce que vous y voyez ?

1 « J'aime »

Je pense que ce qui se passe, c’est que les guillemets non échappés brisent le balisage de l’événement, donc aucun événement n’est détecté et l’événement est détruit. Ensuite, lorsque je supprime les guillemets et que je sauvegarde à nouveau, un nouvel événement est créé.

L’erreur 500 lors de la sérialisation est probablement un effet secondaire lié.

NoMethodError (undefined method `end_of_day' for nil)
plugins/discourse-calendar/app/models/discourse_post_event/event.rb:93:in `expired?'
plugins/discourse-calendar/app/models/discourse_post_event/event.rb:279:in `can_user_update_attendance'
plugins/discourse-calendar/app/serializers/discourse_post_event/event_serializer.rb:93:in `can_update_attendance'
(eval at /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/active_model_serializers-0.8.4/lib/active_model/serializer.rb:467):4:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:468:in `rescue in attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:455: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'
activesupport (7.2.2.1) lib/active_support/json/encoding.rb:23:in `encode'
activesupport (7.2.2.1) lib/active_support/json/encoding.rb:23:in `encode'
activesupport (7.2.2.1) lib/active_support/core_ext/object/json.rb:42:in `to_json'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:331:in `to_json'
multi_json (1.15.0) lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json (1.15.0) lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json (1.15.0) lib/multi_json/adapter.rb:25:in `dump'
multi_json (1.15.0) lib/multi_json.rb:139:in `dump'
app/controllers/application_controller.rb:506:in `render_json_dump'
app/controllers/posts_controller.rb:301:in `update'
2 « J'aime »

Merci pour le rapport @dsims, cela sera corrigé une fois que cette PR sera fusionnée.

Ce n’est pas la « meilleure » correction, mais au moins l’événement ne plantera pas si un utilisateur entre un " dans l’un des champs de la fenêtre modale de l’événement.

1 « J'aime »