Sur la page d’accueil, à côté de Top, Hot, Latest, etc., comment puis-je ajouter Unsolved ?
Vous pouvez utiliser le composant Custom Top Navigation Links pour ajouter des liens personnalisés à côté de ceux configurés dans les paramètres du site. Pour filtrer la liste des sujets par les sujets non résolus, vous pouvez ajouter solved=no. Par exemple \u003chttps://meta.discourse.org/?solved=no\u003e
Running into the same incompatible plugin error mentioned up above, but we are using official release:
Logs
********************************************************
*** Please be patient, next steps might take a while ***
********************************************************
Cycling Unicorn, to free up memory
Restarting unicorn pid: 551
Waiting for Unicorn to reload.
Waiting for Unicorn to reload..
Waiting for Unicorn to reload...
Waiting for Unicorn to reload....
Waiting for Unicorn to reload.....
Waiting for Unicorn to reload......
Waiting for Unicorn to reload.......
Stopping 3 Unicorn worker(s), to free up memory
Stopping job queue to reclaim memory, master pid is 3004191
$ cd /var/www/discourse/plugins/docker_manager && git fetch --tags --prune-tags --prune --force
$ cd /var/www/discourse/plugins/docker_manager && git reset --hard HEAD@{upstream}
HEAD is now at 930ec25 DEV: Enable smoke specs again
$ bundle install --retry 3 --jobs 4
Bundle complete! 146 Gemfile dependencies, 189 gems now installed.
Gems in the groups 'test' and 'development' were not installed.
Bundled gems are installed into `./vendor/bundle`
3 installed gems you directly depend on are looking for funding.
Run `bundle fund` for details
$ if [ -f yarn.lock ]; then yarn install; else CI=1 pnpm install; fi
Scope: all 17 workspace projects
Lockfile is up to date, resolution step is skipped
Already up to date
Done in 3.2s
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
checking out compatible discourse-calendar version: 8d09cf8503b78f4c72b47a7319c0f4b9ad0247e7
HEAD is now at 8d09cf8 DEV: update regions (#717)
checking out compatible discourse-reactions version: f87583d9054421869ba0de16c24ad15e32bbebe7
HEAD is now at f87583d DEV: Add system spec to check core features are working fine (#361)
checking out compatible discourse-solved version: 4f0234f5be3aaa77db277e0f224cd9750d2713cd
HEAD is now at 4f0234f DEV: Add system spec to check core features are working fine (#357)
discourse-spoiler-alert is already at latest compatible version
docker_manager is already at latest compatible version
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
81: from /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/bundle:25:in `<main>'
80: from /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/bundle:25:in `load'
79: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/exe/bundle:20:in `<top (required)>'
78: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
77: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/exe/bundle:28:in `block in <top (required)>'
76: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:29:in `start'
75: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
74: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:35:in `dispatch'
73: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor.rb:538:in `dispatch'
72: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
71: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
70: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:452:in `exec'
69: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:23:in `run'
68: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in `kernel_load'
67: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in `load'
66: from /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/rake:25:in `<top (required)>'
65: from /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/rake:25:in `load'
64: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'
63: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:80:in `run'
62: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:214:in `standard_exception_handling'
61: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:83:in `block in run'
60: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:132:in `top_level'
59: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:147:in `run_with_threads'
58: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block in top_level'
57: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `each'
56: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block (2 levels) in top_level'
55: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:188:in `invoke_task'
54: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:188:in `invoke'
53: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
52: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize'
51: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:218:in `block in invoke_with_call_chain'
50: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `invoke_prerequisites'
49: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `each'
48: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:243:in `block in invoke_prerequisites'
47: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
46: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize'
45: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:218:in `block in invoke_with_call_chain'
44: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `invoke_prerequisites'
43: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `each'
42: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:243:in `block in invoke_prerequisites'
41: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
40: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize'
39: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
38: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `execute'
37: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `each'
36: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `block in execute'
35: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/application.rb:559:in `block in run_tasks_blocks'
34: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/application.rb:411:in `require_environment!'
33: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/zeitwerk-2.7.2/lib/zeitwerk/core_ext/kernel.rb:34:in `require'
32: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
31: from /usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
30: from /usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
29: from /var/www/discourse/config/environment.rb:7:in `<main>'
28: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/application.rb:435:in `initialize!'
27: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:60:in `run_initializers'
26: from /usr/local/lib/ruby/3.3.0/tsort.rb:208:in `tsort_each'
25: from /usr/local/lib/ruby/3.3.0/tsort.rb:229:in `tsort_each'
24: from /usr/local/lib/ruby/3.3.0/tsort.rb:350:in `each_strongly_connected_component'
23: from /usr/local/lib/ruby/3.3.0/tsort.rb:350:in `call'
22: from /usr/local/lib/ruby/3.3.0/tsort.rb:350:in `each'
21: from /usr/local/lib/ruby/3.3.0/tsort.rb:352:in `block in each_strongly_connected_component'
20: from /usr/local/lib/ruby/3.3.0/tsort.rb:434:in `each_strongly_connected_component_from'
19: from /usr/local/lib/ruby/3.3.0/tsort.rb:353:in `block (2 levels) in each_strongly_connected_component'
18: from /usr/local/lib/ruby/3.3.0/tsort.rb:231:in `block in tsort_each'
17: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:61:in `block in run_initializers'
16: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:32:in `run'
15: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:32:in `instance_exec'
14: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/application/finisher.rb:94:in `block in <module:Finisher>'
13: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:77:in `run_load_hooks'
12: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:77:in `each'
11: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:78:in `block in run_load_hooks'
10: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:92:in `execute_hook'
9: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:87:in `with_execution_control'
8: from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:94:in `block in execute_hook'
7: from /var/www/discourse/config/application.rb:241:in `block in <class:Application>'
6: from /var/www/discourse/lib/plugin.rb:6:in `initialization_guard'
5: from /var/www/discourse/config/application.rb:241:in `block (2 levels) in <class:Application>'
4: from /var/www/discourse/config/application.rb:241:in `each'
3: from /var/www/discourse/lib/plugin/instance.rb:629:in `notify_after_initialize'
2: from /var/www/discourse/lib/plugin/instance.rb:629:in `each'
1: from /var/www/discourse/lib/plugin/instance.rb:631:in `block in notify_after_initialize'
/var/www/discourse/plugins/discourse-solved/plugin.rb:172:in `block in activate!': undefined method `register_category_list_topics_preloader_associations' for an instance of Plugin::Instance (NoMethodError)
** INCOMPATIBLE PLUGIN **
You are unable to start Discourse due to errors in the plugin at
/var/www/discourse/plugins/discourse-solved
Please try removing this plugin and rebuilding again!
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:211:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:109:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:44:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:44:in `block in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/execution_wrapper.rb:91:in `wrap'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:70:in `conditional_executor'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/command.rb:28:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command/base.rb:178:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor.rb:538:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command/base.rb:73:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:71:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:149:in `with_argv'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/command.rb:69:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/commands.rb:18:in `<main>'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:18:in `<main>'
Spinning up 3 Unicorn worker(s) that were stopped initially
tldr logs:
** INCOMPATIBLE PLUGIN **
You are unable to start Discourse due to errors in the plugin at
/var/www/discourse/plugins/discourse-solved
Please try removing this plugin and rebuilding again!
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>
We aren’t too far behind, but something is unhappy.
Edit: So, everything about this update went south. docker_manager failed as logged above, but then it showed as ‘up to date’ afterward. A main Discourse update utterly failed - showed as updating but never made progress and no processes changed. I disabled Solved! in app.yml and rebuilt the app - everything seems good now - minus Solved. If anyone comments that it’s safe to turn back on I’ll rerebuild it.
Pour information, j’ai le plugin Solved installé et je l’ai mis à jour plus tôt dans la journée via l’interface utilisateur et cela s’est bien passé. ![]()
J’aurais dû vérifier avant de poster…
Il semble qu’une nouvelle validation pour Solved ait été ajoutée entre-temps. Laissez-moi faire une reconstruction en ligne de commande juste pour vérifier et confirmer que tout se passe bien.
ETA : @Frully Ma reconstruction (y compris Solved) a été réussie ![]()
Pour compléter ce que Jam a dit. Je n’ai également rencontré aucun problème avec Solved.
Si c’est la première fois que vous installez Solved, vérifiez que votre adresse GitHub est correcte.
Si possible, partagez également si vous utilisez la version Stable ou la version recommandée testée.
Si vous pouvez publier une partie de la section plugin de votre app.yml, cela pourrait aussi aider.
Merci à vous deux pour la vérification. Maintenant que c’est mis à jour, je me sens plus en sécurité pour réactiver le plugin. Je vous informerai lorsque j’aurai le temps de tester et noter les résultats.
Nous souffrons toujours de ce problème (bien que, comme personne d’autre ne semble l’avoir signalé, je commence à me demander si ce n’est pas juste nous ?)
En creusant un peu plus, j’ai constaté que l’ajout d’un padding-top et d’un padding-bottom de 15 px à la classe CSS topic-statuses résout le problème. J’espère qu’un mainteneur du plugin pourra le corriger de manière plus permanente.
Je pense que cela est lié à Discourse Tooltips. Il ne s’agit pas seulement des boîtes non résolues sur votre site, mais aussi de toutes les épingles et des cadenas.
Je pense qu’il y a quelques autres rapports :
Depuis que nous avons mis à jour Discourse, les webhooks de résolution sont inversés.
Si je résous un sujet, le webhook sera envoyé comme ceci :
"can_accept_answer": true,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": null
et si je désélectionne la réponse, c’est l’inverse.
Ce plugin est maintenant inclus dans le cœur de Discourse dans le cadre de Bundling more popular plugins with Discourse core. Si vous auto-hébergez et utilisez le plugin, vous devez le supprimer de votre app.yml avant votre prochaine mise à niveau.
Il y a une erreur avec la dernière version de discourse
Je dois désactiver cela pour reconstruire l'application (discourse)
Il est maintenant inclus dans le cœur du système
Accueil > Les publications de la catégorie afficheront les sujets résolus comme des sujets non résolus
Ai-je besoin d’autres paramètres ?
Est-il possible d’ajouter une entrée dans Filtres avancés dans la zone de recherche de Discourse pour n’afficher que les non résolus ?
vous pouvez utiliser /filter et in:solved / in:unsolved
Ma compréhension est que nous pouvons utiliser le déclencheur « first_accepted_solution » de Solved lors de la création d’une automatisation. Une automatisation avec ce déclencheur ne s’exécuterait-elle qu’une seule fois pour chaque sujet résolu, ou s’agit-il de la première solution acceptée par un utilisateur et non par un sujet ? Je ne suis pas sûr que la question ait du sens, désolé.
« Première solution acceptée » se déclenche la première fois qu’une publication d’un utilisateur est sélectionnée comme solution à un sujet quelconque.
Vous pouvez, par exemple, l’utiliser pour remercier un utilisateur de son aide la première fois qu’il en apporte.
Salut @Moin ,
Merci beaucoup pour la clarification, c’est logique.
Question de suivi : existe-t-il un déclencheur « accepted-solution » ou seulement « first-accepted-solution » ?
Raisonnement : J’aimerais créer une automatisation personnalisée qui crée un Post chaque fois qu’un Sujet est résolu (un Post est marqué comme solution).
J’ai essayé avec « first-accepted-solution », mais cela ne fonctionne qu’une seule fois, comme je le vois maintenant, c’est attendu. Des recommandations ou des idées ?
Sans savoir ce que vous voulez faire de cette publication ou pourquoi vous en avez besoin, il est un peu difficile de vous suggérer quelque chose d’utile.
Voulez-vous simplement savoir si des publications sont marquées comme solution ?
Vous pourriez alors utiliser une requête d’explorateur de données et le script « Planifier une publication dans un sujet avec les résultats de l’explorateur de données ». Vous pourriez, par exemple, exécuter une requête qui renvoie les solutions des 10 dernières minutes toutes les 10 minutes. Je suppose que vous pourriez aussi l’exécuter plus souvent, mais je ne suis pas sûr de ce que cela ajoute au serveur. Mais même si vous l’exécutiez chaque minute, vous n’obtiendriez pas nécessairement une publication pour chaque solution. Peut-être que 2 sujets sont résolus dans la minute. De plus, la publication résultante ne peut être personnalisée que dans une mesure limitée. (Bien sûr, vous pouvez personnaliser les textes utilisés comme n’importe quel autre texte, mais vous devez garder à l’esprit que vous devrez alors le faire pour chaque publication modifiée par l’automatisation avec ce script. Cela ne fonctionne donc pas vraiment si vous voulez être trop individuel.)
Exemple simple d’une publication créée par cette automatisation
Le contenu du tableau dépend de la requête. Il est possible d’étendre la requête, par exemple, pour afficher un lien vers le sujet ou la solution. Je l’ai gardé simple pour démontrer comment la fonctionnalité fonctionne en général.
La requête que j'ai utilisée
SELECT
dst.created_at AS solution_accepted_at,
dst.topic_id,
dst.answer_post_id,
dst.accepter_user_id
FROM discourse_solved_solved_topics dst
WHERE dst.created_at >= NOW() - INTERVAL '10 minutes'
ORDER BY dst.created_at DESC
Salut @Moin,
Merci beaucoup pour ta réponse ![]()
C’est super, j’ai testé et ça fonctionne - grâce à ta réponse :
De plus, ce n’est toujours pas ce que je cherchais.
Désolé si je n’ai pas été clair dans ma question précédente.
Ce que j’essaie de faire, c’est de créer une automatisation qui créera un message (à partir d’un utilisateur système) chaque fois qu’un sujet sera résolu. Dans ce sujet, le message nouvellement généré contiendra une enquête (l’enquête sera le markdown des enquêtes Discourse).






