Commit Graph

125 Commits

Author SHA1 Message Date
Martin Brennan 6239acdb95
Metadata Update (#265)
Co-authored-by: AlexDev <104522507+alexdevlaeminck@users.noreply.github.com>
2023-11-08 11:29:38 -08:00
Régis Hanol b269689ddf
FIX: delete solution with post (#256)
Ensures we remove the solution when the post marked as the solution is deleted.

DEV: Added `IS_ACCEPTED_ANSWER_CUSTOM_FIELD` constant.
DEV: Refactored the `PostSerializer` for better readability.
PERF: Improved the `TopicViewSerializer`'s performance by looking up the `accepted_answer_post_info` from the stream first.

Internal ref. dev/112251
2023-10-13 19:06:03 +02:00
Krzysztof Kotlarek 7e59ece789
FIX: granular webhooks (#248)
After those core changes we need additional translations

https://github.com/discourse/discourse/pull/23070
2023-10-09 03:26:29 +00:00
Juan David Martínez Cubillos 4032a1e35f
FIX: Search bug for status:unsolved returns topics from non-solution enabled categories (#241)
* FIX: Search bug for status:unsolved returns topics from non-solution enabled categories

* fixed rubocop issues
2023-06-20 09:52:02 -05:00
Penar Musaraj 7b90566b05
FIX: Take `enable_names` setting into account (#240) 2023-06-05 09:54:25 -04:00
Penar Musaraj e0cd3d11c3
FIX: Respect "display name on posts" site setting (#239)
When displaying the accepted answer in the OP.
2023-06-01 11:50:50 -04:00
Sam b4a740382f
FEATURE: prioritize_solved_topics_in_search to prioritize solved topics (#236)
Many consumers of Discourse solved may want solved topics to show up more
prominently in search. New setting `prioritize_solved_topics_in_search`  (default off) allows 
bumping these topics to the top.

Co-authored-by: Alan Guo Xiang Tan <gxtan1990@gmail.com>
2023-05-03 11:56:10 +10:00
Arpit Jalan bffc46858a
FEATURE: solved topic auto close setting per category (#233)
* FEATURE: solved topic auto close setting per category

This commit adds per category "solved topics auto close hours" setting. The plugin would use the existing "solved topics auto close hours" setting, except if there was a setting for the relevant category in which case that would take precedence.

* minor changes per feedback
2023-04-19 19:44:33 +05:30
Bianca Nenciu 4ae1841479
UX: Tweak 'Solution' button design (#232)
Hide the accept solution button if a solution has been accepted already.
2023-03-17 17:35:58 +02:00
Blake Erickson 65a9ccf876
FEATURE: Add API Scopes (#228)
Adds a single API scope for accepting or unaccepting a solution.
2023-02-23 15:00:14 -07:00
Osama Sayegh 3492d42a58
FIX: Add title to solved notifications (#226)
This commit adds a title that appears when hovering over solved notifications in the UI.
2023-02-15 16:30:33 +03:00
David Taylor 14e0800a29
DEV: Introduce syntax_tree for ruby formatting (#217) 2022-12-23 20:36:08 +00:00
Jarek Radosz 6007395cfb
DEV: Lose the es6 suffix (#191) 2022-03-06 21:20:09 +01:00
Joffrey JAFFEUX 9b8aa09855
DEV: adds an automation script for first accepted solution (#172) 2021-11-12 16:00:48 +01:00
Jarek Radosz 668ea21131
DEV: Drop obsolete code (#170) 2021-10-28 15:13:24 +02:00
Roman Rizzi 66999ee3fb
FEATURE: Enable solved for topics with specific tags. (#164)
This PR adds a site setting called `enable_solved_tags`. Solved will be enabled for topics containing these tags, just like we do for specific categories.
2021-09-17 11:12:47 -03:00
Bianca Nenciu b558caff37
PERF: Use UserAction to count accepted answers (#162)
The previous query which used custom fields performed a much more
complex and slower search.
2021-09-13 19:26:43 +03:00
Martin Brennan cf368c19cb
FIX: Stop register_topic_list_preload_user_ids from breaking old versions (#160)
We need a proper fix, but this stops the bleeding for now.
Wrapped code related to `register_topic_list_preload_user_ids` in
a `respond_to?(:register_topic_list_preload_user_ids)` block because
this API is not available in beta or stable versions of Discourse.
2021-08-31 13:30:17 +10:00
Bianca Nenciu f20274f44a
FIX: Correctly serialize accepted_answers (#158) 2021-08-26 16:16:22 +03:00
Bianca Nenciu fafa1c22b0
FEATURE: Show number of accepted answers on user card (#154) 2021-08-26 14:25:39 +03:00
Bianca Nenciu 184d2e6137
FEATURE: Show user who posted accepted answer second (#156)
The user who posts the accepted answer will show as the second poster
in the list of posters from topics list.
2021-08-26 12:53:46 +03:00
Osama Sayegh 6123f22412
Revert "FEATURE: Show user who posted accepted answer second (#153)" (#155)
This reverts commit 556f402db8.
2021-08-26 01:05:01 +03:00
Bianca Nenciu 556f402db8
FEATURE: Show user who posted accepted answer second (#153)
The user who posts the accepted answer will show as the second poster
in the list of posters from topics list.
2021-08-25 23:33:28 +03:00
Arpit Jalan 13168027eb
UX: do not show composer education message if the post is whisper (#152) 2021-08-19 09:33:00 +05:30
Vinoth Kannan 5e0ef4bd36
DEV: create a sample solved topic for `dev:populate` rake task. (#149)
Solved feature will be enabled on a random category and a random post will get marked as "accepted answer" on it.
2021-07-15 19:04:28 +05:30
Martin Brennan af0d3aca61
DEV: Remove fallback to TopicTimer close type (#144)
We've been past the 2.7 release for a while now and silent_close
is in core; time to remove this fallback.
2021-06-28 15:33:25 +10:00
Mark VanLandingham eac6539c46
FIX: Backwards compatibility for older Discourse versions (#143) 2021-06-24 12:11:51 +05:30
Mark VanLandingham 52d4656011
Re-add usage of `add_directory_column` for user directory table solutions count (#140) 2021-06-22 13:18:23 -05:00
communiteq ca0dbd6d4c
Two extra options (#138)
* Make it possible to disallow topic starters to accept a solution

* Make adding QAPage schema markup optional

* Address @eviltrout's comments

Co-authored-by: Richard <richard@communiteq.com>
2021-06-17 16:12:33 -04:00
Mark VanLandingham 7351882171
Revert "Use `add_directory_column` API to add solutions count to user directory (#137)" (#139)
This reverts commit 58c594fdda.
2021-06-17 12:37:29 -05:00
Mark VanLandingham 58c594fdda
Use `add_directory_column` API to add solutions count to user directory (#137) 2021-06-17 09:31:11 -05:00
Arpit Jalan bbbd13de85
FEATURE: show education message in composer when replying on solved topic (#135) 2021-06-14 16:06:55 +05:30
Jarek Radosz ce63d80abb
DEV: Avoid nil custom fields (#128) 2021-05-05 12:19:00 +02:00
Martin Brennan c722b94a97
FIX: Update set_or_create_topic_timer to use duration_minutes keyword
See https://github.com/discourse/discourse/pull/11961
2021-02-05 15:33:09 +10:00
Bianca Nenciu 6d91419caf
FIX: Refresh whole post stream when category changes (#111)
Only if the old and new category have different 'solved' settings.
2021-01-20 12:26:37 +02:00
Krzysztof Kotlarek 5840601025
FEATURE: silently auto close solved topic (#104)
Topic solved should be closed silently as system user involvement may be confusing.

In addition, old rescue block was dropped.

Meta: https://meta.discourse.org/t/discourse-encrypt-unable-to-see-close-message/135235
2020-12-03 15:01:42 +11:00
Vinoth Kannan f04ccbd4e6
FEATURE: send notification to OP when staff marked a post as solution. (#97)
Previously, we won't send any notification to the original poster when a staff user marked a post as the solution on behalf of OP.
2020-10-30 22:01:27 +05:30
Régis Hanol 9ecac7a3e2 FIX: add mutex around un/mark as solved
To prevent any race conditions when two users toggle the state of a reply.

(cf. https://meta.discourse.org/161104)
2020-08-17 16:33:24 +02:00
jbrw 6f1cf5a779
FEATURE - Category group moderators can (un)accept solutions, if enabled (#89) 2020-07-27 17:42:42 -04:00
Krzysztof Kotlarek 36579b774f FIX: check if add_post_custom_fields_allowlister exisits 2020-07-27 12:04:28 +10:00
Krzysztof Kotlarek 57a8ec8a06 FIX: remove empty line 2020-07-15 09:44:32 +10:00
Krzysztof Kotlarek 10c31ffbd5 FIX: compatibility after allowlist rewording in Discourse 2020-07-15 09:34:02 +10:00
Krzysztof Kotlarek 922b4c3907
FIX: plugin backwards compatibility with Discourse 2.4 (#87)
Duration is a new keyword argument on Topic#set_or_create_timer and is not yet available in stable Discourse
2020-04-27 13:01:01 +10:00
Dan Ungureanu dc87d34594
FEATURE: Add include_subcategories report filter
Follow up to dafb1d7c7f.
2020-04-24 13:16:15 +03:00
Dan Ungureanu dafb1d7c7f
FIX: Include subcategories in report (#86) 2020-04-10 12:50:44 +03:00
Vinoth Kannan 329d8aff30 FIX: use the new duration attribute in `set_or_create_timer` method.
aad12822b7
2020-03-19 22:53:17 +05:30
Blake Erickson 8d883fba93
FEATURE: Publish WebHook event when solving/unsolving (#85)
* FEATURE: Publish WebHook event when solving/unsolving

This feature will publish a post edit webhook event whenever a solution
is accepted or unaccepted.

I went ahead and used the existing post-edit webhook because all the
post custom fields for the solved plugin are already included in the
post-edit serializer.

* Create Solved Event Webhook

This commit adds a solved event webhook that will only trigger when an
answer has been marked as accepted or unaccepted.

It uses 100 as the webhook ID. This way any new webhooks in core can
keep using lower numbers like 11, 12, 13, but plugins can use 101, 102,
etc.

* Removed functionality that was added to core

This [PR][1] to discourse core adds what what removed in this commit.

It is better to have this logic in core so that it is discoverable and
future webhooks won't end up accidentally using the same ID.

[1]: https://github.com/discourse/discourse/pull/9110

* UX: Add "solved" status filter in advanced search page.

And rename `in:solved` to `status:solved`.

* FEATURE: Publish WebHook event when solving/unsolving

This feature will publish a post edit webhook event whenever a solution
is accepted or unaccepted.

I went ahead and used the existing post-edit webhook because all the
post custom fields for the solved plugin are already included in the
post-edit serializer.

* Create Solved Event Webhook

This commit adds a solved event webhook that will only trigger when an
answer has been marked as accepted or unaccepted.

It uses 100 as the webhook ID. This way any new webhooks in core can
keep using lower numbers like 11, 12, 13, but plugins can use 101, 102,
etc.

* Removed functionality that was added to core

This [PR][1] to discourse core adds what what removed in this commit.

It is better to have this logic in core so that it is discoverable and
future webhooks won't end up accidentally using the same ID.

[1]: https://github.com/discourse/discourse/pull/9110

Co-authored-by: Vinoth Kannan <vinothkannan@vinkas.com>
2020-03-06 11:28:29 -07:00
Vinoth Kannan f4aea44db8 UX: Add "solved" status filter in advanced search page.
And rename `in:solved` to `status:solved`.
2020-03-06 08:57:38 +05:30
Sam Saffron e5b08c71c4
FIX: do not allow whispers to be accepted as answers
This also cleans up the guardian so it is easier to reason about
2020-02-23 19:16:31 +11:00
Krzysztof Kotlarek 230c2071ea
FEATURE: Add helpdesk and tech support badges (#84)
* FEATURE: Add helpdesk and tech support badges

When plugin is installed, we should create helpdesk and tech support
badges.

Both badges should be disabled by default
2020-02-05 11:14:12 +11:00