Commit Graph

300 Commits

Author SHA1 Message Date
Régis Hanol
faf4f44776 FEATURE: make pin expiration mandatory 2015-07-29 16:34:21 +02:00
Neil Lalonde
782dd13e78 FEATURE: track user visits on mobile and display on admin dashboard in a new Mobile section 2015-07-07 14:06:42 -04:00
Robin Ward
6422d5efbd Use the same component for similar topics as search results. 2015-06-24 15:08:22 -04:00
Kane York
2f0bd6294c Add noindex directive on unlisted topics 2015-06-22 11:00:39 -07:00
Régis Hanol
efb02ae561 FIX: take into account unlisted banners 2015-06-22 14:08:30 +02:00
Robin Ward
4e898c604e UX: Update suggested topics to include topic status + category 2015-06-18 15:53:10 -04:00
Régis Hanol
189cb3ff12 FEATURE: move migrate_to_new_scheme into a background job
- new hidden site setting 'migrate_to_new_scheme' (defaults to false)
- new rake tasks to toggle migration to new scheme
- FIX: migrate_to_new_scheme also works with CDN
- PERF: improve perf of the DbHelper.remap method
- REFACTOR: UrlHelper is now a class
2015-06-12 12:07:57 +02:00
Neil Lalonde
ea8cf1a208 FIX: topic auto-close uses the client's time zone 2015-05-27 18:01:46 -04:00
Robin Ward
7d23826cee FIX: Keep around the page when redirecting 2015-05-20 10:16:17 -04:00
Antonin Hildebrand
11852056a8 Add missing events for discourse-hipchat-plugin
https://github.com/binaryage/discourse-hipchat-plugin
2015-05-15 15:52:12 +08:00
Neil Lalonde
cce8693354 FIX: canonical link tag when using relative_url_root 2015-04-27 13:34:22 -04:00
Robin Ward
53ca51654d FIX: Avoid cookie overflows by truncating the referer we store in flash 2015-04-22 12:41:49 -04:00
Tan Le
9fbc763902 Replace Hash#keys.each with Hash#each_key for some perf boost 2015-04-18 21:53:53 +10:00
Régis Hanol
424a3b042a FEATURE: unified UI for pinning/banner topics
REFACTOR: ES6ified all the modals
2015-03-14 01:18:05 +01:00
Neil Lalonde
1bf4f34049 FIX: topic and post counts are not updated when ownership of a post is changed 2015-03-02 12:13:21 -05:00
Sam
b041b3f67f FIX: bookmark topic was not working intuitively
- explicitly call out "clear bookmarks"
- correct keyboard shortcuts
- properly remove bookmarks when toggeling
2015-02-19 10:58:57 +11:00
Loïc Guitaut
395654bf24 Fix regression on editing private messages
v1.2.0beta9 has introduced a regression in edit of a private topic
(first post). Previously a check for no change in TopicsController was
made but it has been changed without considering that the topic could
be private.

By simply forcing a conversion of `topic.category_id` to integer, the case
where its value is nil is handled correctly as it was previously.
2015-02-18 00:41:16 +01:00
Régis Hanol
0b45054e2b FIX: couldn't uncategorize a topic 2015-02-16 10:31:36 +01:00
riking
85a7b925c7 Miscellaneous fixes from PR#3000
FIX: Don't require login to view post raw
FIX: Don't submit read-guidelines for anonymous users (causes
unnecessary 403 errors from ensure_logged_in)
FIX: Don't pass nil to an array serializer
2015-01-29 13:56:32 -08:00
Arpit Jalan
4e4bb736a8 build is failing :fired: 2015-01-29 15:18:38 +05:30
Arpit Jalan
e8db47a1fe FIX: PMs were not allowed to be edited in some cases 2015-01-29 15:00:11 +05:30
Robin Ward
8fc477ab07 More refactoring to support extensibility of history 2015-01-28 13:37:06 -05:00
Robin Ward
d43944b3ed Extensibility for tracking changes to a topic 2015-01-28 13:37:06 -05:00
Régis Hanol
c681b353f2 FEATURE: bookmark topic button 2015-01-12 12:10:15 +01:00
Robin Ward
0bc0bd7a21 Pass the current_user to the topic saved event 2015-01-08 17:29:11 -05:00
Sam
efc717c14a FEATURE: remove star concept from Discourse 2015-01-07 13:43:27 +11:00
Robin Ward
6f72f265cb A trigger when a topic is updated, adds a couple of custom field tests 2015-01-02 15:57:08 -05:00
Robin Ward
b1bc4741b1 FEATURE: Load fewer topics in the topic list on slow platforms (Android) 2014-12-15 11:54:26 -05:00
Robin Ward
2d6b15a34d Load fewer posts when the android platform is detected 2014-12-12 11:47:39 -05:00
Régis Hanol
f226e4efc0 FIX: don't error out when updating a topic with no changes 2014-12-02 02:16:30 +01:00
Régis Hanol
7bb9a839e5 fix the build (again) 2014-11-17 16:06:43 +01:00
Régis Hanol
dd9c475ea0 FIX: changing category within edit grace period as TL3 pops up an error 2014-11-17 15:57:45 +01:00
riking
d7a4e39e1d FEATURE: ?include_raw parameter for /t/id/posts.json
include_raw is not added for the wordpress view because it uses the
BasicPostSerializer, and is not a one-line change.

This is the only use of the TopicViewPostsSerializer class, and the
previous change covered the only use of the TopicViewSerializer class.
No other locations include the PostStreamSerializerMixin. Therefore,
this feature is most likely complete.
2014-11-07 07:28:07 -08:00
riking
6a946712b3 Add ?include_raw parameter to topic views 2014-11-01 14:32:18 -07:00
Sam
bd78fca121 Merge pull request #2908 from cpradio/pr-dismiss-posts-topics-on-category
FEATURE: Show dismiss posts/topics buttons on category filtered lists
2014-10-31 11:34:53 +11:00
cpradio
50f7fbc361 Apply comment from @sam to consolidate logic 2014-10-30 10:19:49 -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
cpradio
c6e54741bb Apply comments from eviltrout, using this.get('category.id'), and use snake case for category_id 2014-10-24 17:01:28 -04:00
cpradio
439f393d89 Show dismiss posts/topics buttons on category filtered lists 2014-10-23 17:41:39 -04:00
Jeff Atwood
92b615b503 reorganize site settings a bit 2014-10-19 23:14:50 -07:00
Régis Hanol
5754e8dd0f FEATURE: auto-close topics based on last post 2014-10-10 18:21:44 +02:00
Robin Ward
2fbfc9dffa FIX: Editing a topic's title should be rate limited too. 2014-10-07 16:46:01 -04:00
Régis Hanol
98b6b9821a FEATURE: log topic/post deletions from staff members 2014-10-01 17:40:13 +02:00
Sam
f625500792 lower band check as well 2014-09-22 17:11:04 +10:00
Sam
8c74255cbb FIX: 404 if we try to navigate to a non-existant page 2014-09-22 17:08:11 +10:00
Robin Ward
c16b8364ab FIX: Support ember app routing to topics with only slugs 2014-09-17 11:18:59 -04:00
Sam
0f585bcdbe FIX: PM should never be allowed to have a category
FIX: TL3 should not be allowed to muck with PM titles
2014-09-11 17:39:34 +10:00
Arpit Jalan
84d0b599a4 FIX: do not redirect topic for JSON request 2014-08-29 23:09:02 +05:30
Ankur Sethi
43b5292303 Fix min_trust_level for wordpress
min_trust_level in the wordpress method was being set to 1 always, the order of the ternary operator was reversed.
2014-08-19 20:15:24 -04:00
Sam
b82726b029 FIX: incorrect redirection code 2014-08-18 12:35:31 +10:00
Régis Hanol
6201b82a67 FIX: keep the post_number parameter when redirecting to proper slug 2014-08-13 22:19:41 +02:00
Robin Ward
21185617b0 Show the reason the topic couldn't be split rather than a generic error. 2014-08-11 14:43:19 -04:00
Régis Hanol
3ae1ebdfc3 FIX: use PostDestroyer when deleting/recovering a topic 2014-08-07 19:12:35 +02:00
Sam
cb0ecd9ff1 PERF: store topic views in a topic view table
* cut down on storage of the work Topic, 3 times per row (in 2 indexes)
* only store one view per user per topic
* only store one view per ip per topic
2014-08-04 19:07:55 +10:00
Sam
0920c4bea6 PERF: reduce storage requirements for incoming links
Only store incoming links for topics.
2014-08-04 11:06:48 +10:00
Sam
6dbd6f7428 FIX: redirect to preserve json 2014-07-30 15:25:49 +10:00
Sam
49d03cf14e FEATURE: support for /t/1234 2014-07-29 16:04:28 +10:00
Sam
1359a02128 Merge pull request #2532 from riking/sidekiq
Pass more context from Sidekiq jobs to Logster
2014-07-18 10:24:51 +10:00
riking
12cb682548 Start passing more context to Discourse.handle_exception 2014-07-17 14:11:56 -07:00
riking
19b757b058 FEATURE: Hide deleted posts by default for staff 2014-07-17 10:40:15 -07:00
Robin Ward
fb8dda7f42 FIX: We should use category_id instead of category_name to perform
operations, now that the subcategory names are not unique.
2014-07-16 15:40:35 -04:00
Sam
39b5539ba8 BUGFIX: downcase slugs 2014-06-25 11:36:17 +10:00
Régis Hanol
30611c343c ensures only one banner topic at all time 2014-06-18 20:05:18 +02:00
Régis Hanol
5238a95efb add make/remove banner topic actions 2014-06-18 20:05:18 +02:00
Sam
76166567fb Use the cheap Defer queue as opposed to sidekiq for view tracking. 2014-06-12 11:29:29 +10:00
Robin Ward
b1d2aba0f3 Clean up notifications if a user can't see a topic 2014-05-26 13:26:46 -04:00
Sam
084ec87850 FEATURE: admins can invite users to groups via the web UI 2014-05-09 18:22:36 +10:00
Sam
3f07c1d0a1 Backend support for group invites 2014-05-09 18:22:35 +10:00
Sam
a2e2d0e886 Merge pull request #2316 from mutiny/refactor-where-first
Refactor `where(...).first` to `find_by(...)`
2014-05-08 09:10:45 +10:00
Neil Lalonde
63a1f87806 Use topic excerpts and category desriptions in meta description tags for crawlers 2014-05-07 11:21:37 -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
Robin Ward
2eab288dc9 Port "Summarize Topic" to query-params-new 2014-04-17 10:46:33 -04:00
Sam
b9d4edd91a FEATURE: display unpinned state, allow unpinning by clicking on pin 2014-04-10 10:59:02 +10:00
riking
1540a3d5e5 Allow changing ownwership of posts by admins 2014-04-08 01:47:42 -07:00
Sam
0372b81d11 FEATURE: allow moderators to globally pin topics 2014-04-07 16:38:51 +10:00
Robin Ward
f9cd354a2c FEATURE: Button to reset new 2014-03-03 15:47:01 -05:00
Robin Ward
1aa27ade17 FEATURE: If you don't select any topics to "Dissmiss Read" it does all
by filter.
2014-02-21 15:18:45 -05:00
Robin Ward
a07e9f7e71 FEATURE: Bulk reset read status. 2014-02-21 15:18:45 -05:00
Robin Ward
d95887c57d CHANGE: We now include the _escaped_fragment_ support by default, but
only if the crawler check fails. It is a fallback for non-google search
engines that support the Ajax crawling API.
2014-02-20 17:02:26 -05:00
Robin Ward
b315a5c28f Delegate bulk operations to a TopicsBulkAction object. 2014-01-30 11:44:29 -05:00
Robin Ward
0c73eb8ce1 Front end code is complete for changing categories of topics in bulk 2014-01-30 11:44:29 -05:00
DV Suresh
24886c300b Correct few spelling in the comments 2013-12-21 01:19:22 -06:00
Régis Hanol
2ce75a8523 FIX: canonical url should not use the CDN 2013-12-17 00:35:34 +01:00
Régis Hanol
c7741c9622 FIX: absolute canonical link on topic pages 2013-12-12 17:24:00 +01:00
Régis Hanol
06dd7ffe3c better revision history 2013-12-12 03:41:34 +01:00
Neil Lalonde
a9ab98ef9e Auto-close time can be entered in 3 ways, so a topic can close at any time 2013-11-27 09:52:35 -05:00
Robin Ward
6063b52d6a Support for choosing a destination category when splitting topics. 2013-10-29 15:30:06 -04:00
Manoj
9650dbb97c Refactor topics controller
Refactor: 1) TopicsController to reduce code climate complexity.
2) Topic model, addressed comments

fix typo
2013-10-28 11:42:07 +05:30
Sam
3d647a4b41 remove rack cache, it has been causing trouble
instead implement an aggressive anonymous cache that is stored in redis
this cache is sitting in the front of the middleware stack enabled only in production
TODO: expire it more intelligently when stuff is created
2013-10-16 16:39:18 +11:00
Neil Lalonde
bccb37b6f3 When creating a topic, don't select a category by default when allow_uncategorized_topics is false. Also, added category validation on the server to enforce allow_uncategorized_topics. 2013-10-08 14:41:20 -04:00
Sam
094b5eccca bug fixes for user_stat extraction, decrease querying 2013-10-07 15:05:00 +11:00
Sam
e18b93026a defer view creation on so updates are not performed when people navigate to topics 2013-10-07 15:04:59 +11:00
Robin Ward
fc00269b7f Pop up with user information when clicking avatar on topic page 2013-10-03 13:06:30 -04:00
Robin Ward
be0ce08cc2 Ember Upgrade: 1.0 2013-10-01 11:16:27 -04:00
Sam
efb15af209 not needed, already in private section 2013-09-11 16:18:17 +10:00
Régis Hanol
45b838009c proper content-disposition header when downloading attachments 2013-09-06 19:23:56 +02:00
Robin Ward
f157ec1f91 Select +Replies for bulk operations 2013-09-05 11:03:29 -04:00
Régis Hanol
c867b67a0b custom avatar support 2013-08-13 22:08:29 +02:00
Robin Ward
3ee6e42016 FIX: Server side errors with Topic.similar_to 2013-07-23 10:02:58 -04:00
Robin Ward
6ca5df0a09 Can recover deleted topics. Deleted topics show the first post as deleted in the UI. 2013-07-12 12:09:17 -04:00
Robin Ward
19c169540c Staff can enter and view deleted topics 2013-07-11 16:39:35 -04:00
Sam
1aef6de4b0 automatically approve invited users on forum where moderators must approve (keep in mind only moderators can invite)
speed up specs a touch
allow invite controller to accept an email in absence of user (cleans up API)
2013-07-11 11:22:00 +10:00
Robin Ward
b7327942af Add deleted_by to Trashable tables 2013-07-09 15:46:36 -04:00
Robin Ward
6cd6484b5e New mode for Wordpress: Filter ONLY posts liked by moderators 2013-07-05 16:07:24 -04:00
Anton Batenev
694a6f4970 Fix recommendations from #1145 2013-07-05 15:59:39 +04:00
Anton Batenev
af36d32f7f Workaround solution to help Yandex crawler index discource.
Yandex search engine doesn't index noscript tag content. See also
http://meta.discourse.org/t/noscript-tag-and-some-search-engines/8078
2013-07-04 22:08:23 +04:00
Sam
4d4a5735d2 logic to bypass trust level filter for high scoring posts 2013-07-03 12:37:17 +10:00
Robin Ward
5770879472 Refactor: Move Topic Details into better objects, identity map, tests, query string filters 2013-07-02 10:36:46 -04:00
Sam
b92e912ac9 add min replies, min score and min trust level params for wordpress 2013-07-01 21:29:45 +10:00
Robin Ward
2deaf8ef98 Custom Wordpress Serializer and Path, with Specs 2013-06-28 13:56:13 -04:00
Robin Ward
5ef6714d48 New site setting: minimum_topics_similar, allows you to specify a minimum amount
of topics that need to be in the database before it will suggest similar topics as
a user creates a post.
2013-06-19 13:14:24 -04:00
Sam
799b402778 fix horribly broken invite code, could lead to inviting the wrong person to a conversation 2013-06-19 10:31:19 +10:00
Robin Ward
b9a2469774 Merge pull request #1041 from vipulnsward/refactor_topics_controller
Refactor `TopicsController` and remove code duplication
2013-06-18 06:35:32 -07:00
Sam
80c42753e1 fix up find as you type for the invite into PM function
allow mods to remove users from a PM
2013-06-18 17:17:01 +10:00
Vipul A M
531587c5ca Refactor TopicsController and remove code duplication 2013-06-18 11:22:09 +05:30
Vipul A M
8298a07fd9 toggle_mute doesn't require a param 2013-06-14 11:08:59 +05:30
Robin Ward
77b218a142 FIX: Do not suggest similar topics from secure categories you can't see. 2013-06-12 13:45:11 -04:00
Neil Lalonde
169125e96d Fix a case where a random topic with null slug will be rendered instead of 404 2013-06-07 14:30:26 -04:00
Neil Lalonde
a151bfc7ec Store when a topic was first set to auto-close and report that amount of time when it closes. And do some refactoring. 2013-06-06 17:04:21 -04:00
Neil Lalonde
62041da7e0 Handle /t/only-the-slug urls by trying to find the topic by slug (second try) 2013-06-06 14:41:37 -04:00
Ian Christian Myers
0d01c33482 Enabled strong_parameters across all models/controllers.
All models are now using ActiveModel::ForbiddenAttributesProtection, which shifts the responsibility for parameter whitelisting for mass-assignments from the model to the controller. attr_accessible has been disabled and removed as this functionality replaces that.

The require_parameters method in the ApplicationController has been removed in favor of strong_parameters' #require method.

It is important to note that there is still some refactoring required to get all parameters to pass through #require and #permit so that we can guarantee that parameter values are scalar. Currently strong_parameters, in most cases, is only being utilized to require parameters and to whitelist the few places that do mass-assignments.
2013-06-06 00:30:59 -07: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
Neil Lalonde
5d444be72b Support incomplete topic urls like /t/just-a-slug; fix error when using route /t/:topic_id/:post_number 2013-05-30 10:39:15 -04:00
Matt Van Horn
d7817cf314 extract TopicNotifier class from topic 2013-05-24 13:36:33 -07:00
Sam
c4d8085fc5 remove moderator status posts from best feed 2013-05-22 15:04:53 +10:00
Sam
a3dce9afd7 don't error out on not posts if its a json request 2013-05-20 17:32:53 +10:00
Sam
80fb20816c get rid of nonsense 404.html
correct 404 handling for invalid pages
2013-05-20 10:29:49 +10:00
Robin Ward
a80ec535a3 Support for "Select All / Deselect All" while selecting posts to merge / delete. 2013-05-16 16:50:38 -04:00
Neil Lalonde
9828c87525 Topic Auto-Close: admins and mods can set a topic to automatically close after a number of days 2013-05-13 12:53:52 -04:00
Robin Ward
cf01c98d81 Experimental: Interface to Move Posts to an Existing Topic 2013-05-10 14:55:51 -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
f9e33ec6b8 store ip address and current user with incoming links
make links long an readable in share dialog
2013-04-26 16:18: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
Régis Hanol
c5cf8be864 auto replace rules in titles 2013-04-10 11:00:50 +02:00
Sam
11ff0ccd03 correct logic for tracking the highest seen post number so its always consistent 2013-04-08 11:12:52 +10:00
Sam
2295290383 added best=N option to get N best comment on a post 2013-03-27 22:53:11 -07:00
Karan Misra
5dfb04e4b3 Convert a lot of :a => b to a: b and bring peace to the world 2013-03-25 05:07:36 +05:30
Robin Ward
ad082cea70 Big commit:
- Support for a popup that shows similar topics
- Cleaned up a lot of Javascript
- Cleaned up use of Promises
2013-03-15 14:35:33 -04:00
Robin Ward
f8d8272406 Cleaned up TopicUserSpec, introduces clearing of pinned topics 2013-03-07 12:19:25 -05:00
Robin Ward
0c5ca30188 Merge pull request #361 from ZogStriP/enforce-coding-convention
enforce coding convention
2013-03-05 07:25:19 -08:00
Régis Hanol
239cbd2d58 enforce coding convention
replaced every `and` by `&&` and every `or` by `||`
2013-03-05 01:42:44 +01:00
Alexander
d6e665f888 Caching for topic/category RSS feeds
Using anonymous_etag() now
2013-03-04 11:21:01 -08: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
Robin Ward
397c6ca761 Better error messages when topics can't load 2013-02-25 18:38:38 -05:00
Sam Saffron
77a2d8ccc4 fixed a pile of notification craziness
addes some tests around post timings
2013-02-25 18:42:42 +11:00
xdite
cab4d95eaf use canonical-url plugin to make view more clean 2013-02-13 19:04:43 +08:00
Grant Ammons
f3dc93a0db WIP, a very nice refactoring of TopicsController#show 2013-02-11 17:54:56 -05:00
Kuba Brecka
12fa6e9a4e correct noscript link to next page 2013-02-09 14:12:31 +01:00
Jakub Arnold
61654ab8f0 Fix all the trailing whitespace 2013-02-07 16:45:24 +01:00
Robin Ward
21b5628528 Initial release of Discourse 2013-02-05 14:16:51 -05:00