On the homepage by Top, Hot, Latest, etc. how can I add Unsolved?
You can use the Custom Top Navigation Links component to add custom links next to the ones configured in the site settings. To filter the topic list for unsolved topics, you can add solved=no. For example https://meta.discourse.org/?solved=no
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.
FWIW I have the Solved plugin installed and I updated earlier today through the UI and it went through okay. ![]()
Should have checked before I postedâŠ
Looks like thereâs one new commit for Solved that has been added in the meantime. Let me do a command line rebuild just to check and confirm everything goes through okay.
ETA: @Frully My rebuild (including Solved) was successful ![]()
To add to what Jam said. I too havenât had any issues with solved
If this is the first time you installed Solved verify that your GitHub address is correct.
If you can maybe also share if youâre running Stable or the Recommended Test-Passed
If you can post part of your app.yml plugin section may help as well.
Thanks both for checking. Now that it is updated I feel safer reenabling the plugin. Will advise when I have time to test and note the results.
Weâre still suffering from this issue (although as no-one else seems to have reported it, Iâm starting to wonder if itâs just us?)
Digging a little deeper, I have found that adding a padding-top and padding-bottom of 15px to the topic-statuses CSS class works around the problem. Iâm hoping for a maintainer of the plugin to be able to fix this in a more permanent way.
I think this is connected to Discourse Tooltips. Itâs not just the unsolved boxes on your site, but also any pins and padlocks as well.
I think there are a couple of other reports too:
Since weâve updated discourse, solved webhooks are inverted.
If I solve a topic the webhook will be sent like this :
"can_accept_answer": true,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": null
and if I unaccept the answer, itâs the other way around
This plugin is now bundled with Discourse core as part of Bundling more popular plugins with Discourse core. If you are self-hosting and use the plugin, you need to remove it from your app.yml before your next upgrade.
It has error with the latest version of discourse
I have to disable this to rebuild app (discourse)
Itâs now included in core
Home > Posts in the category will show resolved topics as unresolved topics
Do I need other settings?
Is it possible to add an entry in Advanced filters in the search area of Discourse to show only non-resolved?
Edit: This is an option in Where topics in the search, I should let my medicaiton kick in before asking questions ![]()
you can use /filter and in:solved / in:unsolved
My understanding is that we can use the triggerable âfirst_accepted_solutionâ from Solved when creating a automation. Would an automation with this trigger run only once for every topic that gets solved or it is first accepted solution from an user and not a topic? Not sure if the question makes sense, sorry
Where can I read more about the triggerable I can use in automations, but my focus in on the âaccepted_solutionsâ, which if Iâm not mistaken, comes from the Solved. Thus the question here.
âFirst-accepted-solutionâ triggers the first time a userâs post is selected as the solution to any topic.
You can, for example, use it to thank a user for helping someone the first time they did it.
Hi @Moin ,
Thanks a lot for the clarification, it makes sense.
Follow-up question: Is there any âaccepted-solutionâ trigger or only âfirst-accepted-solutionâ ?
Reasoning: I would like to create a custom automation that creates a Post every time a Topic is Solved (a Post is marked as solution)
I tried with the âfirst-accepted-solutionâ but it only works once, as I can see now, it is expected.
Any recommendation or ideas?
Thanks again ![]()
Without knowing what you want to do with that post or why you need it, itâs a little difficult to suggest something helpful for you.
Do you simply want to know about posts being marked as the solution?
Then you could use a data explorer query and the âSchedule a post in a topic with Data Explorer resultsâ script. You could, for example, run a query that returns the solutions from the past 10 minutes every 10 minutes.
I guess you could also run it more often, but I am unsure how much this adds on the server. But even if you ran it every minute, you wouldnât necessarily get a post for each solution. Maybe there are 2 topics solved within the minute.
Furthermore, the resulting post can only be customized to a limited extent. (Of course, you can customize the texts used like any other text, but you should bear in mind that you will then have to do this for every post that is changed by automation with this script. So it doesnât really work if you want to be too individual.)
Simple example of a post created by that automation:
The content of the table depends on the query. It is possible to expand the query, for example, to display a link to the topic or the solution. I kept it simple for demonstrating how the feature generally works.
The query I used
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
Hi @Moin ,
Thanks a lot for your reply ![]()
It is nice, I tested and made it work - thanks to your reply:
Moreover, it is still not what I was looking for.
Sorry if I wasnât clear in my previous question.
What Iâm trying to do is to create an Automation that will create a post (from system user) every time a Topic gets solved. In this Topic, the newly generated Post will contain a survey (the survey will be the markdown of the Discourse Surveys)






