Commit Graph

1499 Commits

Author SHA1 Message Date
Régis Hanol dec8a861f0 FIX: don't raise exception when a quote was already extracted 2016-11-30 17:18:34 +01:00
Guo Xiang Tan b889bfefbb PERF: Don't calculate the same query twice. 2016-11-24 14:05:26 +08:00
Arpit Jalan 2d0c99636a do not add rel noreferrer 2016-11-20 18:19:14 +05:30
Arpit Jalan 7cb76f7333 FIX: add rel noopener and noreferrer in addition to nofollow 2016-11-20 17:07:27 +05:30
Guo Xiang Tan 8c6d8c85db Stop showing first notification prompt once user sees the notification. 2016-11-17 09:44:00 +08:00
Guo Xiang Tan 98c1e0832c FIX: Track first notification read using Redis. 2016-11-16 16:20:38 +08:00
Guo Xiang Tan 16fdcdfc00 FIX: Add conditions on when to show first pm notification. 2016-11-16 14:17:47 +08:00
Leo McArdle 784366f1a0 FIX: display only 1 trust level badge on user card
refactoring graciously provided by @xfalcox
2016-11-14 20:53:24 +00:00
Sam 3d76ce1421 FEATURE: SSO support for adding and removing a user to groups
Use: add_groups with a comma delimited list to ensure a user is in groups (using group names)

Use: remove_groups with a comma delimited list to ensure a user is removed from groups (using group names)
2016-11-11 16:57:31 +11:00
Arpit Jalan 9e69798285 FEATURE: watch first post default site setting 2016-11-10 00:09:52 +05:30
Guo Xiang Tan b18439a1e2 Fix build. 2016-11-08 17:00:44 +08:00
Guo Xiang Tan a8b7599d4a FEATURE: Add a radial ping when user's first notification has not been read. 2016-11-08 16:23:12 +08:00
Neil Lalonde 092ad7810d add the spec for unused tag count 2016-10-28 16:14:20 -04:00
Neil Lalonde 8c9d390cac FIX: Tags used only on deleted topics could not be used again 2016-10-28 15:11:50 -04:00
Régis Hanol 750338954c FIX: download SSO avatars in a background job to prevent hangs when avatars are huge 2016-10-24 19:55:30 +02:00
Guo Xiang Tan efea296c7a FIX: Do not cook post if `Post#raw` has not been changed. 2016-10-24 12:02:38 +08:00
Sam 9a94d1b212 FIX: everyone is not a visible group 2016-10-24 13:03:22 +11:00
Jeff Atwood febbd27ba6 remove gmail/live SMTP warning 2016-10-20 14:49:06 -07:00
Régis Hanol 8d48779b5c FIX: don't 💥 with an invalid URI 2016-10-20 12:34:42 +02:00
Guo Xiang Tan 7db33cc512 FIX: Videos and audio files were not associated to the post. 2016-10-18 16:13:39 +08:00
Guo Xiang Tan 2a9331d061 Remove stubs from tests. 2016-10-18 13:39:16 +08:00
Sam f4f5524190 FEATURE: user API now contains scopes so permission is granular
previously we supported blanket read and write for user API, this
change amends it so we can define more limited scopes. A scope only
covers a few routes. You can not grant access to part of the site and
leave a large amount of the information hidden to API consumer.
2016-10-14 16:05:42 +11:00
cpradio 489e1bf643 Stub the TopTopic.topics_per_period so the logic is fully tested 2016-10-12 19:28:54 -04:00
cpradio 9cbf7d036a FEATURE: Use the top period default for users who have been inactive or are new 2016-10-11 13:22:43 -04:00
Sam ea1f0683c8 Merge pull request #4477 from cpradio/watching-state-on-reply
FEATURE: Add notification level user preference when replying to a topic
2016-10-11 10:05:37 +11:00
Neil Lalonde c70f52c4dd remove some problem reports from the admin dashboard since they're covered by the setup wizard now 2016-10-05 12:14:56 -04:00
cpradio 6f1c31d777 Add notification level user preference when replying to a topic 2016-09-30 14:58:07 -04:00
Guo Xiang Tan 40b83ebb47 Reset `I18n.locale` in tests. 2016-09-29 13:42:56 +08:00
Neil Lalonde e0be2f482e FEATURE: tag filter dropdown menu is scoped to user and category 2016-09-22 15:23:37 -04:00
Robin Ward b0ee7930e8 Server side support for inviting as a moderator via the wizard 2016-09-22 09:52:19 -04:00
Guo Xiang Tan d312c82474 Revert "FIX: wasn't able to update category's settings"
This reverts commit 282f9948cb.
2016-09-22 11:29:44 +08:00
Sam 5b3cd3fac9 FEATURE: Import facebook avatars when logging in via facebook
FIX: warning about popup dimensions when using facebook login

Rules are:

- On account creation we always import
- If you already have an avatar uploaded, nothing is changed
- If you have no avatar uploaded, we upload from facebook on login
- If you have no avatar uploaded, we select facebook unless gravatar already selected

This also fixes SSO issues where on account creation accounts had missing avatar uploads
2016-09-19 15:10:23 +10:00
Erick Guan c463cf63d4 FEATURE: Webhook for user creation and approval 2016-09-19 10:12:55 +08:00
Sam 33578a2c17 FIX: always import avatars during SSO if they are missing 2016-09-16 09:45:00 +10:00
Robin Ward 9609a47016 Ability to skip email validation via a plugin 2016-09-07 14:05:46 -04:00
Erick Guan 9ce61b4586 FEATURE: Webhooks. 2016-09-05 18:44:00 +08:00
Guo Xiang Tan e4b75f604c FIX: Make clean up upload script a safer task to run. 2016-09-05 10:06:02 +08:00
Sam 0a39ba43ed FIX: always respect avatar_force_update 2016-09-02 12:04:22 +10:00
Sam 211c374df6 Merge pull request #4213 from fantasticfears/sso
FIX: Importing user avatar when new user login by SSO
2016-09-01 18:05:18 -07:00
Guo Xiang Tan 90a0327fd2 FIX: Check against reserved usernames should be case insensitive. 2016-08-31 21:53:41 +08:00
Robin Ward 7da44e3bf0 FEATURE: Support author meta tags for embedding 2016-08-30 12:01:04 -04:00
Erick Guan 0217973374
FIX: Importing user avatar when new user login by SSO 2016-08-29 20:47:19 +08:00
Robin Ward 20241a01e9 FIX: Run the regular expression against query parameters 2016-08-26 12:47:47 -04:00
Robin Ward c3a3aff120 FEATURE: Support for a whitelist for embeddable host paths 2016-08-23 14:56:12 -04:00
Robin Ward 1468616465 FIX: Support links with google analytics tracking and hashes 2016-08-23 12:13:31 -04:00
Guo Xiang Tan 17f0727b04 FIX: Don't track user profile view when viewed by system user. 2016-08-23 16:25:31 +08:00
Robin Ward 884bdf7240 FEATURE: Ability to scrub titles when importing embeddable content 2016-08-22 12:43:02 -04:00
Arpit Jalan 4a2f0e772c add specs for post ownership change without revision 2016-08-20 01:27:48 +05:30
Régis Hanol eb953c0904 FIX: /categories page on mobile 2016-08-19 01:47:00 +02:00
Neil Lalonde 7195a103ab FEATURE: digests choose topics you're watching or tracking first 2016-08-18 17:16:52 -04:00
Régis Hanol 6d1d7b7c8f UX: new /categories layout 2016-08-17 23:23:16 +02:00
Neil Lalonde 5849c345cc FEATURE: digest emails will try to choose topics from your tracked and watched categories first 2016-08-15 16:16:04 -04:00
Guo Xiang Tan 0433163866 FEATURE: Support subfolders in `SiteSetting.s3_backup_bucket`. 2016-08-15 16:14:51 +08:00
Robin Ward fc311dbe3b FEATURE: An option to search more recent posts for very large sites.
On very large forums searching posts can be slow, so this commit
introduces the ability to try and search only the most recent posts
first, and then going for a larger breadth search if there aren't
enough results.

Enable `search_prefer_recent_posts` and you can customize how many
recent posts to filter with `search_recent_posts_size`
2016-08-10 15:43:42 -04:00
Régis Hanol 282f9948cb FIX: wasn't able to update category's settings 2016-08-09 20:14:49 +02:00
Neil Lalonde 17b51bb465 FIX: topics tagged with muted tags should not be included in digest emails 2016-08-08 15:14:25 -04:00
Robin Ward fb1b119462 Merge pull request #4342 from acshi/embeddedhost-localhost
Allow localhost as an embeddable host
2016-08-08 14:31:58 -04:00
Robin Ward e5b529f8e1 FIX: Couldn't move posts with deleted replies 2016-08-04 11:56:01 -04:00
Robin Ward f4c8070d09 FIX: Couldn't update category notification level 2016-08-02 11:22:02 -04:00
Sam 9018de39ed FEATURE: allow shipping bio markdown via SSO
- Also adds site setting for sso_overrides_bio to disable bio editing by end users
2016-08-01 15:29:28 +10:00
Robin Ward 2891f230d1 SECURITY: Make sure uploaded_urls have corresponding upload records 2016-07-28 13:54:17 -04:00
Robin Ward cf5b756b1a SECURITY: Cross-Site Scripting in Category and Group Settings 2016-07-28 11:57:59 -04:00
Sam ab68e0c9db FEATURE: allow "developer" account flagging via developers table
This mechanism for flagging developer accounts will eventually replace
DISCOURSE_DEVELOPER_EMAILS
2016-07-28 10:14:06 +10:00
Acshi Haggenmiller afa88f68ce added spec for localhost embeddable host validation 2016-07-22 17:12:57 -04:00
Vinoth Kannan e99a73e16d New AWS S3 Storage Mumbai region added (#4335)
* ap-south-1 region added

* Update client.en.yml

* ap-south-1 region added
2016-07-18 09:03:26 +02:00
cpradio 64bdededd3 Allow plugins that implement OAuth and OAuth2 to show up under associated accounts in the Admin area. (#4333) 2016-07-18 09:02:41 +02:00
Sam Saffron 46b34e3c62 FEATURE: remove user option for edit history public
Users can no longer opt-in for "public" edit history
if site owner disables it.

This feature adds cost and complexity to post rendering since
user options need to be premeptively loaded for every user in the
stream. It is also confusing to explain to communities with private edit
history.
2016-07-16 21:30:00 +10:00
Hu Ming f8a12d4940 Add support for AWS cn (#4327) 2016-07-14 16:56:09 +02:00
Guo Xiang Tan 5fed886c8f FIX: Update post replies when we move posts. (#4324) 2016-07-13 17:34:21 +02:00
Guo Xiang Tan 973a7c9d3a FIX: Redeeming an invitation fails if inviter has been destroyed. 2016-07-13 11:58:31 +08:00
Robin Ward c1d4ca4031 FIX: Raw templates in customizations were broken 2016-07-11 12:57:05 -04:00
Robin Ward 7ff5b228cd REFACTOR: Raw Handlebars ported to ES6 2016-07-11 12:57:05 -04:00
Robin Ward a546395397 REFACTOR: Migrate markdown functionality in ES6 2016-07-11 12:57:05 -04:00
Neil Lalonde 304f7040a3 FIX: tag filter dropdown was gone if some tags were restricted to a category. 2016-07-08 17:13:40 -04:00
Sam 4161ee210a FEATURE: improved tag and category watching and tracking
- present tags watched on the user prefs page
- automatically watch or unwatch old topics based on watch status

New watching and tracking logic takes care of handling old topics
(either with or without read state)

When you watch a topic you now watch historically

Also removes confusing warnings from user.
2016-07-08 12:58:30 +10:00
Guo Xiang Tan 423dc37f6c Merge pull request #4315 from tgxworld/fix_tags_not_in_category_showing
Tags which are not allowed in a category showing in drop down.
2016-07-08 10:28:10 +08:00
Guo Xiang Tan 8fd0414cdf
WIP: Tags which are not allowed in a category showing in drop down. 2016-07-08 10:27:56 +08:00
Robin Ward 5f91919663 Email support for watching first post 2016-07-07 12:23:19 -04:00
Robin Ward 3fe4903e63 FIX: Support unicode replacements with multiple codepoints 2016-07-05 13:55:41 -04:00
Guo Xiang Tan e4a82cdd85 Merge pull request #4306 from tgxworld/add_discourse_event_trigger_when_user_logs_out
FEATURE: Add event trigger when a user is logged out.
2016-07-05 19:50:46 +08:00
Régis Hanol 59680af329 disable email white/blacklisting for staged users 2016-07-04 16:05:01 +02:00
Guo Xiang Tan 22ade1f811
FEATURE: Add event trigger when a user is logged out. 2016-07-04 17:20:30 +08:00
Guo Xiang Tan 20359788dc
Rename `SiteSetting#use_https` to `force_https`. 2016-06-29 15:02:43 +08:00
Robin Ward 61ce5c210c FIX: S3Cdn link clicks weren't working 2016-06-28 15:52:38 -04:00
Sam 1411eedad3 FEATURE: offer to unwatch categories when unwatching category 2016-06-28 18:34:20 +10:00
Robin Ward 94a4af6af7 FIX: If posts are deleted they should be updated in consistency jobs 2016-06-21 13:05:56 -04:00
Régis Hanol 874c18cbc1 FIX: unstage users when using SSO 2016-06-21 11:28:58 +02: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
Guo Xiang Tan b3a8f7d369 Merge pull request #4277 from tgxworld/fix_bug_when_post_creator_returns_nil
Fix bug when post creator returns nil
2016-06-20 18:15:52 +08:00
Guo Xiang Tan 9a0797204a
FIX: Add check to ensure post has been created. 2016-06-20 15:51:26 +08:00
Sam 8866169879 FEATURE: can invite/revoke groups on private messages 2016-06-20 16:29:27 +10: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
Robin Ward 84f0e5ad4d SECURITY: Unapproved, active users should not receive emails 2016-06-16 12:55:47 -04:00
Guo Xiang Tan bf64280661
FIX: Incorrect scope when checking for existing topic link. 2016-06-15 14:13:30 +08:00
Régis Hanol 470da6205c FIX: staged users should not watch/track/mute categories by default 2016-06-14 16:45:47 +02:00
Guo Xiang Tan 95efdce74f
Improve spec. 2016-06-13 13:16:24 +08:00
Guo Xiang Tan 1fe499e893
FIX: Don't include reflections when checking for duplication topic links. 2016-06-13 13:14:35 +08:00
Sam 65f466cf8c FIX: topic link reflections deleted on second save 2016-06-10 17:25:59 +10:00
Robin Ward c3ad0f447a FIX: Broken spec 2016-06-09 14:31:32 -04:00
Guo Xiang Tan ff577405ae
FIX: Randomly failing TopicList specs. 2016-06-09 22:03:13 +08:00
Robin Ward e38f17524b FIX: Reflected links weren't being cleaned up properly 2016-06-08 16:09:01 -04:00
Robin Ward 2169b1ecbc FIX: Duplicate link message should link to the post 2016-06-08 12:35:11 -04:00
Robin Ward 431179dd25 FEATURE: Prompt users when they are entering duplicate links 2016-06-07 14:47:22 -04:00
Guo Xiang Tan cb5be1fe8f
Upgrade rspec to 3.4.0. 2016-05-30 11:38:38 +08:00
Sam efc45aa704 correct specs 2016-05-27 12:35:22 +10: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 a4cd068481 FEATURE: add caps to trust level 3 requirements for posts read and topics viewed, configurable in settings 2016-05-25 14:55:49 -04:00
Sam a19e43fd3b enough with the malloc limit, not needed 2016-05-25 21:09:07 +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
Sam b04ab83f12 FIX: refresh automatic group if SSO specifies admin/mod 2016-05-17 17:31:34 +10:00
Guo Xiang Tan 96f07053b2
FIX: Ensure unique fields in `TopicList.preloaded_custom_fields`. 2016-05-16 17:56:00 +08:00
Régis Hanol 6137bb46d3 FIX: a User is *not* a Topic 2016-05-14 10:06:29 +02:00
Arpit Jalan 82daf93eb3 Merge pull request #4206 from techAPJ/convert-topic
FEATURE: move a topic from PM to regular topic or vice versa
2016-05-04 01:33:15 +05:30
Régis Hanol df14926e42 SECURITY: check magic bytes before using ImageMagick tools 2016-05-03 21:54:07 +02:00
Arpit Jalan acfb540952 FEATURE: move a topic from PM to regular topic or vice versa 2016-05-02 21:34:05 +05:30
Arpit Jalan 7151c16c79 FEATURE: create permalink when category slug is changed 2016-04-27 17:34:03 +05:30
Arpit Jalan 74b3807f60 FEATURE: new bootstrap mode settings for brand new Discourse community (#4193)
* FEATURE: new bootstrap mode settings for brand new Discourse community

* new SiteSetting.set_and_log method
2016-04-26 13:08:19 -04:00
shaktikatare1989 d1f61015c0 Fix: Editing a topic with an invalid title will still push it to the top (#4185)
* fix: Editing a topic with an invalid title will still push it to the top
* add specs to check topic not bumped with invalid title
2016-04-25 10:33:38 +02:00
Sam 0119a2f980 FIX: only ever send users 1 email per post
in the past ninja editing a post to add a mention could trigger duplicate
emails to a user (and a few other edge cases)
2016-04-15 15:59:01 +10:00
Robin Ward 0396b14b70
FEATURE: New "First Onebox" badge 2016-04-12 15:31:14 -04:00
Arpit Jalan 50fce0998f FEATURE: allow moderators to see offical warnings 2016-04-11 18:44:19 +05:30
Robin Ward cc25716e47 FIX: Allow message format translations to be overridden 2016-04-08 14:49:50 -04:00
Robin Ward adb3810f67
FIX: Allow longer TLDs 2016-04-08 12:15:21 -04:00
Robin Ward 5059ee04b9 Remove `UserFirst` table and grant Emoji badge directly 2016-04-07 12:31:41 -04:00
Sam a130cb8305 FEATURE: move more urgent emails notifications to critical queue
Move signup, admin login and password change email notifications
to critical queue
2016-04-07 14:39:01 +10:00
Robin Ward 5866f0df18 Remove UserFirst for mention since it can be retrieved elsewhere 2016-04-06 14:01:37 -04:00
Robin Ward 189d70661e FIX: Don't count emojis within quotes 2016-04-06 12:02:35 -04:00
Robin Ward ba80ae73be FIX: Broken spec 2016-04-05 16:39:20 -04:00
Robin Ward 64a1a44c4b FIX: Don't create user first records on private posts 2016-04-05 16:13:10 -04:00
Robin Ward c30d327b77 FEATURE: Two new badges - First Emoji and First Mention 2016-04-05 15:17:41 -04:00
Neil Lalonde 56e47c8d7e FEATURE: report on admin dashboard when favicon is failing to load 2016-04-05 14:42:32 -04:00
Régis Hanol f382897952 FIX: don't extract link with 'mailto' scheme 2016-04-05 00:43:11 +02:00
Arpit Jalan 6f0137dec9 FEATURE: disable post editing when the post has active flag 2016-03-30 23:28:49 +05:30
Sam aae835a42f FIX: all badges got revoked due to ensure consistency query 2016-03-29 23:54:18 +11:00
Sam 418bc4a844 FIX: when ensuring consistency also delete orphan badges 2016-03-29 16:41:03 +11:00
Sam fe51f84aa7 FEATURE: allow admins to enter badge long descriptions
FIX: fallback to description if badge long description is missing

Also moves all badge localization into server.en, this slims the client down

serializers pass down localized names/descriptions/long descriptions
2016-03-28 18:38:57 +11:00
Arpit Jalan 64feffbb60 FEATURE: site setting for suppressing categories from digest email 2016-03-26 01:06:03 +05:30
Sam c095304d6d FEATURE: limit daily emails per user to 100 per day via site setting
- controlled via max_emails_per_day_per_user, 0 to disable
- when limit is reached user is warned
2016-03-23 15:08:48 +11:00
Sam d09a20210b correct bad spec 2016-03-22 14:50:12 +11:00
Robin Ward b4f306ce03 FEATURE: Site Customizations can use the plugin api 2016-03-18 14:41:48 -04:00
Robin Ward 5d4ee2ca1d FEATURE: Warn a user when they have few likes remaining 2016-03-18 11:30:29 -04:00
Robin Ward 1fba835d4f FIX: Use a logging table for daily likes given. Use it for badges. 2016-03-18 11:18:54 -04:00
Neil Lalonde 213950e4cf FEATURE: add option to include topics from trust level 0 users in digest emails 2016-03-17 17:35:23 -04:00
Sam Saffron 433fa74d87 FIX: ensure consistency of user options
Edge case during upgrade can cause accounts registered after migration
prior to restart to have missing user option records
2016-03-17 10:03:56 +11:00
Arpit Jalan ff12b5bf57 FIX: newly created categories were not showing up 2016-03-14 23:17:02 +05:30
Robin Ward 1006b1ba94 Various Plugin Enhancements and Extension Points 2016-03-11 15:53:37 -05:00
Sam aa001fcfc4 Merge pull request #4057 from joebuhlig/spec-for-topic-status-update-event
Add spec for topic_status_update event
2016-03-10 16:46:59 +11:00
Guo Xiang Tan ee8be3d1a8 Merge pull request #4059 from gdpelican/feature/disable-mailing-list-mode
FEATURE: Add site setting for disabling mailing list mode site wide
2016-03-08 16:27:09 +08:00
James Kiesel 2f00e2179f Don't use unnecessary stubs; site setting language update 2016-03-08 19:40:16 +13:00
Joe Buhlig 186a9630b7 Added spec for topic status update event 2016-03-07 10:40:06 -06:00
Sam 3e018c2588 FIX: rate limit do/undo on post actions 2016-03-06 09:51:30 +11:00
James Kiesel 54b4fb69db FEATURE: Add site setting for disabling mailing list mode site wide 2016-03-05 11:08:31 +13:00
Sam Saffron 8b1772ac0f FIX: if user undos like, and relikes notify
FEATURE: roll up likes for notify on all likes
2016-03-04 22:56:27 +11:00
Neil Lalonde c1aea91d63 FEATURE: More digest email frequency options. Digests can be sent as often as every 30 minutes. 2016-03-02 15:43:47 -05:00
Sam Saffron c15c483931 PERF: stop rebuilding full directory item table on refresh 2016-03-02 18:23:29 +11:00
Robert Riemann 9c39647cd2 fix: support for hyphens in group name
The group mention @ORG-team triggers notifications for the group @ORG. This fix changes the RegExp, so that the group name is correctly extracted.

see: https://meta.discourse.org/t/group-mentions-that-begin-with-the-same-characters-may-be-incorrect/39892/12?u=rriemann
2016-02-23 23:55:31 +01:00
Neil Lalonde cab5dd09d3 FIX: broken links on admin dashboard in Top Referrers section 2016-02-22 14:31:13 -05:00
Régis Hanol 4d981cec53 FIX: don't try to optimize large PNGs (takes too much time) 2016-02-22 12:57:24 +01:00
Sam f18f6dc31f correct spec to stop checking for empty category suppression 2016-02-19 17:43:26 +11:00
Sam f0e942f647 PERF: move 3 more option columns out of the user table 2016-02-18 16:57:22 +11:00
Sam 3829c78526 PERF: shift most user options out of the user table
As it stands we load up user records quite frequently on the topic pages,
this in turn pulls all the columns for the users being selected, just to
discard them after they are loaded

New structure keeps all options in a discrete table, this is better organised
and allows us to easily add more column without worrying about bloating the
user table
2016-02-17 18:08:25 +11:00
Régis Hanol 63b9d1c645 FIX: sends an email notifcation when a user's post is linked 2016-02-16 18:29:23 +01:00
Sam Saffron 8e9a8472f4 FEATURE: don't move muted messages back into inbox 2016-02-15 10:56:39 +11:00
Arpit Jalan 8a7868be07 FIX: validate user website 2016-02-06 02:19:48 +05:30
Régis Hanol 2d170712d7 new 'private_email_time_window_seconds' site setting 2016-02-04 17:22:16 +01:00
Régis Hanol 12051f79a8 FIX: don't send empty email notifications for small_actions 2016-02-01 19:12:10 +01:00
Régis Hanol ce8c2d34d7 FIX: add a 20 seconds grace period before sending a notification about a PM 2016-02-01 10:14:30 +01:00
Robin Ward 617dc42cd9 Merge pull request #3975 from techAPJ/category-user
FIX: changing topic from one watched category to another watched category makes topic 'new' again
2016-01-28 10:53:29 -05:00
Sam Saffron b25e505fb7 SECURITY: user summary could show topic links you have no permissions to 2016-01-28 11:12:12 +11:00
Sam Saffron a764cc3a42 FEATURE: by default users track a group (as opposed to watch)
FEATURE: a rollup counting number of messages in the group inbox to tracking users
2016-01-27 21:38:33 +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
Arpit Jalan d0719aed24 FIX: changing topic from one watched category to another watched category makes topic 'new' again 2016-01-26 01:28:01 +05:30
Arpit Jalan 1cee914565 FEATURE: make top criteria formula multipliers controlled by site
setting
2016-01-21 10:30:06 +05:30
Sam Saffron 7303f8f309 FEATURE: first pass at user summary page 2016-01-20 15:14:25 +11:00
Régis Hanol 522e0dc9ca Merge pull request #3964 from keepcosmos/add-s3-region
Add new s3 region
2016-01-19 09:16:48 +01:00
Sam 665fc44741 FIX: message_archived? not set correctly for groups 2016-01-19 18:35:46 +11:00
Régis Hanol 61cc776fdd FIX: only send email notifications for regular and whisper type of posts 2016-01-19 01:39:57 +01:00
keepcosmos c53b4ae66d add s3 region 2016-01-18 22:50:15 +09:00
Régis Hanol 96aa5b865f FIX: mentions regex server-side (ie. don't count email addresses) 2016-01-12 09:53:09 +01:00
Robin Ward 2a84db73b5 Support IP addresses for embeddable hosts 2016-01-11 11:06:32 -05:00
Régis Hanol 98c0fac461 FEATURE: add small action post when adding/removing users in messages 2016-01-11 12:42:06 +01:00
Arpit Jalan 97e4f7f6d3 Enums that are used in tables need to be stable 2016-01-08 20:43:11 +05:30
Guo Xiang Tan c1dbf5c1c4 FEATURE: Autolinking to category using hashtags. 2016-01-05 00:12:24 +08:00
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
Neil Lalonde 98eee2b5de FEATURE: when all posts in a topic are moved, close the topic 2015-12-29 16:01:55 -05:00
Neil Lalonde c3e81dba68 FIX: setting tl3_min_likes_received too high can make it impossible to be promoted to tl3. Cap the min number of days over which those likes must be received. 2015-12-29 12:59:59 -05:00
Arpit Jalan f40249faad FEATURE: make trust level 3 time period admin setting 2015-12-22 23:26:19 +05:30
Guo Xiang Tan cca0896b9e FIX: Update all does not trigger callbacks. 2015-12-17 00:07:04 +08:00
Arpit Jalan e52852dd0f FIX: Autoclose message was not correct when immediate
FEATURE: Warn when setting auto-close for right now
2015-12-08 18:16:48 +05:30
Régis Hanol 578f606a1a add 'incoming_email' to groups 2015-12-07 12:39:28 +01:00
Andy Waite 3e50313fdc Prepare for separation of RSpec helper files
Since rspec-rails 3, the default installation creates two helper files:
* `spec_helper.rb`
* `rails_helper.rb`

`spec_helper.rb` is intended as a way of running specs that do not
require Rails, whereas `rails_helper.rb` loads Rails (as Discourse's
current `spec_helper.rb` does).

For more information:

https://www.relishapp.com/rspec/rspec-rails/docs/upgrade#default-helper-files

In this commit, I've simply replaced all instances of `spec_helper` with
`rails_helper`, and renamed the original `spec_helper.rb`.

This brings the Discourse project closer to the standard usage of RSpec
in a Rails app.

At present, every spec relies on loading Rails, but there are likely
many that don't need to. In a future pull request, I hope to introduce a
separate, minimal `spec_helper.rb` which can be used in tests which
don't rely on Rails.
2015-12-01 20:39:42 +00:00
Sam ad3dd161e7 FEATURE: first class group mentions built in
If you allow a group to be mentioned it can be mentioned with the @ symbol.

Keep in mind as a safety mechanism max_users_notified_per_group_mention is set to 100
2015-11-30 17:08:43 +11:00
Régis Hanol 914b854d92 send invite & message notification emails immediately 2015-11-27 19:09:35 +01:00
Robin Ward 5e93140f85 FEATURE: Can override any translation via an admin interface 2015-11-27 11:35:19 -05:00
Arpit Jalan 6354324f2f FIX: validate automatic membership email domains 2015-11-27 12:35:33 +05:30
Sam 43d63367fd PERF: stop loading handlebars and ember compilers in prod
(this removes a nice 50K from our initial payload and saves memory)

Also fixes invalid HTML automatically if added to HEAD or /BODY
2015-11-27 11:59:01 +11:00
Régis Hanol 0d54c18c8b new hidden 'allow_staged_accounts' setting 2015-11-26 18:31:23 +01:00
Robin Ward d65ec1af2e Rename `ninja_edit_window` to `editing_grace_period` :'( 2015-11-24 14:28:42 -05:00
Sam 88f1a8f0b1 Merge pull request #3821 from mpalmer/letter-avatar-proxy
Proxy letter avatars by default
2015-11-19 20:02:16 +11:00
Régis Hanol 85580cd243 fix user_search spec 2015-11-18 21:08:50 +01:00
Régis Hanol ff10eb32a6 don't return staged users in mentions 2015-11-18 20:57:49 +01:00
Régis Hanol 92ba6125c4 FEATURE: new 'automatically_unpin_topics' user preference 2015-11-17 18:21:40 +01:00
Sam Saffron 448a1413d3 left over specs 2015-11-10 00:56:57 +11:00
Sam Saffron 6dd4bc7d57 FEATURE: support group owner, capable of controlling group membership
Group owners are regular users that can add or remove users to a group
The Admin UX allows admins to appoint group owners
The public group UX will display group owners first and unlock UI to
add and remove members

Group owners can only be appointed on non automatic groups
Group owners may not appoint another group owner
2015-11-10 00:56:57 +11:00
Sam Saffron ffa523a543 FIX: when moving posts, retain creator and date from OP 2015-11-07 15:17:47 +11:00
Matt Palmer c09f345cff Proxy letter avatars by default
On sites that don't otherwise configure an avatar fallback, Discourse will
now tell the client to get its letter avatars from a location which nginx
proxies to the centralised `avatars.discourse.org` service.  This alleviates
privacy concerns, whilst still providing some degree of performance benefit
(no need for every site to delay avatar response by 300ms for image
rendering).

It is still possible to gain the benefits of global image caching and the
lower latency of requesting directly from a CDN, by explicitly changing the
`external_system_avatars_url` site setting to
`https://avatars.discourse.org/letter/{first_letter}/{color}/{size}.png`.
2015-11-06 14:13:44 +11:00
kerryliu b7803fc68e FIX: allow emoji class when crawling embedded content, add rspc-html-matchers 2015-11-05 18:51:26 -08:00
James Kiesel 2fc52e26a6 Optimize all_allowed_users query 2015-10-29 19:39:30 +02:00
Arpit Jalan a439500bac FIX: do not mark post as spam if the previous flag was disagreed 2015-10-17 01:30:53 +05:30
Régis Hanol de344bcd7e Merge pull request #3854 from tgxworld/fix_transactional_race_condition
FIX: Race condition when wrapping `PostCreator#create` in a transaction.
2015-10-15 11:07:20 +02:00
Guo Xiang Tan 600e42c2ba FIX: Race condition when wrapping `PostCreator#create` in a transaction. 2015-10-15 14:42:40 +08:00
Arpit Jalan b60bceba36 fix the build 2015-10-14 19:20:30 +05:30
Sam 6f43b575a8 FEATURE: no need to cap new and unread together anymore
- leave unread alone
- cap new at 500 per site, with a site setting
2015-10-01 17:17:15 +10:00
Sam 6c37b26b24 Correct site spec 2015-09-28 16:50:24 +10:00
Robin Ward 43c7320f55 FIX: Allow really long links to work 2015-09-25 14:07:20 -04:00
Sam ffb8cb8cac FEATURE: remove dependency of Redcarpet
PERF: cache fancy_title in topics table

New pure ruby implementation is far more flexible and easier to amend.
2015-09-24 13:37:53 +10:00
Neil Lalonde 5ca26a7707 FEATURE: add site setting use_admin_ip_whitelist to enable/disable the whitelisting of admins by IP address 2015-09-23 12:15:08 -04:00
Régis Hanol 36309e50cc Merge pull request #3767 from tgxworld/track_user_profile_views
Track user profile views
2015-09-23 11:38:18 +02:00
Régis Hanol 1aad58b642 Merge pull request #3781 from tgxworld/feature_log_category_settings
Feature log category settings
2015-09-23 11:34:08 +02:00
Sam 3853e3cfdc PERF: omit 2 queries on every full page load 2015-09-23 16:47:17 +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
Neil Lalonde 2ae032c9b0 FIX: categories page would sometimes show no topics, even if there are some visible topics to show 2015-09-21 18:13:14 -04:00
Régis Hanol fe656fb04d FIX: select appropriate period when redirecting to top 2015-09-21 20:28:20 +02:00
Guo Xiang Tan f39b9124b6 FEATURE: Log staff actions for Category changes. 2015-09-18 10:53:08 +08:00
Guo Xiang Tan 7acc93b2a0 FEATURE: Track user profile views. 2015-09-16 14:48:31 +08:00
Sam 83efde79f0 specs to account for new default letter avatar location 2015-09-15 13:25:15 +10:00
Régis Hanol b9a9a91335 FIX: couldn't set 'never' for the default email digest frequency setting 2015-09-14 10:36:25 +02:00
Robin Ward 5af0f5f80e FEATURE: Whisper posts 2015-09-11 14:05:21 -04:00
Robin Ward b6343b1e10 Merge pull request #3697 from riking/patch-6
FEATURE: Allow plugins to add admin dashboard warnings
2015-09-08 16:49:58 -04:00
Sam 335be272ff FEATURE: implement capping of new/unread
We cap new and unread at 2/5th of SiteSetting.max_tracked_new_unread

This dynamic capping is applied under 2 conditions:

1. New capping is applied once every 15 minutes in the periodical job, this effectively ensures that usually even super active sites are capped at 200 new items

2. Unread capping is applied if a user hits max_tracked_new_unread,
  meaning if new + unread == 500, we defer a job that runs within 15 minutes that will cap user at 200 unread

This logic ensures that at worst case a user gets "bad" numbers for 15 minutes and then the system goes ahead and fixes itself up
2015-09-07 12:03:17 +10:00
Régis Hanol 5984b62347 FIX: ensure we remove 'category_users' records when a user is deleted 2015-09-02 20:43:15 +02:00
Sam 262f561a87 FEATURE: relax username rules to allow - and . and leading _
This relaxes our very strict username rules to allow for some long asked for requests

- leading _ is now allowed
- . is allowed except for trailing char and confusing extensions like .gif .json
- dash (-) is now permitted
2015-09-02 12:13:44 +10:00
Neil Lalonde 1bd0f5b015 FEATURE: group can grant a trust level when a user is added 2015-09-01 16:52:12 -04:00
Kane York 65790452d8 Clean up the test checks when done 2015-09-01 13:32:35 -07:00
Arpit Jalan 4e5228dc9e FIX: don't send notification emails to deactivated user 2015-08-31 12:35:12 +05:30
Kane York 3cbfc45bf6 FEATURE: Allow plugins to add admin dashboard warnings 2015-08-25 17:20:14 -07:00
Régis Hanol bef80633b1 FEATURE: global admin override of most of the user preferences 2015-08-21 20:39:21 +02:00
Robin Ward d1c69189f3 FEATURE: Can edit category/host relationships for embedding 2015-08-20 15:56:04 -04:00
Régis Hanol 9ae9aed010 FIX: change **default** notification state when a topic is recategorized within 5 days of creation 2015-08-19 22:40:20 +02:00
Sam e82f892c2d FIX: allow global settings to include keys that have numbers in them 2015-08-14 17:01:21 +10:00
Sam a3c6cd7b38 FIX: handle link tracking correctly for cdn based urls
(usually attachments)
2015-08-05 12:15:08 +10:00
Sam 54b780439d FIX: CDN should always be whitelisted correctly 2015-08-05 11:49:11 +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 bb93a345eb UX: Use smaller messages for moderator actions. 2015-07-27 10:09:21 -04:00
Sam 3b61b098ab PERF: optimise original query instead of huge rewrite
better perf for all cases
2015-07-21 21:53:54 +10:00
Sam 4491813d22 Revert "Revert "PERF: optimise query that gathers topic tracking state""
This reverts commit 909be09f1a.
2015-07-21 21:48:07 +10:00
Sam 909be09f1a Revert "PERF: optimise query that gathers topic tracking state"
This reverts commit 343e417a55.
2015-07-21 17:35:50 +10:00
Sam 343e417a55 PERF: optimise query that gathers topic tracking state
(this query runs on the front page to figure out new and unread topics)
2015-07-21 17:14:30 +10:00
Sam e3d6c476f5 Merge pull request #3593 from tgxworld/cache_results_on_about_page
Cache results on about page
2015-07-21 10:04:51 +10:00
Guo Xiang Tan b0ea6764e0 PERF: Cache About#stats. 2015-07-20 22:45:05 +08:00
Régis Hanol b0802abae2 FIX: crop & optimize user background profile/card images 2015-07-15 17:15:43 +02:00
Sam b772d96f7a FEATURE: permalink normalization
Optionally allow admins to apply regex based normalization
to permalinks prior to matching.

This allows us to drop query string, or cleanly ignore slugs, etc.
2015-07-15 15:34:25 +10:00
Arpit Jalan e0c9054748 FEATURE: invite page tabs 2015-07-13 09:42:51 +05:30
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
Neil Lalonde 00e1659a57 remove some intermittently failing report specs. they aren't worth the cost of maintaining them. 2015-07-06 15:01:43 -04:00
Neil Lalonde 8c84e60df6 FIX: application request numbers for prev 30 day period was for current 30 day period minus today, not previous 30 days 2015-07-06 15:01:43 -04:00
Arpit Jalan 03665e8466 FIX: mark user as approved if an invite is already present 2015-06-26 01:57:29 +05:30
Régis Hanol 80f258e51c FIX: don't count mentions in oneboxes 2015-06-24 11:44:58 +02:00
Sam 9f88d6e252 fix regression in visible notification detection 2015-06-23 06:14:22 +10:00
Sam 5eabf01c29 FIX: don't allow storage of post timings batch larger than 60 secs 2015-06-19 10:35:55 +10:00
Neil Lalonde 611b5f996e FIX: unpinned topics shouldn't remain pinned on categories page 2015-06-10 14:36:55 -04:00
Robin Ward 7b6d6b76eb FEATURE: Multiple embeddable hosts
- Also refactors two site settings components into one, with tests
2015-06-09 13:25:43 -04:00
Arpit Jalan 545f19500d FIX: when sending private message emails do not check email_direct setting 2015-06-09 13:05:26 +05:30
Sam Saffron feeb509a97 SECURITY: expire all existing email tokens on password reset 2015-06-06 03:50:06 +10:00
Sam Saffron 4171eb758c SECURITY: expire all existing sessions if user changes passwords 2015-06-06 03:09:19 +10:00
Arpit Jalan b33654ac31 Remove site setting stubbing (Round 1) 2015-06-03 15:44:00 +05:30
Arpit Jalan 725861f344 FIX: move draft cleanup to the dedicated method and add test 2015-06-03 14:35:54 +05:30
Sam Saffron 40882a9576 add another test 2015-06-02 20:28:33 +10:00
Sam Saffron 0fd1974838 FIX: leaving around useless drafts after posting 2015-06-02 20:28:33 +10:00
Sam Saffron d459cb95dc FIX: when advancing draft sequence remove old drafts 2015-06-02 20:28:33 +10:00
Régis Hanol 64e73e98fb FIX: allow the cooked_post_processor to download external uploads 2015-06-01 20:08:41 +02:00
Sam Saffron 97f03e699d FIX: mixed local s3 store missing avatars 2015-06-01 11:17:42 +10:00
Régis Hanol acafa491b2 user avatar urls/templates refactor 2015-05-29 18:51:17 +02:00
Régis Hanol 5a143c0c6e storage engines refactor 2015-05-29 18:39:47 +02:00
Régis Hanol 0aa552cf61 remove fragile assertion 2015-05-29 16:53:27 +02:00
Neil Lalonde ea8cf1a208 FIX: topic auto-close uses the client's time zone 2015-05-27 18:01:46 -04:00
Sam 147ea002f7 FIX: allow handling for avatars that are not in the set of "resized sizes" 2015-05-26 15:41:50 +10:00
Sam eeda367e70 FIX: should be able to serve optimized image from local if its ... local... 2015-05-26 12:32:52 +10:00
Régis Hanol bb0c2813ac FEATURE: generate (avatar) thumbnails in a background task
FIX: keep the "uploading..." indicator until the server replies via the MessageBus
FIX: text was disapearing when uploading an avatar

PERF: always use a region for S3 (defaults to 'us-east-1')
FEATURE: ApplyCDN middleware when using S3
FIX: use the same pattern to store files on S3 and locally
PERF: keep a local cache of uploads when generating thumbnails
FEATURE: migrate_to_s3 rake task
2015-05-25 17:59:00 +02:00
Paul Kaplan 1c926d22c6 Correctly parse `require_activation` field of SSO 2015-05-21 16:50:54 -05:00
Paul Kaplan 1c34341f31 Replace site setting with a payload attribute 2015-05-19 11:16:02 -05:00
Paul Kaplan 4c26c4d9bc Add a SiteSetting to not trust sso emails by default 2015-05-15 12:15:06 -05:00
Sam e074651fdc PERF: refactor user search so works more efficiently
Stop scanning entire user table
2015-05-14 14:38:47 +10:00
Sam e6f73a1c80 PERF: optimise front page category security lookup query 2015-05-14 12:19:22 +10:00
Régis Hanol bb29bff5d8 Merge pull request #3463 from techAPJ/patch-2
FIX: match subdomain with email domain blacklist
2015-05-13 17:56:54 +02:00
Arpit Jalan 220b9c5abe FIX: match subdomain with email domain blacklist 2015-05-13 21:02:02 +05:30
Régis Hanol d90e0fe66b Merge pull request #3460 from techAPJ/patch-3
FIX: rate limit topic invitations
2015-05-13 12:55:20 +02:00
Arpit Jalan 4324a157e0 FIX: rate limit topic invitations 2015-05-13 14:44:37 +05:30
Sam 51d82fc25d PERF: Active Record #pluck is twice faster
PERF: SqlBuilder bypasses AR converters and uses PG directly
2015-05-13 16:46:17 +10:00
Sam 5ef641126f remove s3 deprecation warning, we will continue to support it 2015-05-12 08:27:25 +10:00
Sam 0f53fc8328 correct emergency regeneration in the controller 2015-05-06 07:33:32 +10:00
Erick Guan a48dd1cc28 store the slug as the title is, only sanitize the slug
and prettify code
2015-05-05 18:33:16 +08:00
Erick Guan b772ff6e13 FEATURE: add slug geneartion options 2015-05-05 18:08:30 +08:00
Sam f58d85edea FEATURE: move stylesheet cache out of the uploads directory 2015-05-05 15:50:13 +10:00
Neil Lalonde 963ebf5963 FIX: if approving a user when must_approve_users is false, don't send an email 2015-05-04 15:30:25 -04:00
Sam 803feefd54 MessageBus handles readonly redis now, no need to wrap it 2015-05-04 12:21:00 +10:00
Arthur Neves b8cbe51026
Convert specs to RSpec 2.99.2 syntax with Transpec
This conversion is done by Transpec 3.1.0 with the following command:
    transpec

* 424 conversions
    from: obj.should
      to: expect(obj).to

* 325 conversions
    from: == expected
      to: eq(expected)

* 38 conversions
    from: obj.should_not
      to: expect(obj).not_to

* 15 conversions
    from: =~ /pattern/
      to: match(/pattern/)

* 9 conversions
    from: it { should ... }
      to: it { is_expected.to ... }

* 5 conversions
    from: lambda { }.should_not
      to: expect { }.not_to

* 4 conversions
    from: lambda { }.should
      to: expect { }.to

* 2 conversions
    from: -> { }.should
      to: expect { }.to

* 2 conversions
    from: -> { }.should_not
      to: expect { }.not_to

* 1 conversion
    from: === expected
      to: be === expected

* 1 conversion
    from: =~ [1, 2]
      to: match_array([1, 2])

For more details: https://github.com/yujinakayama/transpec#supported-conversions
2015-04-25 11:18:35 -04:00
Robin Ward 151b559e4c FIX: If you delete a user, delete their queued posts as well. 2015-04-24 16:04:44 -04:00
Robin Ward 3660fe4f60 FIX: When approving/rejecting a post it should delete the user action 2015-04-24 15:25:47 -04:00
Robin Ward 5b3f99aa50 Don't blow up if Redis switches to READONLY 2015-04-24 14:37:16 -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 f600ead587 FIX: Don't validate approved posts.
A moderator has already validated them. Otherwise we hit things like
rate limits.
2015-04-21 11:59:35 -04:00
Robin Ward 2cdd967188 Adds support for invisible approval queues, which we'll need for Akismet 2015-04-20 17:19:05 -04:00
Sam Saffron 296add56e6 correct letter avatar template 2015-04-20 13:07:12 +10:00
Sam 51b747346e PREF: speed up grabbing unread counts 2015-04-17 16:01:20 +10:00
Sam 832cb9fdc3 FIX: admin check missing from topic tracking state
FIX: handle muted categories correctly
2015-04-17 14:03:08 +10:00
Sam 4387e05162 PERF: speed up query 2015-04-16 17:29:37 +10:00
Sam a5b25ad2af FEATURE: scale up likes per day as users increase trust level
tl2 = 1.5 times the likes
tl3 = 2 times the likes
tl4 = 3 times the likes

configurable via tl[234]_additional_likes_per_day_multiplier site setting
2015-04-16 09:44:30 +10:00
Robin Ward d2ed64751e UX: Show category badge on enqueued posts 2015-04-15 15:29:37 -04:00
Robin Ward 9ffec28076 Allow posts in any queue to support topic/post attributes 2015-04-15 14:54:37 -04:00
Robin Ward 0c233e4e25 Interface is wired up for Approving/Rejecting posts 2015-04-15 14:54:37 -04:00
Robin Ward a5ee45ccbe `PostEnqueuer` object to handle validation of enqueued posts 2015-04-15 14:54:36 -04:00
Robin Ward 8ba6a45cd7 Post Queue model to enqueue creation of posts 2015-04-15 14:54:35 -04:00
Robin Ward eaf5d21c41 Don't store post timings that are greater than the account lifetime 2015-04-14 11:49:44 -04:00
Ed Gibbs 5650428052 FIX: Sort page views report records
Adding a sort ascending by date to the page views report.
2015-04-12 10:46:13 -07:00
Sam 75890aed26 FEATURE: allow admins to choose a group as a primary group
FEATURE: allow admins to set a default title for a group
2015-04-10 12:17:28 +10:00
Régis Hanol 0e1c4a0a44 Merge pull request #3313 from techAPJ/patch-1
FEATURE: invite existing user to a topic
2015-04-03 11:41:10 +02:00
Arpit Jalan 8c2d7dcaac FEATURE: invite existing user to a topic 2015-04-03 15:00:04 +05:30
Régis Hanol 682656fa6c FIX: only redirect to whitelisted hostnames 2015-04-01 22:59:25 +02:00
Régis Hanol 0f4a4651a9 FIX: youtube preview video title link doesn't work 2015-04-01 18:23:27 +02:00
Régis Hanol eec1921ba9 FIX: notifications inconsistencies + never notify system user 2015-04-01 11:55:59 +02:00
Sam 05737effef FIX: stop stripping dots from SSO names
This could upset Louis C.K.
2015-03-27 10:25:51 +11:00
Sam 0c287d7d6b ensure usernames do not keep cycling 2015-03-27 10:04:16 +11:00
Sam 4566a1e30a FIX: sso override code not triggered when attaching to existing user 2015-03-27 09:39:35 +11:00
Sam 5aa1272f05 clean up first day user definition and object model 2015-03-26 16:48:36 +11:00
Sam 9834d11503 Staff and TL2 up are immune to newuser checks and not considered new users 2015-03-26 16:04:46 +11:00
Sam cfa511e35d FIX: correctly mute likers
FEATURE: disallow all muting of staff
2015-03-26 12:08:04 +11:00
Arpit Jalan fb0e7dc0b2 FIX: do not delete already redeemed invite 2015-03-25 23:30:09 +05:30
Régis Hanol 90de61ee3d S3 deprecation warning 2015-03-25 18:34:07 +01:00
Arpit Jalan 4862a93804 FIX: delete duplicate invites 2015-03-25 22:43:41 +05:30
Sam 853c91d7d0 Merge pull request #3289 from fullfatthings/suppress_sso_welcome_emails
Add an sso option to suppress welcome emails
2015-03-23 10:36:58 +11:00
Robin Ward 3c0fee1786 Fixes broken spec 2015-03-20 13:24:03 -04:00
Dan Singerman e8648350eb Add an sso option to suppress welcome emails
As discussed here: https://meta.discourse.org/t/create-new-sso-users-without-sending-welcome-emails/24894
2015-03-20 17:04:52 +00:00
Régis Hanol 5084e2bdf1 Merge pull request #3284 from techAPJ/patch-1
FEATURE: new site setting min_first_post_length
2015-03-19 19:55:27 +01:00
Arpit Jalan b706307ac7 FEATURE: new site setting min_first_post_length 2015-03-20 00:20:38 +05:30
Robin Ward 3d2d224312 FEATURE: User Directory, with sorting and time period filter 2015-03-18 15:20:34 -04:00
Régis Hanol df7c38dd51 FIX: don't add an automated message when *a* moderator already replied (as opposed to *the* moderator) 2015-03-16 12:02:34 +01:00
Régis Hanol 3a40875e0b Merge pull request #3247 from jmay/group-manager-invites
group manager can issue invitations from restricted topics
2015-03-16 09:53:04 +01:00
Régis Hanol afd2417945 FEATURE: new 'auto_respond_to_flag_actions' site setting 2015-03-11 19:29:09 +01:00
Régis Hanol c8631a7a8b FIX: auto-message shouldn't generate notifications 2015-03-11 19:07:17 +01:00
Régis Hanol 6cd4330335 FIX: show all deleted posts 2015-03-11 18:07:47 +01:00
Neil Lalonde 608647d02f FEATURE: Anonymize User. A way to remove a user but keep their topics and posts. 2015-03-10 11:59:08 -04:00
Sam 79a17d5c22 FIX: discourse.conf not parsing out comments correctly 2015-03-09 13:14:29 +11:00
Robin Ward c4fa75918b FIX: If a category of a topic changed, watching/tracking didn't kick in 2015-03-04 13:39:50 -05:00
Jason W. May 0f36774246 group manager can invite members into the group from any restricted topic 2015-03-03 12:18:42 -08:00
Neil Lalonde 7c14db44cc UX: improve message when admin login is blocked because of admin ip address whitelisting 2015-03-02 12:13:22 -05:00
Sam 37fefc16de workaround, something about report spec is messed up 2015-03-02 12:29:56 +11:00
Sam 0742f340f9 FEATURE: allow for a localized error when a regex fails in site settings
FEATURE: apply string validation to list site settings (so we get regex)
2015-02-27 11:45:56 +11:00
Sam 3658c21fc5 REGRESSION: incorrect ordering when featuring topics 2015-02-25 14:24:25 +11:00
Robin Ward ca5730018a FIX: SSO code should respect IP address filters 2015-02-23 16:01:46 -05:00
Sam 6960639c58 Merge pull request #3190 from riking/thrown_logging
Delete old ErrorLog, use Logster for 500 errors
2015-02-23 14:19:16 +11:00
Régis Hanol e74b9ee5da FIX: should not count disagreed flags 2015-02-19 18:11:07 +01:00
Sam 709ab731c7 don't put missing notifications in the stream for tests. 2015-02-19 13:20:25 +11:00
Robin Ward 3ce2077aa8 Migrate unsubscribe keys to the database.
This should reduce a lot of the keys in redis.
2015-02-13 14:24:15 -05:00
Sam 276fd702e8 missed a send which caused code to break 2015-02-12 15:01:14 +11:00
riking 68ccd2d664 FEATURE: All 500 errors now show up in Logster
Added Discourse.handle_request_exception()
2015-02-09 12:48:33 -08:00
Régis Hanol e36272cb68 fix the build 2015-02-09 17:13:22 +01:00
Sam e8323fa534 FIX: removing a group from a user was not removing primary group 2015-02-09 16:03:09 +11:00
Sam 820ce8765e refactor traffic report
split traffic report in 2, page view vs raw traffic
hide raw traffic report by default
improve flushing logic for application reqs
2015-02-06 14:39:16 +11:00
Régis Hanol 2fcd199f48 FIX: send a PM to moderators when a post has been flagged as sockpuppet 2015-02-05 19:58:49 +01:00
Sam 08b790b3c2 improve metrics gathered using in our traffic section
this also pulls out the middleware into its own home and inserts in front
2015-02-05 16:08:52 +11:00
Sam eb7a5c251d freeze time in report spec so it has consistent results 2015-02-05 11:33:13 +11:00
Sam e105f0965c infrustructure for tracking application web requests 2015-02-04 16:15:16 +11:00
Dan Singerman 64c4bd5dbf Fix force_avatar_update.to_i error as force_avatar_update is a boolean
If force_avatar_update is passed in sso attributes it errors on
force_avatar_update.to_i. The SingleSignOn class forces avatar_force_update
to a boolean, so it should be treated as such.
2015-01-30 09:51:38 +00:00
Sam 8264dbd971 Merge pull request #3140 from fullfatthings/fix_missing_sso_avatar_bug
Fix bug when sso_overrides_avatar is true but no avatar_url is passed
2015-01-30 10:45:25 +11:00
Arpit Jalan 6c410ed093 FIX: strip whitespaces from user email 2015-01-30 01:44:24 +05:30
Robin Ward e42e9bd010 Merge pull request #3149 from techAPJ/patch-2
FIX: allow developer emails to bypass email blacklist/whitelist restrict...
2015-01-29 13:42:59 -05:00
Arpit Jalan 58f46137d6 FIX: allow developer emails to bypass email blacklist/whitelist restriction 2015-01-30 00:10:03 +05:30
Régis Hanol bdb0b45834 Merge pull request #3148 from techAPJ/patch-1
Do not allow TL0 users topics in email digest
2015-01-29 17:50:21 +01:00
Robin Ward 6e862e0e59 FIX: Should flush rate limit keys before testing it 2015-01-29 11:45:12 -05:00
Arpit Jalan 21e94859a9 Do not allow TL0 users topics in email digest 2015-01-29 21:10:26 +05:30
Régis Hanol cd2c9edb46 FIX: 🐛 upload on IE9 wasn't working :'(
- FIX: make sure we set a default name to a pasted image only on Chrome (the only browser that supports it)
- FIX: use ".json" extension to uploads endpoints since IE9 doesn't pass the correct header
- FIX: pass the CSRF token in a query parameter since IE9 doesn't pass it in the headers
- FIX: display error messages comming from the server when there is one over the default error message
- FIX: HACK around IE9 security issue when clicking a file input via JavaScript (use a label and set `visibility:hidden` on the input)
- FIX: hide the "cancel" upload on IE9 since it's not supported
- FIX: return "text/plain" content-type when uploading a file for IE9 in order to prevent it from displaying the save dialog
- FIX: check the maximum file size on the server 💥
- update jQuery File Upload Plugin to v. 5.42.2
- update JQuery IFram Transport Plugin to v. 1.8.5
- update jQuery UI Widget to v. 1.11.1
2015-01-28 19:43:20 +01:00
Dan Singerman dbf2f4efec Fix bug when sso_overrides_avatar is true but no avatar_url is passed
If a user has a current avatar, and sso_overrides_avatar is true, but no avatar_url is
passed in the sso attributes, the current code errors, as it tries to parse a nil
as a URL. It seems to me valid that a third party system may not pass an avatar_url in
some cases (e.g. avatars may not be mandatory, so not all users may have them)

This might warrant a discussion about what should happen in this case; maybe the current
avatar in discourse should be removed? This branch merely stops the login process erroring.
2015-01-28 16:01:39 +00:00
Jason W. May a2b284a0a4 table & model changes for group managers with permission to edit membership 2015-01-15 11:44:42 -08:00
Régis Hanol 256519dddf FEATURE: automatic group membership based on email address 2015-01-23 18:25:43 +01:00
Arpit Jalan 5e751ce90a FEATURE: 🎁 rate limit invites for non-staff users 2015-01-20 01:12:24 +05:30
Sam 0b14cfa2c3 skip failing spec, something is off with timezones 2015-01-09 12:03:08 +11:00
Sam 03388e11ab oops, migration was flipping 2015-01-08 15:26:15 +11:00
Sam 3347a48275 FEATURE: add liked and bookmarked classes to topic list item rows 2015-01-08 14:35:56 +11:00
Robin Ward 114cc1c851 FIX: We missed some references to `/category/xyz` in the ruby code base. 2015-01-07 11:47:01 -05:00
Sam efc717c14a FEATURE: remove star concept from Discourse 2015-01-07 13:43:27 +11:00
Luciano Sousa b52f12948a models with rspec3 syntax 2015-01-05 13:04:23 -03:00
Luciano Sousa b3d769ff4f Update rspec syntax to v3
update rspec syntax to v3

change syntax to rspec v3

oops. fix typo

mailers classes with rspec3 syntax

helpers with rspec3 syntax

jobs with rspec3 syntax

serializers with rspec3 syntax

views with rspec3 syntax

support to rspec3 syntax

category spec with rspec3 syntax
2015-01-05 11:59:30 -03:00
Régis Hanol 9fcaf090ec Merge pull request #3068 from fantasticfears/category_slug
support setting category slug
2015-01-02 11:55:27 +01:00
Erick Guan 97b3914b70 FIX: use utc time when generate reports; set boundary 2014-12-30 22:43:03 +08:00
Régis Hanol a04f44d65a Merge pull request #3065 from fantasticfears/fix-visits-report
FIX: today visits not shown
2014-12-29 21:23:47 +01:00
Erick Guan 1e166d89ff support setting category slug 2014-12-30 03:14:54 +08:00
Erick Guan fe7f2c6979 FIX: today visits not shown 2014-12-30 03:09:22 +08:00
Régis Hanol 7ca092da17 Merge pull request #3057 from jaanus/s3-frankfurt-bucket
Add eu-central-1 to list of S3 buckets.
2014-12-29 18:02:14 +01:00
jaanus f6026ad1d0 Added eu-central-1 S3 bucket. 2014-12-29 18:31:21 +02:00
Robin Ward 1055fc0919 Merge pull request #3021 from jmay/custom-category-slug
optional custom value for category slug (create and update)
2014-12-29 10:34:23 -05:00
Sam ef62933034 Ruby 2.2 fixes 2014-12-29 13:31:15 +11:00
Sam 5b844f5320 FEATURE: more than 1 site customization can be enabled at once
FIX: more robust site customizations

Rewrote site customization to use distributed cache and a much cleaner
css delivery mechanism
2014-12-23 13:03:48 +11:00
Robin Ward 768027f0e3 Merge pull request #3046 from gdpelican/feature/insensitive-group-names
Remove group name validation case sensitivity
2014-12-17 10:52:45 -05:00
James Kiesel 84bed4f9ce Remove group name validation case sensitivity 2014-12-17 18:44:30 +13:00
Régis Hanol 521226f4c9 FIX: registration fails with timeout on gravatar 2014-12-15 22:10:27 +01:00
Régis Hanol 1353557575 FIX: custom flags not possible on very long topic titles 2014-12-11 19:34:52 +01:00
Régis Hanol 86c4c947a3 FIX: drastically simplify auto-close topic logic
Get rid of this nonsensical maximum-flow algorithm :fired:
2014-12-06 16:29:54 +01:00
Régis Hanol cd170ca548 FEATURE: auto-close topics based on community flags 2014-12-05 19:37:43 +01:00
Jason W. May efa872e426 optional custom value for category slug (create and update) 2014-12-03 16:23:59 -08:00
Jeff Atwood ea269ccfb2 rename purge_inactive to purge_unactivated 2014-12-02 21:36:25 -08:00
Régis Hanol 10b5032188 FIX: auto-closing attribution when a TL4 user auto-closes a topic 2014-11-26 19:51:07 +01:00
Régis Hanol d7ef4f1edd remove useless 'puts' 2014-11-26 16:40:03 +01:00
Sam c10e3df012 FEATURE: implement SSO provider on Discourse so Auth can be farmed to it
FEATURE: pass return_sso_url to SSO endpoints, for easier return
2014-11-26 17:26:27 +11:00
Robin Ward 4c9f55d1e1 FIX: Suspended users should have links stripped from their profiles. 2014-11-25 16:14:39 -05:00
riking 728e8a262c FIX: Admin panel referral stats not counting topics correctly
Due to what seems to be a bug in ActiveRecord, the distinct: true option
is not recognized on counts with string column names. This commit fixes
that by moving the DISTINCT into the count string.

For robustness, the integration spec for IncomingLinksReport was
rewritten to be an actual integration spec, running the actual interface
on actual fake data.
2014-11-24 12:16:52 -08:00
Robin Ward dd1ebb535b FIX: Could not download exported data on some sites 2014-11-20 14:02:10 -05:00
Robin Ward 5f4e4de02a FIX: Make `user_id` uniqueness check pending. It still seems to check
but the test fails. cc @SamSaffron
2014-11-20 13:42:37 -05:00
Sam 8240a00829 correct spec 2014-11-14 18:10:52 +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 5fd0841563 correct broken spec 2014-11-12 10:27:34 +11:00
Sam a2ba9a735e Merge pull request #2943 from fantasticfears/slug
Add stringex for Chinese slug generation
2014-11-12 08:57:59 +11:00
Erick Guan 667758ff40 Add stringex for Chinese slug generation 2014-11-11 21:12:07 +08:00
Sam 4e85fc9dae PERF: cache all site_text in memory 2014-11-11 16:28:59 +11:00
David McClure efc4109902 update specs to remove deprecation warnings 2014-11-07 06:05:44 -08:00
Robin Ward 068d22e9b3 Add API support for querying admin reports by date range 2014-11-05 13:11:37 -05:00
Régis Hanol bdb78ce76a FEATURE: consider SVG as an image when authorized 2014-11-03 19:54:10 +01:00
Régis Hanol fd5677808c SPEC: make sure digest doesn't pick any topics in categories that are muted 2014-11-03 16:57:50 +01:00
Jason W. May bdc7947cd6 rspec expect...to deprecations 2014-10-31 10:44:26 -07: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
Régis Hanol 7e94f9d6f9 FIX: insert different message when auto-closing a topic based on the last post 2014-10-29 21:26:32 +01:00
Régis Hanol ada750b384 fixed some more deprecations. 20 to go 2014-10-29 16:06:50 +01: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
Sam e20e6b4524 PERF: stop using jQuery to sanitize strings 2014-10-22 15:48:18 +11:00
Robin Ward f3a67a48a3 Merge pull request #2874 from cpradio/clear-notifications
FEATURE: Mark All as Read button for Notifications page
2014-10-16 15:57:19 -04:00
Michael Verdi 1f95cfedc3 [patch] When a post is split out to be a new topic
the topic's last_post_user_id is set to the user who split out
the post.  But, this should really be the user_id of the last post
of the split out posts.
2014-10-16 12:38:26 -07:00
cpradio 8f390c979b FEATURE: Mark All as Read button for Notifications page
Added a Mark All as Read button to the top/bottom of the notifications user page
https://meta.discourse.org/t/possibility-to-selectively-or-completely-mark-notifications-as-read/20227

Remove notifications property (no longer used)
2014-10-13 06:31:27 -04:00
Robin Ward 366d7e892c Merge pull request #2867 from techAPJ/patch-1
FEATURE: send `set password` instructions after invite redemption
2014-10-14 11:01:07 -04:00
David McClure 19d5362c6b FEATURE: ability to hide or show specific post revisions 2014-10-14 07:19:45 -07:00
Arpit Jalan 861f321263 FEATURE: send set password instructions after invite redemption 2014-10-11 14:13:05 +05:30
Régis Hanol 5754e8dd0f FEATURE: auto-close topics based on last post 2014-10-10 18:21:44 +02:00
Arpit Jalan 430967c354 FIX: invite email should be verified against email_domains_blacklist 2014-10-09 20:21:01 +05:30
Neil Lalonde a30e70e8f1 FEATURE: trust level 3: likes received must be on min_likes_received/3 different days, and be from min_likes_received/4 different users 2014-10-07 15:52:54 -04:00
Sam 836bc0f935 FIX: incorrect edit notification in user stream
FIX: missing edit notifications when post edited by multiple users
2014-10-07 15:57:48 +11:00
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
riking e665bfd72a Fix test failure 2014-09-30 13:16:34 +10:00
Régis Hanol de76b512c1 fix most deprecations in the specs (still some left) 2014-09-25 17:44:48 +02:00
Sam c248d28c38 FEATURE: display associated accounts in admin user 2014-09-25 16:15:01 +10:00
Sam ffa11bd1d6 remove cruft 2014-09-25 09:50:43 +10:00
Robin Ward bc53d48bd7 Renaming site contents to site text 2014-09-24 16:08:14 -04:00
Neil Lalonde d96acdeafa FEATURE: screened IP address range can be entered like 192.* instead of 192.*.*.* 2014-09-24 12:05:29 -04:00
Régis Hanol 0b13f6572f FEATURE: staff option to unhide a post 2014-09-22 18:55:13 +02:00
Jeff Atwood 5646ebf4c7 fix tests expecting "name said:" to "name:" 2014-09-18 20:39:27 -07:00
Jonathan Richard Henry Evans (JRHE) 38202d5037 Adds govcloud region to s3 region list 2014-09-15 19:34:12 +01:00
riking 2c6d03f87f SECURITY: Limit passwords to 200 characters
Prevents layer 8 attack.
2014-09-12 12:07:11 -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
Régis Hanol 18f8038015 FEATURE: add new 'convert to staff message' in post wrench menu 2014-09-10 23:08:33 +02:00
Régis Hanol 598a3f3e10 FIX: 'disable_edit_notifications' will only disable revisions made by the system user 2014-09-09 18:56:04 +02:00