Kane York
869f9b20a2
PERF: Dematerialize topic_reply_count ( #9769 )
...
* PERF: Dematerialize topic_reply_count
It's only ever used for trust level promotions that run daily, or compared to 0. We don't need to track it on every post creation.
* UX: Add symbol in TL3 report if topic reply count is capped
* DEV: Drop user_stats.topic_reply_count column
2020-05-14 15:42:00 -07:00
Dan Ungureanu
0754c7c404
FIX: Various fixes to support posts with no user ( #8877 )
...
* Do not grant badges for posts with no user
* Ensure instructions are correct in Change Owner modal
* Hide user-dependent actions from posts with no user
* Make PostRevisor work with posts with no user
* Ensure posts with no user can be deleted
* discourse-narrative-bot should ignore posts with no user
* Skip TopicLink creation for posts with no user
2020-03-11 14:03:20 +02:00
Dan Ungureanu
c5e3faac00
FIX: Recovered posts with no user will be taken over by system user ( #8834 )
2020-02-06 10:19:04 +02:00
Gerhard Schlager
ab07b945c2
Merge pull request #8736 from gschlager/rename_reply_id_column
...
REFACTOR: Rename `post_replies.reply_id` column to `post_replies.reply_post_id`
2020-01-17 17:24:49 +01:00
Mark VanLandingham
14cb386f1e
FEATURE: Featured topic for user profile & card ( #8461 )
2019-12-09 11:15:47 -08:00
Mark VanLandingham
a54aaeeb79
REFACTOR: post_destroyer destroy method ( #8462 )
2019-12-04 14:13:31 -06:00
Roman Rizzi
1c9d18f094
FIX: Correctly ignore/approve replies when acting on a flagged post ( #8425 )
2019-11-27 17:19:44 -03:00
Roman Rizzi
e515324afa
Feature/Fix: Flagged posts user notifications ( #8041 )
...
* FIX: User should get notified when a post is deleted
* FEATURE: Notify posters when restoring flagged posts
* Fix typo
Co-Authored-By: Régis Hanol <regis@hanol.fr>
* Improve tests
2019-08-30 10:27:52 -03:00
Robin Ward
0d84c5b894
FIX: If a user deletes a hidden post, it should not lose history
2019-06-20 12:38:16 -04:00
Robin Ward
d95a68b837
FEATURE: When suspending a user, allow the Delete + Replies action
...
Previously you could only delete the post
2019-05-27 12:27:16 -04:00
Sam Saffron
30990006a9
DEV: enable frozen string literal on all files
...
This reduces chances of errors where consumers of strings mutate inputs
and reduces memory usage of the app.
Test suite passes now, but there may be some stuff left, so we will run
a few sites on a branch prior to merging
2019-05-13 09:31:32 +08:00
Bianca Nenciu
98a75906c8
FIX: Close topics deleted by users and ensure topic stubs are destroyed. ( #7430 )
2019-05-07 16:25:52 +03:00
Sam Saffron
45285f1477
DEV: remove update_attributes which is deprecated in Rails 6
...
See: https://github.com/rails/rails/pull/31998
update_attributes is a relic of the past, it should no longer be used.
2019-04-29 17:32:25 +10:00
Robin Ward
6f7b6a3333
FIX: Disagree and Restore should not revert edits
2019-04-11 16:21:18 -04:00
Robin Ward
abf4ca9774
FIX: Should be able to recover a user deleted post if raw didn't change
2019-04-10 13:10:40 -04:00
Bianca Nenciu
31053f30de
FEATURE: Let users delete their own topics. ( #7267 )
2019-03-29 17:10:05 +01:00
Roman Rizzi
7740b1570b
FIX: Avoid the deleted_at scope when recovering a topic from a recently recovered post
2019-03-29 09:40:15 -04:00
Robin Ward
b58867b6e9
FEATURE: New 'Reviewable' model to make reviewable items generic
...
Includes support for flags, reviewable users and queued posts, with REST API
backwards compatibility.
Co-Authored-By: romanrizzi <romanalejandro@gmail.com>
Co-Authored-By: jjaffeux <j.jaffeux@gmail.com>
2019-03-28 12:45:10 -04:00
Sam Saffron
9ebabc1de8
FEATURE: unconditionally update Topic updated_at when posts change in topic
...
Previously we would bypass touching `Topic.updated_at` for whispers and post
recovery / deletions.
This meant that certain types of caching can not be done where we rely on
this information for cache accuracy.
For example if we know we have zero unread topics as of yesterday and whisper
is made I need to bump this date so the cache remains accurate
This is only half of a larger change but provides the groundwork.
Confirmed none of our serializers leak out Topic.updated_at so this is safe
spot for this info
At the moment edits still do not change this but it is not relevant for the
unread cache.
This commit also cleans up some specs to use the new `eq_time` matcher for
millisecond fidelity comparison of times
Previously `freeze_time` would fudge this which is not that clean.
2019-03-28 17:28:01 +11:00
Vinoth Kannan
167d85c21f
FIX: post & topic destroyed hooks not triggering with tag filter
2019-03-06 22:52:54 +05:30
Arpit Jalan
05ebb52ec4
FEATURE: defer flags when deleting child replies ( #7111 )
2019-03-06 14:32:25 +05:30
Vinoth Kannan
76696b22fe
DEV: call 'enqueue_hooks' method only if active webhooks exist
2019-02-19 12:47:57 +05:30
Vinoth Kannan
f2c3415548
FIX: Should not generate payload until active webhooks are exist
2019-02-19 12:23:42 +05:30
Robin Ward
c719658f9f
`human?` helper method on a user
...
This is cleaner than hard coding `id > 0` in ruby code.
2019-02-08 13:34:54 -05:00
Vinoth Kannan
9cf4013073
Add raw post content in "flagged post removed by staff" PM
2019-01-21 12:27:23 +05:30
Arpit Jalan
40f10855c6
FIX: defer flags (only) when handling a flag and deleting replies ( #6702 )
2018-11-29 22:44:18 +05:30
Arpit Jalan
851ef14096
Revert "FIX: do not agree flags by default when deleting posts"
...
This reverts commit cb6fc8057b
.
2018-11-28 10:21:11 +05:30
Arpit Jalan
cb6fc8057b
FIX: do not agree flags by default when deleting posts
2018-11-27 10:57:20 +05:30
Maja Komel
993d8f346e
FIX notifications for flag PMs ( #6641 )
2018-11-22 10:25:19 +08:00
Gerhard Schlager
24e5be3f0c
FIX: Relative links in translations should work with subfolder
2018-11-08 23:31:05 +00:00
Vinoth Kannan
8430ea927e
FIX: Generate webhook payloads before destroy events ( #6325 )
2018-10-05 16:53:59 +08:00
Penar Musaraj
34516c72bd
FIX: Recover public actions (likes) when recovering a post ( #6412 )
2018-10-02 11:25:08 -04:00
Arpit Jalan
2e02a28ab4
FIX: do not revise post if post revision is not present
2018-09-21 14:08:58 +05:30
Neil Lalonde
d77dccc636
FIX: user-deleted posts with deferred flags can be destroyed
2018-08-09 14:54:31 -04:00
Neil Lalonde
fd29ecb91a
UX: include a flag reason in the post-deleted-by-staff-because-of-flags message
2018-07-30 16:45:46 -04:00
Neil Lalonde
135c803f49
FIX: don't send PM if flagged post is deleted but flags were deferred or cleared
2018-07-26 15:12:31 -04:00
Neil Lalonde
417bcf7d2e
add checks for staff and system user before sending flags_agreed_and_post_deleted message
2018-07-24 19:25:11 -04:00
Neil Lalonde
fe39cdc90a
FEATURE: when a post is deleted because a moderator agreed with flags, send a message to the post author
2018-07-24 17:17:56 -04:00
Arpit Jalan
b1082924b9
FIX: do not validate topic deletions
2018-07-13 22:53:36 +05:30
Neil Lalonde
f134701c7b
FIX: user topic and post counts can become negative when staff deletes posts in personal messages
2018-07-04 09:31:16 -04:00
Guo Xiang Tan
50f14c6e61
Prefer `update!` -> `update!`.
2018-06-22 15:13:04 +08:00
Arpit Jalan
d96c1058a2
FEATURE: add staff action log for 'restore topic'
2018-03-21 18:04:13 +05:30
Neil Lalonde
9dc9ca4ac0
FIX: be consistent with how first posts in topics are counted. do like DirectoryItem.refresh_period :all
2017-11-10 12:18:25 -05:00
Neil Lalonde
21dd2ccd43
FIX: only count regular posts in user stats when deleting
2017-11-02 18:05:23 -04:00
Neil Lalonde
30689783db
don't decrement post_count for a post in a deleted topic that has already been uncounted
2017-11-02 18:05:23 -04:00
Neil Lalonde
24af9b7d97
FIX: when a topic is deleted, update the post count stats of all user who replied
2017-11-02 18:05:23 -04:00
Guo Xiang Tan
77d4c4d8dc
Fix all the errors to get our tests green on Rails 5.1.
2017-09-25 13:48:58 +08:00
Guo Xiang Tan
5012d46cbd
Add rubocop to our build. ( #5004 )
2017-07-28 10:20:09 +09:00
Guo Xiang Tan
a6450f7377
REFACTOR: Allow `delete_removed_posts_after` SiteSetting to be bypassed.
2017-06-16 12:27:51 +09:00
Guo Xiang Tan
aef89c4850
REFACTOR: Load `Post` records in batches when destroying stubs.
2017-04-25 10:19:21 +08:00