Gerhard Schlager
e9ec5238fc
DEV: Remove ignored columns
2019-02-08 12:12:38 +01:00
Sam
384135845b
FEATURE: introduce ultra_low priority queue
...
This commit introduces an ultra low priority queue for post rebakes. This
way rebakes can never interfere with regular sidekiq processing for cases
where we perform a large scale rebake.
Additionally it allows Post.rebake_old to be run with rate_limiter: false
to avoid triggering the limiter when rebaking. This is handy for cases
where you want to just force the full rebake and not wait for it to trickle
2019-01-17 14:53:19 +11:00
Bianca Nenciu
7d84648d11
FEATURE: Remove full quotes only from new posts. ( #6862 )
2019-01-17 13:24:32 +11:00
Robin Ward
95f263995d
FIX: Previous annotations were broken
2019-01-11 14:30:19 -05:00
Robin Ward
a3839495e0
Update annotations
2019-01-11 12:19:43 -05:00
Sam
e08a3f719c
FEATURE: push post rebake regular task to low priority queue
...
This allows us to run regular rebakes without starving the normal queue.
It additionally adds the ability to specify queue with `Jobs.enqueue` so
we can specifically queue a job with lower priority using the `queue` arg.
2019-01-09 08:57:20 +11:00
Sam
70269c7c97
FEATURE: tighter limits on per cluster post rebakes
...
We have the periodical job that regularly will rebake old posts. This is
used to trickle in update to cooked markdown. The problem is that each rebake
can issue multiple background jobs (post process and pull hotlinked images)
Previously we had no per-cluster limit so cluster running 100s of sites could
flood the sidekiq queue with rebake related jobs.
New system introduces a hard limit of 300 rebakes per 15 minutes across a
cluster to ensure the sidekiq job is not dominated by this.
We also reduced `rebake_old_posts_count` to 80, which is a safer default.
2019-01-04 09:24:46 +11:00
Gerhard Schlager
e8053d6e7d
FIX: Polls didn't work in imported posts
...
Imports skip validation of posts, but polls are only created during the validation phase.
2019-01-02 15:26:57 +01:00
Vinoth Kannan
2b006c0429
FEATURE: Invalidate broken images cache on Rebuild HTML action
2018-12-26 23:22:07 +05:30
Arpit Jalan
bb67ca9d21
FIX: use correct post object when logging exception
2018-12-19 22:17:37 +05:30
Guo Xiang Tan
dcf9c6da59
DEV: Don't publish post messages to non-human users.
2018-12-06 08:24:13 +08:00
Régis Hanol
aea2d8bbeb
FIX: properly secure poll message bus
...
Co-authored-by: Sam <sam.saffron@gmail.com>
2018-12-05 21:27:49 +01:00
Vinoth Kannan
227a49bb32
FEATURE: automatically hide non-TL4 posts when flagged by a TL4 user
2018-10-11 17:11:46 +05:30
Penar Musaraj
34516c72bd
FIX: Recover public actions (likes) when recovering a post ( #6412 )
2018-10-02 11:25:08 -04:00
Sam
33541c4096
FEATURE: unconditionally omit no-follow for staff
...
Previously TL2 and below staff would have links
no-followed which was never intended
2018-09-17 12:02:20 +10:00
Guo Xiang Tan
d4b05d7bc5
Always link post to uploads in post process.
...
The operation is cheap anyway so no point skipping.
2018-09-06 14:08:03 +08:00
Guo Xiang Tan
434035f167
FIX: Link post to uploads in PostCreator
.
...
* This ensures that uploads are linked to their post on creation
instead of a background job which may be delayed if Sidekiq
is facing difficulties.
2018-09-06 11:18:11 +08:00
Gerhard Schlager
409ee66839
Add optional "ignore_case" parameter to posts:remap rake task
2018-08-23 14:49:17 +02:00
Gerhard Schlager
14af90df5b
UX: Stop putting usernames in edit reason when changing post owner
2018-08-20 12:28:04 +02: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
David Taylor
0d0d78841b
FIX: Remove plugin.enabled?
checks at initialization time ( #6166 )
...
Checking `plugin.enabled?` while initializing plugins causes issues in two ways:
- An application restart is required for changes to take effect. A load-balanced multi-server environment could behave very weirdly if containers restart at different times.
- In a multisite environment, it takes the `enabled?` setting from the default site. Changes on that site affect all other sites in the cluster.
Instead, `plugin.enabled?` should be checked at runtime, in the context of a request. This commit removes `plugin.enabled?` from many `instance.rb` methods.
I have added a working `plugin.enabled?` implementation for methods that actually affect security/functionality:
- `post_custom_fields_whitelist`
- `whitelist_staff_user_custom_field`
- `add_permitted_post_create_param`
2018-07-25 16:44:09 +01:00
Guo Xiang Tan
214dac05de
Update annotations.
2018-07-16 14:19:07 +08:00
Sam
574d447254
FIX: don't attempt to bump draft sequence if no editor
...
Rare case on old installs
2018-07-11 17:06:49 +10:00
OsamaSayegh
f2cc05c6c6
FIX: ignore self-quotes from the same post when saving ( #6082 )
2018-07-10 16:17:28 +08:00
Guo Xiang Tan
96aca6d7e6
Remove legacy vote post action code. ( #6009 )
2018-07-09 16:54:18 +08:00
Patrick Gansterer
28dd7fb562
FEATURE: Create hidden posts for received spam emails ( #6010 )
...
* Add possibility to add hidden posts with PostCreator
* FEATURE: Create hidden posts for received spam emails
Spamchecker usually have 3 results: HAM, SPAM and PROBABLY_SPAM
SPAM gets usually directly rejected and needs no further handling.
HAM is good message and usually gets passed unmodified.
PROBABLY_SPAM gets an additional header to allow further processing.
This change addes processing capabilities for such headers and marks
new posts created as hidden when received via email.
2018-07-05 11:07:46 +02:00
Guo Xiang Tan
f7d22bad90
FEATURE: Forced summary mode for megalodon topics.
...
This is mainly done for performance reasons and megalodon
topics are usually a byproduct of imports where site setting
limits are not respected.
2018-06-21 14:00:20 +08:00
Guo Xiang Tan
ac80360bea
PERF: Help postgres make use of index in Post.summary
.
2018-06-21 13:29:16 +08:00
Guo Xiang Tan
6ddd214476
FIX: Post#summary
returning posts from other topics.
2018-06-21 12:00:54 +08:00
Sam
cb824a6b33
DEV: remove all calls to SqlBuilder use DB.build instead
...
This is part of the migration to mini_sql, SqlBuilder.new is being
deprecated and replaced with DB.build
2018-06-20 17:53:49 +10:00
Sam
5f64fd0a21
DEV: remove exec_sql and replace with mini_sql
...
Introduce new patterns for direct sql that are safe and fast.
MiniSql is not prone to memory bloat that can happen with direct PG usage.
It also has an extremely fast materializer and very a convenient API
- DB.exec(sql, *params) => runs sql returns row count
- DB.query(sql, *params) => runs sql returns usable objects (not a hash)
- DB.query_hash(sql, *params) => runs sql returns an array of hashes
- DB.query_single(sql, *params) => runs sql and returns a flat one dimensional array
- DB.build(sql) => returns a sql builder
See more at: https://github.com/discourse/mini_sql
2018-06-19 16:13:36 +10:00
Jeff Wong
68e4e6a575
FIX: staged users are still tl0 but do not trigger spam if 1 week old.
2018-06-18 17:20:04 -07:00
Jeff Wong
9e55767f6a
FIX: don't punish a user for being previously staged for spam flags.
2018-06-15 12:25:25 -07:00
Vinoth Kannan
a6303073a0
Strip images from cooked for topic excerpt
2018-06-11 14:43:53 +05:30
Sam
89ad2b5900
DEV: Rails 5.2 upgrade and global gem upgrade
...
This updates tests to use latest rails 5 practice
and updates ALL dependencies that could be updated
Performance testing shows that performance has not regressed
if anything it is marginally faster now.
2018-06-07 14:21:33 +10:00
Sam
df815d6c0e
DEV: prefer using ordering in relation over default scope
2018-05-29 09:34:12 +10:00
Gerhard Schlager
ae6236d090
FIX: Changing owner of deleted reply didn't work
2018-05-16 17:03:09 +02:00
Gerhard Schlager
ed4c0c4a63
FEATURE: Add option to delete all replies of flagged post
2018-04-24 11:08:05 -04:00
Neil Lalonde
8fc1289172
move topic excerpt code to one method to DRY it up and for extensibility
2018-04-17 15:08:21 -04:00
Guo Xiang Tan
142571bba0
Remove use of rescue nil
.
...
* `rescue nil` is a really bad pattern to use in our code base.
We should rescue errors that we expect the code to throw and
not rescue everything because we're unsure of what errors the
code would throw. This would reduce the amount of pain we face
when debugging why something isn't working as expexted. I've
been bitten countless of times by errors being swallowed as a
result during debugging sessions.
2018-04-02 13:52:51 +08:00
Guo Xiang Tan
2f65393706
REFACTOR: Use Topic#private_message?
to reduce duplication.
2018-03-05 15:39:22 +08:00
Gerhard Schlager
c22e56499a
FIX: Allow changing post owner even when validations fail
2018-02-27 15:46:20 +01:00
Guo Xiang Tan
226ace1643
Update annotations.
2018-02-20 14:28:58 +08:00
Robin Ward
5466389f4e
FIX: Consider oneboxes links wrt to min_trust_level_to_post_links
2018-02-08 18:27:40 -05:00
Robin Ward
6b04967e2f
FEATURE: Staff members can lock posts
...
Locking a post prevents it from being edited. This is useful if the user
has posted something which has been edited out, and the staff members don't
want them to be able to edit it back in again.
2018-01-26 14:01:30 -05:00
Sam
0081de30a5
PERF: conserve memory while rebaking posts
2018-01-05 09:54:42 +11:00
Sam
c30ccceade
correct params
2017-12-27 13:51:16 +11:00
Sam
0c834515a9
FIX: only attempt old rebakes a maximum of 3 times
2017-12-27 12:44:41 +11:00
Gerhard Schlager
727a45185d
FIX: regex should behave the same in Ruby and Postgres
2017-12-21 11:26:56 +01:00
Régis Hanol
b91f83eb7d
Ignore auto-quote/reply when counting replies
2017-12-15 00:38:14 +01:00
Sam
f18dda2adc
FEATURE: full rebake of all old posts
...
This limits to 100 post per 15 minutes, so it will take a while.
This will pick up CommonMark and a large amount of onebox fixes.
2017-12-15 10:28:25 +11:00
Régis Hanol
092c976d7c
FIX: prevent 💥 when selecting replies to posts quoting themselves
2017-12-15 00:23:51 +01:00
Régis Hanol
5db3d39b05
FIX: Post.reply_ids should also handle quotes
2017-12-14 00:43:48 +01:00
Régis Hanol
1b4483c942
FEATURE: Added 'select +below' and 'select +all replies' options to selecting posts
2017-12-13 22:12:06 +01:00
Arpit Jalan
daeb7694bc
update annotations
2017-12-05 21:03:20 +05:30
Robin Ward
77f90876d3
REFACTOR: Track manual locked user levels separately from groups
2017-11-27 11:23:44 -05:00
Régis Hanol
678e28794a
FIX: properly handle too large & broken images in posts
2017-11-16 15:45:07 +01:00
Neil Lalonde
c7d7cb940c
FIX: dashboard posts report was including posts in daily data, but not in totals
2017-11-02 18:46:28 -04:00
Gerhard Schlager
4205c1ad2b
FIX: postprocessing ignored cook method
2017-10-20 10:26:45 +02:00
Robin Ward
838568cbc3
Refactor flag types for more customization
2017-10-19 13:55:23 -04:00
Kyle Zhao
0342324b47
FEATURE: support regex in rake post:remap ( #5201 )
2017-10-04 11:47:53 +11:00
Robin Ward
00b190af75
Revert "A safe way to create class variables in a multisite environment."
...
The approach taken by this interface was flawed. We need a better
solution.
2017-09-29 11:06:12 -04:00
Guo Xiang Tan
30fa5379ce
Merge pull request #5195 from henrik/patch-1
...
100.years.ago -> Time.at(0)
2017-09-28 15:47:06 +08:00
Robin Ward
3e13becf33
A safe way to create class variables in a multisite environment.
...
This should allow plugins to set class variables that will not
stomp on other plugins.
2017-09-27 13:00:47 -04:00
Robin Ward
d7c37d9369
Add front end service for staff controls
2017-09-25 12:25:14 -04:00
Guo Xiang Tan
23b787e0a6
Require dependency otherwise it causes Sidekiq to lock up in development.
2017-09-25 13:48:59 +08: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
Henrik Nyh
77cc33b231
100.years.ago -> Time.at(0)
...
A bit more robust ;)
2017-09-19 08:48:50 +01:00
Régis Hanol
797936d2c5
FIX: don't leak whisper count in user card
2017-09-14 20:08:16 +02:00
Gerhard Schlager
f3d3129113
FIX: Use default locale for edit reason when owner of post gets changed
2017-09-14 17:17:37 +02:00
David Taylor
1def49cf6c
SECURITY: Only publish PM reply messagebus notifications to allowed users
2017-09-08 14:12:15 -07:00
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