Commit Graph

192 Commits

Author SHA1 Message Date
Robin Ward
cf7774bdd9 FEATURE: Block muted users from sending you PMs 2017-01-03 14:51:53 -05:00
Sam
2b808ad9da Merge pull request #4609 from joebuhlig/category-topics-wiki
FEATURE: Category setting to make all topics wikis
2016-12-20 09:15:51 +11:00
Neil Lalonde
923cf73c6e Topic Featured Links: move data from custom fields to topics and categories tables. Invert behaviour of topic_featured_link_allowed checkbox. Fix a bug with invalid topic records due to changing that category checkbox. 2016-12-19 14:54:07 -05:00
Joe Buhlig
87251fded7 FEATURE: Category setting to make all topics wikis
FEATURE: Category setting to make all topics wikis
2016-12-19 06:42:18 -06:00
Neil Lalonde
a4c4f13901 Remove the topic_featured_link_onebox setting. We will always try to onebox a link and add it to the body if topic_featured_link_enabled is enabled. 2016-12-09 13:28:12 -05:00
Erick Guan
52763f5115
FEATURE: Allow posting a link with topics 2016-12-05 17:20:54 +01:00
Sam
c04d4171ff FIX: whisper no longer experimental
- Regular users are not notified of whispers
- Regular users no longer have "stuck" topics in unread
- Additional tracking for staff highest post number
- Remove a bunch of unused columns in topics table
2016-12-02 17:03:31 +11:00
cpradio
6f1c31d777 Add notification level user preference when replying to a topic 2016-09-30 14:58:07 -04:00
Robin Ward
79245a25a3 Explain the skip_jobs parameter 2016-08-24 11:06:14 -04:00
Robin Ward
2cb4cb7b72 FIX: Don't enqueue jobs in a transaction 2016-08-23 16:07:59 -04:00
Guo Xiang Tan
5fe4837e28 Add PostCreator#create!. 2016-07-15 11:36:06 +08:00
Robin Ward
baae2a4b7c FIX: Don't update the last read post when disable jump reply is set 2016-06-08 14:08:19 -04:00
Neil Lalonde
f13470b96b Use db schema for tags instead of plugin store and custom fields 2016-05-26 14:29:48 -04:00
Neil Lalonde
0101528821 PERF: update_user_counts is too slow during imports 2016-05-17 13:22:32 -04:00
Neil Lalonde
3deda3ca39 skip auto-close during import 2016-05-17 11:16:51 -04:00
Neil Lalonde
1625b08c86 FIX: posting my fail because there are no tags 2016-05-06 11:20:17 -04:00
Arpit Jalan
53809d526c FIX: show proper error message when no user selected for private message 2016-05-05 18:47:08 +05:30
Neil Lalonde
e5918c7d00 FEATURE: Merge tagging plugin into core 2016-04-27 11:58:53 -04:00
Régis Hanol
2194ccec6e slightly better automatic flag reason messages 2016-04-25 23:03:17 +02:00
Jeff Atwood
f39186b24a FIX: autoclose topic max replies used wrong constant 2016-04-12 13:42:52 -07:00
Sam
0113fce420 FEATURE: automatically close topics with 10k+ posts
FEATURE: automatically close messages with 2k+ posts

Both configurable via `auto_close_messages_post_count`
and `auto_close_topics_post_count`
2016-04-12 13:29:48 +10:00
Sam Saffron
b0567f9c62 FEATURE: automatically sync "move to inbox" / "archive" state on messages 2016-02-07 23:39:07 +11:00
Sam
d0ee32f3ce FIX: correct counts on user summary 2016-01-24 16:39:01 +11:00
Sam
1a27d887fa FIX: if topic did not save do not attempt to skip inbox 2016-01-14 10:38:20 +11:00
Sam
4ec409f705 FEATURE: don't add admins to topic allowed users if already in group 2016-01-12 13:57:45 +11:00
Régis Hanol
cf4cb2126a FIX: word_count wasn't working with non-latin sentences 2016-01-11 11:16:23 +01:00
Sam
03ea0bfe22 FEATURE: allow users to archive messages
Messages are now in 3 buckets

- Inbox for all new messages
- Sent for all sent messages
- Archive for all messages you are done with

You can select messages from your Inbox or Sent and move them to your Archive,
you can move messages out of your Archive similarly

Similar concept applied to group messages, except that archiving and unarchiving
will apply to all group members
2015-12-23 11:09:30 +11:00
Régis Hanol
31a54377be staged users automatically watches all topics they participates in 2015-11-18 22:24:46 +01:00
Sam
606aeb9d55 improvements to importer
- improve perf of test for existing posts
- always use a system guardian when importing posts
- for lithuim importer requery raw (transform is not repeatable)
2015-10-16 10:41:21 +11:00
Régis Hanol
54d6d24cbf FIX: timing issue with edits and cook post processing 2015-09-29 18:51:26 +02:00
Robin Ward
64598ceaba FIX: Replies to whispers *must* be whispers 2015-09-25 11:29:40 -04:00
Robin Ward
79beb9f409 FIX: You could set reply_to_post_number when replying as a new topic 2015-09-22 13:32:19 -04:00
Robin Ward
9f89aefdd3 FIX: Don't update the last poster when a whisper is made 2015-09-22 12:23:37 -04:00
Sam
5f5d055a86 only if \u0000 is included for the perf 2015-08-19 12:32:45 +10:00
Sam
431def1f52 need to dup strings, some may be frozen 2015-08-19 12:32:45 +10:00
Sam
714f841f0a FIX: null bytes in user input should not cause post creation to fail 2015-08-19 12:15:38 +10:00
Régis Hanol
ac8e90674b FIX: be more lenient when creating a post with a username that is no longer valid 2015-08-12 15:54:51 +02:00
Sam
7b8b96446e FEATURE: track statistics around post creation
- how long were people typing?
- how long was composer open?
- how many drafts were created?
- correct, draft saved to go away after you continue typing

store in Post.find(xyz).post_stat
2015-08-03 14:29:15 +10:00
Robin Ward
bb93a345eb UX: Use smaller messages for moderator actions. 2015-07-27 10:09:21 -04:00
Robin Ward
fb8ba5e137 FIX: PG::UniqueViolation when trying to use the same embed code
Previously providing an embed code already in use would result in
a logged server error. After this commit the error is gracefully
bubbled up from the `PostCreator`
2015-06-15 12:09:59 -04:00
Robin Ward
c6cd1928be Simple "cook" for email imports from mailing lists 2015-06-05 11:46:36 -04:00
Régis Hanol
a737090442 - FEATURE: revamped poll plugin
- add User.staff scope
- inject MessageBus into Ember views (so it can be used by the poll plugin)
- REFACTOR: use more accurate is_first_post? method instead of post_number == 1
- FEATURE: add support for JSON-typed custom fields
- FEATURE: allow plugins to add validation
- FEATURE: add post_custom_fields to PostSerializer
- FEATURE: allow plugins to whitelist post_custom_fields
- FIX: don't bump when post did not save successfully
- FEATURE: polls are supported in any post
- FEATURE: allow for multiple polls in the same post
- FEATURE: multiple choice polls
- FEATURE: rating polls
- FEATURE: new dialect allowing users to preview polls in the composer
2015-04-23 19:33:29 +02:00
Robin Ward
2713b77e28 FIX: If validations were disabled some rate limits continued to run 2015-04-21 13:16:05 -04:00
Robin Ward
5990ab855b PERF: Move post alerting into async 2015-04-20 13:34:57 -04:00
Robin Ward
19a9a8b408 NewPostManager determines whether to queue a post or not 2015-04-15 14:54:36 -04:00
Robin Ward
a5ee45ccbe PostEnqueuer object to handle validation of enqueued posts 2015-04-15 14:54:36 -04:00
Régis Hanol
eec1921ba9 FIX: notifications inconsistencies + never notify system user 2015-04-01 11:55:59 +02:00
Sam
4720d0c12b Merge pull request #3277 from techAPJ/patch-1
FIX: return proper error message when replying to a closed or deleted topic
2015-03-17 07:38:00 +11:00
Arpit Jalan
484ae8b6b7 FIX: return proper error message when replying to a closed or deleted topic 2015-03-16 16:43:22 +05:30
Gerhard Schlager
53591ade00 Adds a few enhancements to the base importer
- Allows importing globally pinned topics
- Doesn't restore the original value of a SiteSetting anymore if an importer changed its value
- Allows all file extensions during the import
- Adds the ability to import bookmarks
2015-03-13 21:24:11 +01:00
Régis Hanol
c8631a7a8b FIX: auto-message shouldn't generate notifications 2015-03-11 19:07:17 +01:00
Régis Hanol
6c4d852011 Improve vBulletin importer
- FEATURE: TopicCreator now supports 'pinned_at' parameter
- FIX: 🐛 FIX TopicQuerySQL to support pinned topic older than 2010
- FIX: 🐛 Properly remove all HTML Entities from Usernames/Titles/Category Names/Groups in vBulletin importer
- FIX: 🐛 Properly handle specific vBulletin BBCode (quotes/mentions)
- FIX: 🐛 Make sure we generate a username from the name of the user instead of a fake email
- FEATURE: Allow for custom timezone in vBulletin importer
- FEATURE: Support for profile pictures/background in vBulletin importer
- FIX: 🐛 merge the categories tree to only 2 levels in vBulletin importer
2015-01-19 15:00:55 +01:00
riking
399af512aa Update documentation for PostCreator 2015-01-05 07:52:33 -08:00
Sam
2251877332 FIX: "Dismiss Posts" corrupting read state
REFACTOR: seen_post_count was a bad name, renamed to highest_seen_post_number
2014-10-31 09:40:35 +11:00
Arpit Jalan
2131a37811 FEATURE: show raw email for replies/topics created via email 2014-10-17 22:22:19 +05:30
Régis Hanol
5754e8dd0f FEATURE: auto-close topics based on last post 2014-10-10 18:21:44 +02:00
Robin Ward
334e21a03a Revert "Revert "FEATURE: Can create warnings for users via PM""
This reverts commit 1c7559380c.
2014-09-08 11:11:56 -04:00
Robin Ward
1c7559380c Revert "FEATURE: Can create warnings for users via PM"
This reverts commit b0bfc1f93f.
2014-09-08 10:38:59 -04:00
Robin Ward
b0bfc1f93f FEATURE: Can create warnings for users via PM 2014-09-08 10:27:06 -04:00
Robin Ward
1c5e8efa68 FEATURE: Show an email icon beside posts that arrived via email 2014-09-04 13:04:41 -04:00
Robin Ward
ab02ef4221 Merge pull request #2718 from riking/plugin-events
FEATURE: Add a plugin callback when editing a post
2014-09-02 10:46:08 -04:00
Régis Hanol
61db6c95d2 FIX: couldn't start a 4-spaces block on the first line of a post 2014-09-02 01:18:06 +02:00
riking
085b18577c Remove unnecessary user/topic load in PostCreator 2014-08-28 22:07:40 -07:00
riking
24ba7ccfbb FEATURE: Add a plugin callback when editing a post
FIX: Wrap PostRevisor database work in a transaction
2014-08-28 21:27:40 -07:00
riking
3396e6fea3 Centralize MessageBus post updates
After this change, only two files directly publish to MessageBus with a
topic interpolated in the channel: Post and TopicUser.
2014-08-28 20:40:36 -07:00
Régis Hanol
f4208ae83f FEATURE: normalize whitespaces in topic title/post content 2014-08-12 00:01:58 +02:00
Sam
138d013e56 FIX: Suspended users should not be allowed to post 2014-07-31 13:15:16 +10:00
Sam
226a197335 fix logic take2 2014-07-30 14:24:20 +10:00
Sam
c5238026a9 fix logic 2014-07-30 14:18:01 +10:00
Sam
9147af1d62 FIX: eliminate race condition creating posts
FIX: correct message bus posting
2014-07-30 14:18:01 +10:00
Régis Hanol
bddffa7f9a FEATURE: flag dispositions normalization
All flags should end up in one of the three dispositions
  - Agree
  - Disagree
  - Defer

In the administration area, the *active* flags section displays 4 buttons
  - Agree (hide post + send PM)
  - Disagree
  - Defer
  - Delete

Clicking "Delete" will open a modal that offer to
  - Delete Post & Defer Flags
  - Delete Post & Agree with Flags
  - Delete Spammer (if available)

When the flag has a list associated, the list will now display 1
response and 1 reply and a "show more..." link if there are more in the
conversation. Replying to the conversation will NOT give a disposition.
Moderators must click the buttons that does that.

If someone clicks one buttons, this will add a default moderator message
from that moderator saying what happened.

The *old* flags section now displays the proper dispositions and is
super duper fast (no more N+9999 queries).

FIX: the old list includes deleted topics
FIX: the lists now properly display the topic states (deleted, closed,
archived, hidden, PM)
FIX: flagging a topic that you've already flagged the first post
2014-07-28 19:28:07 +02:00
Sam
0f9678fe49 FIX: faster update of all badges
Introduced badge triggers, introduced concept of badge that happens due to a post but has the post hidden

Delta badge grant happens once a minute, backed by redis
2014-07-23 11:46:07 +10:00
Sam
2d0def9940 FIX: First Quote badge bust
Feature: track quoted posts
2014-07-15 17:47:24 +10:00
Neil Lalonde
7d5d5862c1 Import optimizations for topic creation: Prevent queuing of most jobs when importing posts and topics. Only do some recalculations at the end of the import. 2014-07-03 16:24:47 -04:00
Sam
c6c412fd45 BUGFIX: no reading credit for posts you create 2014-06-04 14:10:54 +10:00
Sam
4f7e960e49 raw bbpress import script
amend post_creator to support custom fields
2014-05-18 11:33:59 +10:00
Louis Rose
1574485443 Perform the where(...).first to find_by(...) refactoring.
This refactoring was automated using the command: bundle exec "ruby refactorings/where_dot_first_to_find_by/app.rb"
2014-05-06 14:41:59 +01:00
Robin Ward
dbab628e16 Support for creating embedded topics via API 2014-04-03 14:42:44 -04:00
Sam
090f5c99c2 FEATURE: Live update edits 2014-03-24 12:19:08 +11:00
Robin Ward
d3f1eb395d Updated import for TypePad 2014-03-19 15:02:49 -04:00
Neil Lalonde
0b1550f9d4 Add excerpt column to topics table to remove N+1 query in ListableTopicSerializer 2014-03-18 15:24:29 -04:00
Sam
5c26b3dad1 FIX: broken specs after new link alerting code 2014-03-18 15:22:53 +11:00
Sam
24667cedee FEATURE: notify users when linked
Extract out PostAlerter from observer
Track outgoing post links correctly
Notify users they are linked when linked
2014-03-18 15:22:53 +11:00
Wojciech Zawistowski
b097cf4997 Refactors PostCreator. 2014-02-17 01:57:37 -05:00
Wojciech Zawistowski
2a7b609cae Refactors PostCreator. 2014-02-10 20:29:31 +01:00
Sam
227873df78 FEATURE: proper mailing list mode
once enable_mailing_list_mode is enabled any user can elect
to get every post via email unless they opt out of category or topic
2014-02-07 11:07:52 +11:00
Robin Ward
4f8aed295a FEATURE: Embeddable Discourse comments, now with simple-rss instead of feedzirra 2013-12-31 15:01:22 -05:00
Robin Ward
62db063e1e Revert "Support for Embeddable Comments via IFRAME" - it depends on Curl
which not every server has. Have to rethink this.

This reverts commit e3e4c62887.
2013-12-31 12:52:31 -05:00
Robin Ward
e3e4c62887 Support for Embeddable Comments via IFRAME 2013-12-31 12:26:24 -05:00
Robin Ward
6853f37bee Show estimated reading time near summarize button. 2013-12-10 13:47:36 -05:00
Sam
5e0b22365a skip validations for Spam Rules when needed 2013-12-02 16:13:47 +11:00
Sam
ff957a7b37 rails 4 deprecation fixes 2013-10-24 13:02:25 +11:00
Sam
666264879c change it so all topics MUST include a category, we store a special uncategorized category to compensate
this cleans up a bunch of internals and removes some settings
2013-10-24 12:08:02 +11:00
Brian Alexander
e2a5415aca fix #1567; nil reference in spam_rules_enforcer.rb 2013-10-22 19:14:31 -06:00
Sam
1ee49798b2 work in progress wide category list 2013-10-18 11:10:10 +11:00
Neil Lalonde
3c2c6ab24b Add sockpuppet spammer detection. Automatically flag posts if they are from new users (registered less than 24 hours ago) at the same IP address and one of them started the topic. 2013-10-11 13:34:05 -04:00
Sam
5bf26ec34e large refactor, ship a few columns from the user table into user_stats 2013-10-07 15:04:59 +11:00
Thomas McDonald
5ad8718a87 Remove duplicate create method in PostCreator 2013-09-21 22:02:51 +01:00
Neil Lalonde
827680766e Show which domains were used in the spam_post_blocked notification 2013-09-12 17:33:30 -04:00
Neil Lalonde
78c15d5810 Move the unique post key storage code into the Post model 2013-09-09 16:17:31 -04:00