Commit Graph

454 Commits

Author SHA1 Message Date
Erick Guan
1146772deb Fix: unlinked topic search model (#5044) 2017-08-15 11:46:57 -04:00
Régis Hanol
4f09a5a7a5 Add 'Post.permitted_create_params' to allow plugins to add new params when creating a post 2017-08-12 04:10:45 +02:00
Neil Lalonde
15a74d6d3e FIX: don't enforce newuser_spam_host_threshold on private messages 2017-08-10 17:19:08 -04:00
Guo Xiang Tan
5012d46cbd Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
Sam
52ae63d5d7 FIX: when searching PMs also search group PMs
Users belonging to a group could not search for PMs unless explicitly added
to the PM unless admin
2017-05-11 15:59:03 -04:00
Guo Xiang Tan
982e3d04f6 PERF: Allow memory to be freed instead of fetching all the objects into memory at once.
```
MemoryProfiler.report do
  Jobs::UserEmail.new.execute(type: :mailing_list, user_id: user.id)
end.pretty_print
```

Before:
```
Total allocated: 180096119 bytes (1962025 objects)
Total retained:  2194 bytes (16 objects)

allocated memory by gem
-----------------------------------
  66979096  activerecord-4.2.8
  43507184  nokogiri-1.7.1
  43365188  mail-2.6.4
   5960201  activesupport-4.2.8
   5056267  discourse/lib
   4835284  rack-mini-profiler-0.10.1
   3825817  arel-6.0.4
   2186088  i18n-0.8.1
   1719330  discourse/app
```

After:
```
Total allocated: 161935975 bytes (1473940 objects)
Total retained:  2234 bytes (17 objects)

allocated memory by gem
-----------------------------------
  45430264  activerecord-4.2.8
  43568627  nokogiri-1.7.1
  43430754  mail-2.6.4
  11233878  rack-mini-profiler-0.10.1
   5260825  activesupport-4.2.8
   5054491  discourse/lib
   2186088  i18n-0.8.1
   1822494  arel-6.0.4
```
2017-05-03 17:01:57 +08:00
Robin Ward
bf9c4a7828 FEATURE: secure_email site setting to prevent data going out in email 2017-04-26 13:05:56 -04:00
Robin Ward
27a73c73f9 FIX: Error when calculating geometric mean of 0 for read timings 2017-03-27 12:45:34 -04:00
Guo Xiang Tan
d449f782a3 Revert "FIX: Don't skip callbacks when rebaking posts."
This reverts commit 06c651f8c9.

If site settings are changed, there is a chance that the post
will fail PostValidator's validations.
2017-02-01 10:52:15 +08:00
Guo Xiang Tan
06c651f8c9 FIX: Don't skip callbacks when rebaking posts. 2017-01-25 17:47:13 +08:00
Guo Xiang Tan
32846aad2a FIX: Toggling post's wiki status should not create a new version. 2017-01-20 15:42:33 +08:00
Neil Lalonde
e8307ac24c FIX: mailing list mode digest emails included whispers 2017-01-13 13:46:33 -05:00
Sam
2f6a4cc6de remove UserActionObserver, replace with after_save and service
interestingly there was some left over dead code from when stars
existed in the topic_users table
2016-12-22 16:46:53 +11:00
Sam
0a78ae739d Remove SearchObserver, aim is to remove all observers
rails-observers gem is mostly unmaintained and is a pain to carry forward
new implementation contains significantly less magic as a bonus
2016-12-22 13:13:14 +11: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
Arpit Jalan
382803cb05 FEATURE: include post image in OpenGraph image tag 2016-10-31 15:11:33 +05:30
Guo Xiang Tan
efea296c7a FIX: Do not cook post if Post#raw has not been changed. 2016-10-24 12:02:38 +08:00
Arpit Jalan
a590f35982 FEATURE: allow changing post owners without creating post revision 2016-08-19 23:34:21 +05:30
Robin Ward
19959c6092 Remove unneccessary return 2016-08-15 12:58:16 -04:00
Robin Ward
aef954784a FIX: nofollow was being added during post processing when it shouldn't 2016-08-12 15:35:13 -04:00
Régis Hanol
e55e2aff94 FIX: FirstReplyByEmail badge wasn't granted
DEPRECATED: PostProcess badge trigger
2016-08-10 19:24:01 +02:00
Arpit Jalan
a9207dafa7 FEATURE: configure session time via site setting for all the users (#4343) 2016-07-23 02:57:30 +05:30
Guo Xiang Tan
c3cab98998 FEATURE: Admins should be able to create polls even when plugin is disabled. 2016-07-13 18:05:19 +08:00
Neil Lalonde
487c20959c FEATURE: max topics/replies per day for new users now starts counting from the first post, not signup date 2016-06-20 16:55:11 -04:00
Sam
852860de66 FEATURE: simpler and friendlier unsubscribe workflow
- All unsubscribes go to the exact same page
- You may unsubscribe from watching a category on that page
- You no longer need to be logged in to unsubscribe from a topic
- Simplified footer on emails
2016-06-17 11:28:49 +10:00
James Kiesel
feffe23cc5 FEATURE: More granular mailing list mode (#4068)
* Rearrange frontend to account for mailing list mode

* Allow update of user preference for mailing list frequency

* Add mailing list frequency estimate

* Simplify frequency estimate; disable activity summary for mailing list mode

* Remove combined updates

* Add specs for enqueue mailing list mode job

* Write mailing list method for mailer

* Fix linting error

* Account for stale topics

* Add translations for default mailing list setting

* One query for mailing list topics

* Fix failing spec

* WIP

* Flesh out html template

* First pass at text-based mailing list summary

* Add user avatar

* Properly format posts for mailing list

* Move make_all_links_absolute into Email::Styles

* Apply first_seen_at to user

* Send mailing list email summary hourly based on first_seen_at

* Branch and test cleanup

* Use existing mailing list mode estimate

* Fix failing specs
2016-05-21 15:17:54 +02:00
Régis Hanol
2194ccec6e slightly better automatic flag reason messages 2016-04-25 23:03:17 +02:00
Arpit Jalan
ee7ef46b9e FEATURE: support filter options for PM report 2016-04-21 14:52:41 +05:30
Régis Hanol
4960b62110 FEATURE: new 'block_auto_generated_emails' site setting 2016-04-20 21:29:27 +02:00
Guo Xiang Tan
6aa447816d UX: Publish changes to TopicView when Topic is updated. 2016-04-07 16:29:01 +02:00
Arpit Jalan
6f0137dec9 FEATURE: disable post editing when the post has active flag 2016-03-30 23:28:49 +05:30
Sam
95076050f4 FEATURE: warn about mailing list mode if it is checked 2016-03-29 18:50:17 +11:00
Neil Lalonde
f36ff3d93b Log as debug instead of warning: Blank post detected 2016-03-23 11:44:55 -04:00
Sam Saffron
8577b7e2cc FIX: setting owner on topic should not bump topic 2016-03-17 08:32:56 +11:00
Sam Saffron
b300d60086 FIX: when changing owner of last post user list on topic incorrect 2016-03-16 23:49:54 +11:00
Neil Lalonde
091e7ef3ca FIX: when a post is edited by someone other than the original author and a mention is added, the mention notification is from the person who edited 2016-03-08 15:26:12 -05:00
Sam
32c681c96b annotate models 2016-02-23 10:33:53 +11:00
Sam
1bb485fca5 FIX: when a user got multiple replies to a topic, emails were missing 2016-01-27 12:20:08 +11:00
Robin Ward
1f8586168b FIX: Incorrect subfolder urls when embedding 2016-01-12 12:38:49 -05:00
Régis Hanol
cf0558cd33 FEATURE: properly style whisper email notifications 2016-01-11 17:47:17 +01:00
Arpit Jalan
97e4f7f6d3 Enums that are used in tables need to be stable 2016-01-08 20:43:11 +05:30
Neil Lalonde
007326d3bd FIX: hidden posts that are edited by the author and unhidden could not be flagged by the same users again 2015-12-29 16:59:36 -05:00
Sam
d1a5d8ea62 FEATURE: show group mentions and topics in groups page 2015-12-01 16:52:43 +11:00
Sam
e17978a203 FIX: do not notify in title if you created the post 2015-10-12 12:45:04 +11:00
Régis Hanol
54d6d24cbf FIX: timing issue with edits and cook post processing 2015-09-29 18:51:26 +02:00
Sam
2422289c8b FIX: whispers should not be revealed in reply to, or reply expansion
FEATURE: mark whisper as experimental
FIX: badges should never apply to whispers
2015-09-25 10:16:19 +10:00
Sam
613761d1cd FEATURE: upgrade to Rails 4.2.4 2015-09-23 15:24:30 +10:00
Régis Hanol
4f7140fb32 FIX: properly filter whispers in user stream 2015-09-22 00:50:52 +02:00
Sam
c1ecd6f4ce update annotations 2015-09-18 10:41:10 +10:00
Robin Ward
5af0f5f80e FEATURE: Whisper posts 2015-09-11 14:05:21 -04:00
Guo Xiang Tan
cbb86f9bf6 FEATURE: Add a trigger for plugins to include their own jobs. 2015-09-04 22:59:39 +08:00
Sam
157b118559 FIX: pointless error in log when failing to save post
rate_limit gets fired for rollback on in which case there is not post_number
2015-08-19 16:28:04 +10:00
Sam
75b4972682 posts with no url should return a 404 2015-08-12 07:28:54 +10: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
00ecec1ee4 FIX: Don't log empty bodies from moderation actions 2015-07-29 14:54:33 -04:00
Robin Ward
bb93a345eb UX: Use smaller messages for moderator actions. 2015-07-27 10:09:21 -04:00
Kane York
61ea8c6f72 FIX: Allow to change ownership on deleted users' posts 2015-07-15 15:29:35 -07:00
Régis Hanol
f18098fd9b FEATURE: category dropdown in admin reports 2015-06-24 15:19:39 +02:00
Robin Ward
c6cd1928be Simple "cook" for email imports from mailing lists 2015-06-05 11:46:36 -04:00
Sam
803feefd54 MessageBus handles readonly redis now, no need to wrap it 2015-05-04 12:21:00 +10:00
Robin Ward
5b3f99aa50 Don't blow up if Redis switches to READONLY 2015-04-24 14:37:16 -04:00
Régis Hanol
80b2935e11 FIX: prevent DOS when fixing avatar in quotes 2015-04-24 11:14:10 +02: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
Tan Le
9fbc763902 Replace Hash#keys.each with Hash#each_key for some perf boost 2015-04-18 21:53:53 +10:00
Robin Ward
a5ee45ccbe PostEnqueuer object to handle validation of enqueued posts 2015-04-15 14:54:36 -04:00
Sam
5aa1272f05 clean up first day user definition and object model 2015-03-26 16:48:36 +11:00
Régis Hanol
1a070b16e4 FIX: use the 'post edit time limit' for topics too 2015-02-25 20:53:21 +01:00
riking
3c035dce7c FIX: Don't expire ratelimits at midnight server time 2015-02-10 22:45:46 -08:00
Sam
06edfb85a9 annotations 2015-02-04 16:15:16 +11:00
Robin Ward
f15b0d205f FIX: The "too similar" check happened when trying to make a post a wiki 2015-02-02 12:44:56 -05:00
Sam
52bc03b5e6 FIX: summary mode was broken and missing a bunch of posts 2015-01-30 17:19:42 +11:00
Sam
7e3df4287f Add more logging for blank posts to detect culprit 2014-11-24 10:34:29 +11:00
Sam
6bed4e1bf0 add allowed_ips to api_keys
update annotations
2014-11-20 14:53:15 +11:00
Régis Hanol
a8a0be0b34 FIX: change the unlisted/invisible topic state only when unhiding the first post 2014-11-12 16:34:30 +01:00
Sam
d77f218122 Don't try to publish messages on broken posts 2014-11-10 21:24:54 +11:00
Robin Ward
fde5e739c9 Work in progress (up till about?) 2014-11-05 12:39:25 -05:00
Robin Ward
f47ab30b04 Use a site setting for maximum summary results 2014-10-28 16:03:43 -04:00
Robin Ward
3eb020c466 Max out summary filter at 100 posts. 2014-10-28 15:58:04 -04:00
Régis Hanol
e7f251c105 LOTS of changes to properly handle post/topic revisions
FIX: history revision can now properly be hidden
FIX: PostRevision serializer is now entirely dynamic to properly handle
hidden revisions
FIX: default history modal to "side by side" view on mobile
FIX: properly hiden which revision has been hidden
UX: inline category/user/wiki/post_type changes with the revision
details
FEATURE: new '/posts/:post_id/revisions/latest' endpoint to retrieve
latest revision
UX: do not show the hide/show revision button on mobile (no room for
them)
UX: remove CSS transitions on the buttons in the history modal
FIX: PostRevisor now handles all the changes that might create new
revisions
FIX: PostRevision.ensure_consistency! was wrong due to off by 1
mistake...
refactored topic's callbacks for better readability
extracted 'PostRevisionGuardian'
2014-10-27 22:06:43 +01:00
Sam
1cc37e32b9 FEATURE: add max_reply_history to limit number of replies
that can be expanded, when clicking "in-reply-to"
2014-10-27 09:44:42 +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
70884d2436 FEATURE: automatically hide posts made by TL0 users when flagged by a TL3 user 2014-10-01 18:53:17 +02:00
Régis Hanol
0b13f6572f FEATURE: staff option to unhide a post 2014-09-22 18:55:13 +02:00
Régis Hanol
18f8038015 FEATURE: add new 'convert to staff message' in post wrench menu 2014-09-10 23:08:33 +02:00
Sam
59d04c0695 Internal renaming of elder,leader,regular,basic to numbers
Changed internals so trust levels are referred to with

TrustLevel[1], TrustLevel[2] etc.

This gives us much better flexibility naming trust levels, these names
are meant to be controlled by various communities.
2014-09-05 15:20:52 +10:00
Jeff Atwood
fcca64c0cf rename site settings for trust levels as numbers 2014-09-04 13:16:51 -07:00
Sam
22fbae8556 Merge pull request #2674 from akshaymohite/optimization-fixes
renamed unused variables properly
2014-09-02 08:22:43 +10: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
Sam
898d86fd9b correct annotations 2014-08-27 15:30:17 +10:00
Akshay
0862a65d4a renamed unused variables properly 2014-08-20 23:44:19 +05:30
Sam
8737ffb272 Merge pull request #2658 from akshaymohite/optimization-fixes
Not initializing variable for looping if unused in loop
2014-08-18 14:42:52 +10:00
Sam
e18b030b8a SECURITY: stop potential symbol leak 2014-08-18 13:00:02 +10:00
Akshay
6301a43d57 Not initializing variable for looping if unused in loop 2014-08-15 03:24:55 +05:30
Akshay
7ef61144e7 Avoid using to_s when performing String Interpolation 2014-08-14 23:55:27 +05:30
Régis Hanol
e64d3b8a42 FIX: disagree flag should unhide hidden post 2014-08-11 10:48:00 +02:00
Sam
e907cca62e annotate 2014-07-31 13:14:40 +10:00
Sam
e9a1af0113 FIX: Do not suppress reply-to when other posts quoted 2014-07-31 11:40:02 +10:00
riking
12cb682548 Start passing more context to Discourse.handle_exception 2014-07-17 14:11:56 -07:00
Sam
bfb37054e8 Badge Grouping work in progress 2014-07-17 16:11:10 +10:00
Régis Hanol
7dcf2a2c4f FEATURE: show the user's flagged/deleted posts 2014-07-16 21:04:55 +02:00
Sam
2d0def9940 FIX: First Quote badge bust
Feature: track quoted posts
2014-07-15 17:47:24 +10:00
Sam
45ca83328d Annotate 2014-07-15 11:29:44 +10:00
Neil Lalonde
42dcb77d93 FEATURE: add site setting leader_links_no_follow to control whether users with trust level 3 or higher have nofollow on their links 2014-07-14 13:34:29 -04:00
Sam
9a9ad9bda8 FEATURE: Badge progress
- Refactor model so it stores backfill query
- Implement autobiographer
- Remove sample badge
- Correct featured badges to only include a badge once
2014-07-03 17:29:44 +10:00
Neil Lalonde
b69bc5a5f5 Trust level 3 measurements redone 2014-06-26 17:33:22 -04:00
Sam Saffron
944cda1f73 BUGFIX: do not strip spaces from raw_hash of posts 2014-06-16 12:14:06 +10:00
Sam
95221ee9c1 rebake based on version, not date 2014-05-30 14:45:55 +10:00
Sam
5adc486cef BUGFIX: missing avatars in topic map
Cleanup uneeded column
2014-05-29 14:59:14 +10:00
Sam
f6753d3d46 FEATURE: automatically rebake out-of-date posts 2014-05-28 12:30:57 +10:00
Sam
b1d5f4440b Annotate models 2014-05-28 12:30:57 +10:00
Sam
7fee3d7f8f Annotate models 2014-05-22 09:00:38 +10:00
Wojciech Zawistowski
960d64930c Wiki Post 2014-05-13 08:53:11 -04: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
Régis Hanol
02dd80170a BUGFIX: revision history was messed up when doing quick edits 2014-04-30 22:42:56 +02:00
Benjamin Kampmann
0cf07d41ae Move Concern from lib into app/models. refs #2279 2014-04-29 19:26:43 +02:00
Benjamin Kampmann
2450088c03 Add CustomFields to Post, Category and Group 2014-04-29 19:26:42 +02:00
Neil Lalonde
340fd303c8 FIX: in multisite setup, links to the current forum are whitelisted when looking for spam hosts 2014-04-28 10:37:28 -04:00
Erick Guan
6d45f71254 move concerns to the model/concerns 2014-04-19 12:00:40 +08:00
Sam
862a6696c0 Correct annotations
allow longer usernames (up to 60)
2014-04-15 15:53:48 +10:00
Sam
8cdf25532c Merge pull request #2207 from riking/list-setting
UI for list site settings
2014-04-09 09:34:50 +10:00
Sam
b0dc9279ff Merge pull request #2203 from riking/change-owner
Change post owner functionality
2014-04-09 09:31:46 +10:00
riking
9c4dd1cb35 Change comma-delim site settings to pipe-delim 2014-04-08 14:17:55 -07:00
Régis Hanol
6373de550f update annotations 2014-04-08 17:35:44 +02:00
riking
1540a3d5e5 Allow changing ownwership of posts by admins 2014-04-08 01:47:42 -07:00
Sam
5c148faeb9 annotations were out of date 2014-03-20 15:35:51 +11:00
Régis Hanol
dbb383497c Merge pull request #2072 from ligthyear/fix-edit-body-too-similar-issue
Be more liberal when users wants to change their own body to a previous version
2014-03-07 11:38:59 +01:00
Régis Hanol
f25bcc5067 couple of bugfixes identified while importing from VB 2014-03-07 10:44:04 +01:00
Sam
73ef91cf27 junk code removed 2014-03-07 19:00:36 +11:00
Benjamin Kampmann
d956ca9cf7 Be more liberal when the similar content of the post to be saved turns out to be the same post
- instead of setting a random number, we actually store the post id in redis now
 - and when checking for matching recent post and it is the same, we allow it still

Fixes the issue that we prevent a user from reverting to a previous state within the unique_posts_min time window.
2014-03-07 08:23:15 +01:00
Sam
1992271bf9 FEATURE: white_listed_spam_host_domains for domains that are not blocked for spam
BUGFIX: bypass host spam detection for current host
2014-02-27 15:43:57 +11:00
Sam
9551f4aeea PERF: calculate scores for topics/posts faster
Only look at topics that changed in last day for 15 minuted schedule
Do a full recalc weekly, just in case
2014-02-27 11:45:40 +11:00
Sam
be560d4eb6 Update annotations 2014-02-07 11:07:52 +11:00
Robin Ward
3bbe595d10 Merge pull request #1826 from nporteschaikin/patch-1
Delegate :username rather than using a class method.
2014-01-17 13:54:11 -08:00
Neil Lalonde
4f6b208e8d Posts by trust level 3 users do not have nofollow on their external links. 2014-01-15 11:40:51 -05:00
Noah Portes Chaikin
108e7aec9f Delegate :username rather than using a class method.
This is just a little cleaner?
2014-01-14 11:15:35 -05:00
Neil Lalonde
259295d865 Add post_edit_time_limit site setting to limit the how long a post can be edited and deleted by the author. Default is 1 year. 2014-01-09 11:55:04 -05:00
Robin Ward
1ffcf39448 Make embedded comments look nicer 2014-01-03 12:52:42 -05: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
Godfrey Chan
e41eecb91b Added some missing references, see https://github.com/rails/rails/issues/12982 2013-12-18 15:06:19 -08:00
Alexander
d93e4fc65d add more info to rss feeds 2013-12-15 01:17:39 -08:00
Neil Lalonde
49c3482464 Show topic and post counts by day/week/month/year on categories page 2013-12-13 15:37:45 -05:00
Régis Hanol
1457a3792d that fix should have been in the emoji plugin 2013-12-12 16:42:27 +01:00
Régis Hanol
be835785f8 FIX: allow new user to post emojis 2013-12-12 15:05:18 +01:00
Régis Hanol
06dd7ffe3c better revision history 2013-12-12 03:41:34 +01:00
Sam
2db3cfb16b annotate models 2013-12-05 17:40:35 +11:00
Régis Hanol
f65cde3cda do not bump posts when rebaking 2013-11-22 01:52:26 +01:00
Robin Ward
4ce81e1b01 Rename "Best Of" to "Summary" 2013-11-18 12:48:26 -05: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
Sam
1ee49798b2 work in progress wide category list 2013-10-18 11:10:10 +11:00
Régis Hanol
82dd9009e3 4% speedup on our test suite 2013-10-17 18:47:08 +02:00
James Edward Gray II
1aa9fc982d Adding post details in preparation for the API importer code. 2013-10-15 09:21:30 -05:00
Sam
b0465c517e (experimental) added framework for filtering all sorts of internals in discourse and consuming by plugins 2013-10-10 18:45:40 +11:00
Sam
ad2ed5fe51 rate limits for topics and posts on first day
max_topics_in_first_day and max_replies_in_first_day
2013-10-10 10:32:03 +11:00
Sam
f0a122a66c move job files so they live underneath app/ and not in lib/
introduce new setting email_always, that will force emails to send to users regardless of presence on site
2013-10-01 17:04:02 +10:00
Sam Saffron
085493e35d optimise regular job to avoid touching posts that have not changed 2013-09-19 23:00:42 -07:00
Neil Lalonde
78c15d5810 Move the unique post key storage code into the Post model 2013-09-09 16:17:31 -04:00
Neil Lalonde
eae7e75611 FIX: recover post by a non-staff user fails because the post is not unique. Uniqueness check shouldn't happen when recovering a deleted post. 2013-09-06 11:50:15 -04:00
Neil Lalonde
117fc8db58 Change the way nuked users' posts are handled. Allow null in the user_id column of posts. Show these posts in the posts stream. 2013-09-04 15:42:21 -04:00
Robin Ward
1c3804934e Show the entire history of replies above a post when you expend "in reply to" 2013-08-06 17:43:10 -04:00
Régis Hanol
ed9417fa3b enable thumbnailing on S3
- added url to optimized image model
- refactored s3_store & local_store
2013-07-31 23:26:34 +02:00
Stephan Kaag
b58da2fcf9 Add some TODO's 2013-07-22 22:39:20 +02:00
Stephan Kaag
ebd5fa76c5 Reuse post-analyzer and cooked-document when requesting multiple post stats 2013-07-22 22:24:47 +02:00
Stephan Kaag
ad2b667504 Remove dead code 2013-07-22 22:16:46 +02:00
Robin Ward
8b181e0803 Merge pull request #1230 from ZogStriP/add-newuser-max-attachments-setting
add newuser-max-attachments setting
2013-07-22 07:22:23 -07:00
Sam
58e7c3e1f3 push some work out of AR callbacks into PostCreator, add a couple of helpers for post and topic creation in test
fix it so the auto_track false marks topics as new
2013-07-22 15:07:20 +10:00
Régis Hanol
2986798ba7 add newuser-max-attachments setting 2013-07-22 02:39:17 +02:00
Sam
ecf17cfebb work in progress, add fidelity to category group permissions (full, create posts, readonly) 2013-07-16 15:46:11 +10:00
Neil Lalonde
8814f9ed05 Fix a case when a staff user views a topic with a deleted post by a nuked user; might be a temporary solution until we decide what to do with nuked records 2013-07-10 16:52:47 -04:00
Robin Ward
b7327942af Add deleted_by to Trashable tables 2013-07-09 15:46:36 -04:00
Stephan Kaag
89b621d31a Refactor update_all statements in order to prevent deprecation warnings in Rails 4 2013-07-02 18:36:47 +02:00
Robin Ward
bb908d5913 Email parsing uses Traditional Markdown Linebreaks by default. Added JS tests for line breaks. 2013-06-21 11:37:26 -04:00
Neil Lalonde
281a08a99f Allow people to capitalize a word when ninja-editing a post 2013-06-17 15:57:13 -04:00
Régis Hanol
454636abf1 annotate models 2013-06-17 02:49:34 +02:00
Régis Hanol
037f62928b add proper post_uploads reverse index 2013-06-13 23:44:24 +02:00
Neil Lalonde
4db8204a15 Remove topic links when a post is deleted 2013-06-13 13:41:54 -04:00
Robin Ward
cb40ceb9e8 Merge pull request #1019 from ZogStriP/reverse-index-of-user-uploads
added a reverse index of user uploads + rake task
2013-06-13 07:20:55 -07:00
Sam
f7de9f17d5 refactor validators
add a new setting for min pm body length
use that setting for flags
scale entropy check down for pms
2013-06-13 18:18:43 +10:00
Régis Hanol
770c1faeb1 added a reverse index of user uploads + rake task 2013-06-13 01:43:50 +02:00
Navin
3fdba0019b Extract callbacks and validations for Post
Move Post create callbacks to PostCreate
Extract Post validations
Move stripped_length_validator to lib/validators
2013-06-09 20:47:04 +02:00
Neil Lalonde
c4904aacc0 Automatically flag someone as a spammer if their posts get at least X spam flags from N users while their trust level is 'new user'. Staff can clear and set this status from the user record in admin. 2013-06-03 16:37:40 -04:00
Navin
cab3502c15 Replace PostAnalyser module with a class
Encapsulate Post#cooked_document as well
Include specs for PostAnalyzer class
2013-06-01 14:59:27 +02:00
Robin Ward
d23ef1d090 FIX: You could update a topic to have a title that's too short if the TextCleaner
removed extra characters. Additionally, updating the title will not return an error
message to the client app if the operation fails (rather than failing silently.)
2013-05-31 15:24:13 -04:00
Navin
1d5952a92f Extract analysis type methods to a module and refactor Post#raw_links 2013-05-28 16:41:18 +02:00
Chris Hunt
c4cce68613 Add Post#is_first_post?
We should be able to ask a post if it's the first in a topic
2013-05-25 17:44:32 -07:00
Robin Ward
d1fdc66ca4 FIX: For spam detection, don't count total occurances of links of the same host, but
post count including that host.
2013-05-24 15:20:58 -04:00
Robin Ward
c0c97487d8 Merge pull request #888 from novemberkilo/master
Refactor to reduce complexity of Post#save_reply_relationships
2013-05-24 07:04:28 -07:00
Sam
ca2dee52db moved comments to the bottom, they are way less intrusive there 2013-05-24 12:48:32 +10:00
Sam
2cd95bc649 lets try out annotations 2013-05-24 12:35:14 +10:00
Navin
9aacde2f2d Refactor Post#save_reply_relationships 2013-05-23 18:09:06 +02:00
Navin
ba4eaa0297 Helper to create reply relationship with post 2013-05-23 18:08:24 +02:00
Navin
d7219a6fbc Helper to add a number to quoted_post_numbers 2013-05-23 18:07:45 +02:00
Sam
3dfc034e8d Merge pull request #881 from novemberkilo/master
Improve flog metric for Post#extract_quoted_post_numbers
2013-05-23 00:21:27 -07:00
Robin Ward
7a31630837 Search Refactor: Remove some manual SQL, make search data tables more idomatic Rails/AR 2013-05-22 16:31:13 -04:00
Navin
4754216369 Simplify branching 2013-05-22 21:45:31 +02:00
Navin
ef93512de8 Extract quote parsing into a method 2013-05-22 21:38:45 +02:00
Neil Lalonde
5f7f87437c Fix for topic excerpt being from the wrong post 2013-05-18 13:35:21 -04:00
Brian Plexico
a86646312b Refactored post model to reduce duplication in validator methods 2013-05-17 12:15:21 -04:00
Robin Ward
d554a59102 Support for a new site setting: newuser_spam_host_threshold. If a new user posts a link
to the same host enough tiles, they will not be able to post the same link again.

Additionally, the site will flag all their previous posts with links as spam and they will
be instantly hidden via the auto hide workflow.
2013-05-16 12:19:50 -04:00
Sam
e9fc272db7 remove acts_as_paranoid, use .trash! , .recover! and .with_deleted as needed
makes upgrading to rails 4 possible
2013-05-07 14:39:01 +10:00
Sam
b25a5a20bb option to strip links from excerpts 2013-04-30 13:25:55 +10:00
Sam
37867af1bb track incoming links, amend share link to include user
fix pm styling
2013-04-24 18:05:35 +10:00
Sam
cfc62dadff speed up tests
add the ability to find the first notify private message
2013-04-22 17:45:03 +10:00
Jeff Atwood
b64a4100fa change "visitor" trust level to "new user"
I blame me for this mistake.. visitor means other stuff in practice. New
User is correct meaning.
2013-04-17 16:11:24 -07:00
Neil Lalonde
3b6aeb14c7 Add subtype to topics to classify private messages 2013-04-16 16:56:18 -04:00
Neil Lalonde
36dc5874e5 Post image_count doesn't count favicons and thumbnails in oneboxes, so visitors can post links that get oneboxed 2013-04-11 12:36:45 -04:00
Sam
5f30ea7463 Merge pull request #684 from ZogStriP/auto-replace-rules-in-titles
auto replace rules in titles
2013-04-10 21:12:20 -07:00
Régis Hanol
d120a5d139 FIX: setting min_topic_title_length is ignored 2013-04-10 14:54:10 +02:00
Régis Hanol
c5cf8be864 auto replace rules in titles 2013-04-10 11:00:50 +02:00
Sam
33e3ad1603 clean up onebox application so it uses a single code path
use fragments for oneboxes
strip parent <p> if <div> is in it
clean some tests
2013-04-10 17:52:38 +10:00
Neil Lalonde
467d59ec5a Merge some work: topic counts in category select; fix All count on dashboard 2013-04-08 10:23:29 -04:00
Robin Ward
fe8d2377e8 admins/moderators should not receive "body is too similar" when editing
a regular user's post.
2013-04-05 15:38:03 -04:00
Neil Lalonde
eb212aec9b Fix dashboard totals for topics, posts, and private messages 2013-04-05 14:09:16 -04:00
Robin Ward
af9b27358c If an admin or moderator edits a visitor's post, the restrictions should be based
on the *editors* access rights, not the original poster.
2013-04-05 13:59:00 -04:00
Neil Lalonde
bb18b6cb9b Dashboard: split out private messages from topic and post counts; re-enable report_spec because I think I fixed it... 2013-04-03 13:26:09 -04:00
Robin Ward
e8d66beea5 Fix @notification text for non visitors 2013-04-02 11:58:12 -04:00
Robin Ward
c372e36cb6 Don't count @mentions as links in a post 2013-03-25 13:12:15 -04:00
Robin Ward
6568b4aaa9 Better error messages when hitting max mentions/images/links 2013-03-25 12:27:09 -04:00
Robin Ward
9c38c13ac5 The "Best Of" mode uses a percentage ranking of posts. 2013-03-22 15:44:39 -04:00
Dan Berman
9ad5720090 someone's been playing too much 2013-03-22 06:18:48 -04:00
Robin Ward
babcfe6234 Cache oneboxes in Redis now instead of postgres. 2013-03-21 13:11:54 -04:00
Sam
2a047df4f1 cache reply_to_user_id in post to eliminate a very nasty n+1 query 2013-03-19 16:54:23 -07:00
Robin Ward
59fc3bfac4 PostDestroyer to replace callbacks for destroying 2013-03-18 17:55:11 -04:00
Robin Ward
c1e40f5d19 Convert Post type constants to Enum 2013-03-18 17:55:05 -04:00
Robin Ward
897d48b145 Moved more Post callbacks into service classes 2013-03-18 17:54:55 -04:00
Robin Ward
d5e4243f02 Move draft sequence incrementing out of after_save 2013-03-18 17:54:50 -04:00
Robin Ward
5aec5261a7 Converted flag threshold constants to enums 2013-03-18 17:54:43 -04:00
Robin Ward
b6224b014c Move a bunch of callbacks into PostCreator 2013-03-18 13:56:26 -04:00
Robin Ward
ea20993bed FIX: Don't create a new version when a post is recovered. Also display username instead of full name for consistency. 2013-03-13 12:35:55 -04:00
Neil Lalonde
8927432a93 Add stats to the admin dashboard 2013-03-09 15:34:27 -05:00
Robin Ward
f8d8272406 Cleaned up TopicUserSpec, introduces clearing of pinned topics 2013-03-07 12:19:25 -05:00
Kuba Brecka
dc62136642 various typos in comments 2013-03-06 08:52:24 +01:00
Régis Hanol
239cbd2d58 enforce coding convention
replaced every `and` by `&&` and every `or` by `||`
2013-03-05 01:42:44 +01:00
Gosha Arinich
0c99dea153 introduce Enum 2013-03-01 21:16:36 +03:00
Gosha Arinich
6e5399d544 minor cleanup, using AR querying DSL over raw SQL in some places 2013-02-28 21:54:12 +03:00
Alexander
8855a0bfbe RSS of a topic via new route
Adds TopicView#recent_posts; Post#by_newest, #with_user, #author_readable; User#readable_name
Autodiscovery tag in topic show HTML.
2013-02-26 14:54:17 -08:00
Gosha Arinich
cafc75b238 remove trailing whitespaces ❤️ 2013-02-26 07:31:35 +03:00
Robin Ward
ae9bee2a91 Merge pull request #172 from jeremybanks/master
Do not strip leading and trailing whitespace from raw posts
2013-02-19 08:15:39 -08:00
Sam Saffron
d9531d94d5 basic lightbox support 2013-02-19 17:57:14 +11:00
Jeremy Banks
6af69f7e77 Do not strip leading and trailing whitespace from raw posts. 2013-02-15 20:58:33 -05:00
Jaime Iniesta
6995e75d41 Replace Hpricot with Nokogiri 2013-02-14 11:35:50 +01:00
Sam Saffron
99526c33da emoji should not be coupled into the core
avatars were being counted and should not have been for basic users
2013-02-12 18:43:48 +11:00
Robin Ward
57049b55a2 Little things:
- Retries on deadlock when calculating average time
- Removes Warning: When specifying html format for errors
- Doesn't use manual SQL to update user's ip address
2013-02-11 15:47:28 -05:00
Grant Ammons
701ecddac2 factor out @post.revise into its own class. clean up PostRevisor class to be more readable 2013-02-09 10:33:25 -05:00
Robin Ward
25e9cfe3b8 Remove the distinction between "x replies below" and "x replies" 2013-02-08 17:10:18 -05:00
Robin Ward
084a873b91 Give regular users a delete button. If they click it, their post will be revised to
say it was deleted.
2013-02-07 15:14:23 -05:00
Jakub Arnold
61654ab8f0 Fix all the trailing whitespace 2013-02-07 16:45:24 +01:00
Sam Saffron
85973ce6b0 added delete all posts button
wired up the ability to enable all themes
2013-02-07 18:11:56 +11:00
Sam Saffron
8f4417f962 Merge branch 'master' of github.com:discourse/discourse 2013-02-07 16:00:55 +11:00