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)






