Commit Graph

2808 Commits

Author SHA1 Message Date
Régis Hanol 378b7f964c Revert "FEATURE (WIP): add max-width and center email notifications" 2016-01-29 11:13:59 +01:00
Arpit Jalan 106e3c897f FIX: TL3 users should not be able to edit title of archived topics 2016-01-29 01:16:41 +05:30
Régis Hanol 3390fa56d0 improve the specs to check we properly update 'user.last_emailed_at' 2016-01-28 19:31:17 +01:00
Régis Hanol d51019ee53 FIX: *always* create an EmailLog whenever we run the UserEmail job
There were actually 2 bugs:

1/ Calling '.try(:key)' on a hash doesn't work. So EmailLogs were never associated to a user.

2/ Turns out that we update the 'user.last_emailed_at' whenever we create an EmailLog (in the 'after_create' callback).
So we need to always create an EmailLog (whenever the email is sent or skipped).
2016-01-28 19:01:35 +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
Régis Hanol 9832bb4103 Merge pull request #3969 from scossar/email-layout
FEATURE (WIP): add max-width and center email notifications
2016-01-28 10:34:43 +01:00
scossar 77167f12ad move styles to Styles 2016-01-27 19:07:21 -08:00
scossar 017820e445 check for template 2016-01-27 18:39:20 -08:00
Sam Saffron b25e505fb7 SECURITY: user summary could show topic links you have no permissions to 2016-01-28 11:12:12 +11:00
scossar 8d10130c10 test format_notifications 2016-01-27 15:44:49 -08:00
scossar 3f09ec2aca add layout for notifications 2016-01-27 11:27:32 -08:00
Sam b75353c26f correct specs 2016-01-27 23:40:45 +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
Guo Xiang Tan 0916007d01 Fix the build. 2016-01-27 16:04:11 +08: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
Sam d0ee32f3ce FIX: correct counts on user summary 2016-01-24 16:39:01 +11:00
Arpit Jalan 0064927077 FIX: do not allow new email to be duplicate
FIX: return proper error message when email already exists
2016-01-23 13:42:53 +05:30
Neil Lalonde 685ba1eb7f FEATURE: blocked users can send and reply to private messages from staff 2016-01-22 12:54:24 -05:00
Arpit Jalan 590adb5899 Merge pull request #3968 from techAPJ/top-topics
FEATURE: make top criteria formula multipliers controlled by site setting
2016-01-21 14:02:26 +05:30
Arpit Jalan 1cee914565 FEATURE: make top criteria formula multipliers controlled by site
setting
2016-01-21 10:30:06 +05:30
Régis Hanol 4a17cdc1e4 FIX: don't invite users with emails configured as 'incoming' (reply, group our category) 2016-01-20 23:08:27 +01:00
Régis Hanol f145310cd5 FIX: associates email replies using both 'In-Reply-To' and 'References' headers 2016-01-20 22:52:08 +01:00
Régis Hanol 74b5d063f9 FIX: enabling suppress_from_homepage should only remove the category from the homepage 2016-01-20 17:55:58 +01:00
Régis Hanol c88093eecb Merge pull request #3920 from tgxworld/fix_onebox_emoji
FIX: Emoji in Discourse onebox is wrapped in square brackets.
2016-01-20 15:38:12 +01:00
Régis Hanol c2c01cdb5d FIX: username suggester to account for the more relaxed username rules (closes #3907) 2016-01-20 15:37:34 +01:00
Régis Hanol f61537bc16 Merge pull request #3952 from gdpelican/unsubscribe-via-email
Unsubscribe via email
2016-01-20 14:38:14 +01:00
James Kiesel c7283751a3 Unsubscribe via email 2016-01-20 22:25:25 +13:00
Sam Saffron 7303f8f309 FEATURE: first pass at user summary page 2016-01-20 15:14:25 +11:00
Régis Hanol 735017dd9f FIX: don't invite users with the same email as 'reply_be_email_address' 2016-01-19 15:24:34 +01: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
Guo Xiang Tan 0812807a53 FIX: Use declared constant. 2016-01-19 10:58:15 +08: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
Régis Hanol 3083657358 FEATURE: better email in support
FEATURE: new incoming_email model
FEATURE: infinite scrolling in emails admin
FEATURE: new 'emails:import' rake task
2016-01-19 00:57:55 +01:00
Arpit Jalan cf1bd35fc6 FIX: while changing site text, old and new values can be nil 2016-01-18 20:56:14 +05:30
keepcosmos c53b4ae66d add s3 region 2016-01-18 22:50:15 +09:00
Sam ca3e2b4da3 FEATURE: you can not drill down and see why you have badges
Clicking on badges filters down the list to a particular user.
2016-01-18 17:59:20 +11:00
Guo Xiang Tan a055c37939 Merge pull request #3956 from tgxworld/fix_clashing_slug
FIX: Clashing category slug.
2016-01-18 10:15:13 +08:00
Arpit Jalan 380764dc92 FIX: validate email when changing via user preferences page 2016-01-16 10:50:49 +05:30
Guo Xiang Tan a362ad9407 FIX: Emoji in Discourse onebox is wrapped in square brackets. 2016-01-13 19:00:11 +08:00
Régis Hanol 737c606710 FIX: 'cancel_scheduled_job' wasn't working due to sidekiq upgrade 2016-01-13 09:08:26 +01:00
Guo Xiang Tan c60e360c90 FIX: Clashing category slug. 2016-01-13 15:32:29 +08:00
Arpit Jalan e676974f16 Merge pull request #3953 from techAPJ/wiki
FEATURE: allow users to wikify their own posts based on trust level
2016-01-13 09:53:33 +05:30
Régis Hanol 8049dfdfda CLEANUP: remove 'contains_messages' leftover 💩 2016-01-12 11:29:26 +01:00
Régis Hanol 96aa5b865f FIX: mentions regex server-side (ie. don't count email addresses) 2016-01-12 09:53:09 +01:00
Arpit Jalan 06bac23e5f FEATURE: allow users to wikify their own posts based on trust level 2016-01-12 08:44:25 +05:30
Sam 4ec409f705 FEATURE: don't add admins to topic allowed users if already in group 2016-01-12 13:57:45 +11:00
Sam a2b72cc767 correct specs 2016-01-12 13:56:58 +11: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
Régis Hanol cf4cb2126a FIX: word_count wasn't working with non-latin sentences 2016-01-11 11:16:23 +01:00
Sam 6fabb341f1 FEATURE: automatically archive welcome messages for site_contact_user
This de-clutters the sent messages box for site_contact_user, making it again usable
2016-01-10 16:46:11 +11:00
Arpit Jalan 97e4f7f6d3 Enums that are used in tables need to be stable 2016-01-08 20:43:11 +05:30
Régis Hanol dcd0270d52 FIX: don't use the CDN for attachments when login is required 2016-01-06 21:54:01 +01:00
Neil Lalonde c7df6783a9 FIX: only invalidate password reset links using javascript 2016-01-04 11:48:54 -05:00
Guo Xiang Tan c1dbf5c1c4 FEATURE: Autolinking to category using hashtags. 2016-01-05 00:12:24 +08:00
Sam Saffron a22abda594 Use 4.0 api for job fakes (as opposed to master) 2016-01-01 15:48:49 +11:00
Sam Saffron 426299d261 FEATURE: upgrade to Sidekiq 4 2016-01-01 15:40:31 +11:00
Guo Xiang Tan 556cd1e3f8 FIX: Do not override existing translations. 2015-12-31 23:20:19 +08:00
Sam cba76db53b FIX: if people link own post, watchers not notified 2015-12-31 10:51:58 +11:00
Robin Ward f0694d491a Merge pull request #3943 from gdpelican/plus-one-via-email
Allow +1 via email
2015-12-30 15:55:55 -05:00
James Kiesel b94c53c71c cleanup post action creator 2015-12-30 20:54:51 +01:00
James Kiesel 6ceb108946 Add specs for post action guardian 2015-12-30 20:52:36 +01:00
Robin Ward 74780c1688 Add more server side unicode replacements for emoji 2015-12-30 14:46:52 -05:00
James Kiesel 86da47880a Allow +1 via email 2015-12-30 12:17:45 +01: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
Robin Ward c064dc1322 FEATURE: Perform a server side replacement of unicode emoji 2015-12-29 16:28:27 -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
Guo Xiang Tan e89f29cca7 FIX: Pluralization error when overriding translations. 2015-12-29 10:31:23 +08:00
Arpit Jalan 3a28bafc0f FEATURE: onebox internal audio or video files 2015-12-25 01:52:14 +05:30
Robin Ward d1ebb9d0b5 FIX: I18n Fallbacks were not applying correctly 2015-12-23 12:09:18 -05:00
Sam 03ea0bfe22 FEATURE: allow users to archive messages
Messages are now in 3 buckets

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

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

Similar concept applied to group messages, except that archiving and unarchiving
will apply to all group members
2015-12-23 11:09:30 +11:00
Jeff Atwood e03861da7e change all emoji image tests to use ?v=1 2015-12-22 14:36:21 -08:00
Arpit Jalan f40249faad FEATURE: make trust level 3 time period admin setting 2015-12-22 23:26:19 +05:30
Régis Hanol 3e923c7a41 FIX: ensure inactive users can't email in 2015-12-21 17:54:02 +01:00
Régis Hanol a9099f9e23 SECURITY: ensure we never accept fake images 2015-12-21 16:08:14 +01:00
Sam d20f6e0cb0 fix test and comment out js test for now 2015-12-20 17:34:15 +11:00
Arpit Jalan 4c967d11b4 FEATURE: log site text changes 2015-12-18 19:42:06 +05:30
Guo Xiang Tan cca0896b9e FIX: Update all does not trigger callbacks. 2015-12-17 00:07:04 +08:00
Sam 878ae7628f correct spec 2015-12-16 13:48:49 +11:00
Régis Hanol 51b2279af0 fix the build 2015-12-16 01:31:19 +01:00
Régis Hanol 4bb31daa2e FIX: when getting a reply by email, ensure it's by the same user 2015-12-16 00:43:05 +01:00
Sam Saffron f97a754b30 Revert "Try adding an ALT tag for avatars" 2015-12-15 19:57:54 +11:00
Sam Saffron b7f6df7d0c fix specs and tests 2015-12-15 18:18:20 +11:00
Régis Hanol 15c229195f FEATURE: notification_level on a per-group basis 2015-12-14 23:17:09 +01:00
Arpit Jalan e65a7370ef FIX: disable avatar education message when 'allow_uploaded_avatars' is
disabled
FEATURE: setting to disable avatar education message
2015-12-14 22:47:35 +05:30
Régis Hanol 02279c41cb Merge pull request #3918 from techAPJ/better-email-parsing
FEATURE: better email reply parsing
2015-12-11 14:51:24 +01:00
Arpit Jalan 1f003e3472 fix inline reply test case 2015-12-11 14:48:42 +05:30
Régis Hanol 323e3cee22 when creating a staged account, use the display name provided in the email 2015-12-10 23:52:20 +01:00
Régis Hanol 93d1cc6294 add support for incoming emails in CC/BCC fields 2015-12-10 23:49:16 +01:00
Arpit Jalan 7a8e5a50ff FEATURE: better email reply parsing 2015-12-09 23:47:01 +05:30
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 1cde276656 FEATURE: ability to send emails to a group 2015-12-07 17:01:08 +01:00
Régis Hanol 578f606a1a add 'incoming_email' to groups 2015-12-07 12:39:28 +01:00
Guo Xiang Tan 68bfecef8f FIX: Broken categories controller specs. 2015-12-07 00:09:02 +08:00
Guo Xiang Tan 8b6b3cf858 FIX: Admin logging should not log permissions if none has been set. 2015-12-06 15:29:13 +08:00
Sam 9899e8d4a5 FEATURE: First class messages to groups, you can select a group as a target of a message 2015-12-02 15:49:43 +11: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
Régis Hanol 5b9594277a skip most post validations for staged accounts 2015-12-01 10:40:23 +01:00
Sam 46d2e17194 Remove mock that was breaking tests 2015-12-01 17:04:16 +11:00
Sam d1a5d8ea62 FEATURE: show group mentions and topics in groups page 2015-12-01 16:52:43 +11:00
Régis Hanol 7c694139ec trust staged accounts when validating posts 2015-11-30 19:08:35 +01: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
Neil Lalonde 84342ecdef FIX: anonymized user's preferences should have system assigned avatar chosen 2015-11-27 14:37:30 -05:00
Régis Hanol 540933dce3 don't notify users about sequential replies in messages 2015-11-27 19:29:44 +01:00
Régis Hanol 914b854d92 send invite & message notification emails immediately 2015-11-27 19:09:35 +01:00
Régis Hanol 76692235ae FIX: don't ever fetch staged accounts in unseen mentions 2015-11-27 18:16:50 +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 f74a6457ee FEATURE: allow CJK to be tokenized in non CJK sites.
Meaning a mixed English/Chinese site can still have a functioning search.
2015-11-27 16:35:27 +11:00
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 ba0df7e4cd rename 'is_support' to 'contains_messages' 2015-11-26 18:40:54 +01:00
Régis Hanol e8a6ff4808 prevent users from ever changing the category of a topic in a support category 2015-11-26 18:31:24 +01:00
Régis Hanol 0d54c18c8b new hidden 'allow_staged_accounts' setting 2015-11-26 18:31:23 +01:00
Neil Lalonde f4d44187c8 FIX: site_contact_user should default to system user, not first admin user 2015-11-24 14:37:41 -05:00
Robin Ward d65ec1af2e Rename `ninja_edit_window` to `editing_grace_period` :'( 2015-11-24 14:28:42 -05:00
Robin Ward 1506eba28d Support for overriding client side translation keys 2015-11-20 17:14:01 -05:00
Neil Lalonde 523138f1fd FEATURE: add setting pending_users_reminder_delay to configure when to send reminders to moderators about user approvals based on how long new users have been waiting 2015-11-20 16:06:07 -05:00
Neil Lalonde 5597957cc6 FIX: don't send repeat notifications to moderators about the same pending approval users 2015-11-20 16:06:07 -05:00
Robin Ward e168c5fde3 PERF: Much more performant, multisite aware I18n overrides 2015-11-19 16:36:59 -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 31a54377be staged users automatically watches all topics they participates in 2015-11-18 22:24:46 +01:00
Robin Ward 2196160549 FIX: Allow emails to begin with a quote (but skip it!) 2015-11-18 15:23:10 -05:00
Régis Hanol 85580cd243 fix user_search spec 2015-11-18 21:08:50 +01:00
Régis Hanol 8ba5397f0d can't find staged users with search 2015-11-18 21:06:59 +01:00
Régis Hanol ff10eb32a6 don't return staged users in mentions 2015-11-18 20:57:49 +01:00
Jeff Wong cf86f27415 FEATURE: New setting to allow all caps posts
Adds a setting to ignore text_sentinel's check on all caps content.
2015-11-18 09:50:50 -08:00
Robin Ward bb76c389fd Merge pull request #3817 from gschlager/locale-pluralization
FIX: Pluralizations in English locale files
2015-11-17 12:35:24 -05:00
Régis Hanol 92ba6125c4 FEATURE: new 'automatically_unpin_topics' user preference 2015-11-17 18:21:40 +01:00
Robin Ward 060ce9bf2a FEATURE: Overwrite server side I18n keys with API 2015-11-13 16:35:02 -05:00
Robin Ward 3720783c1b Refactor to our own Discourse I18n backend
This removes some monkey patches and makes testing easier.
It will also support database backed I18n changes.
2015-11-13 16:35:02 -05:00
Gerhard Schlager 5f9b7c67cd Add tests to ensure correct pluralization 2015-11-13 21:18:41 +01:00
Régis Hanol 43614439e6 FEATURE: can take over a staged account 2015-11-13 19:07:28 +01:00
Robin Ward 3939331dec FIX: Staff was getting 500 when editing post in deleted topic 2015-11-13 11:35:23 -05:00
Régis Hanol 16f509afb9 FIX: enforce 'allow_uploaded_avatars' & 'sso_overrides_avatar' server-side 2015-11-12 10:26:45 +01:00
Régis Hanol 7d3be0f8f1 forgot password on a staged account does nothing 2015-11-09 17:37:33 +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
Robin Ward e2a663bff1 Merge pull request #3812 from gwwar/emoji-embed
FIX: allow emoji class when crawling embedded content
2015-11-06 14:52:59 -05:00
Robin Ward b699d43b1b Okay disable uploads for now, looks like a PhantomJS bug 2015-11-06 14:21:52 -05:00
Robin Ward 7baed4eb51 Updated smoke test to try in build server 2015-11-06 14:09:16 -05:00
Régis Hanol acecfeb37f Add 'staged' boolean to User 2015-11-06 19:19:13 +01:00
Robin Ward 47495a5713 FEATURE: Replace composer editor with ember version 2015-11-06 09:49:16 -05: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
Robin Ward d00762dcd5 Merge pull request #3787 from gschlager/locale-keys
FIX: Some strings in locale files were not translatable
2015-11-02 13:40:22 -05:00
Régis Hanol ff0c12efa2 Merge pull request #3878 from gdpelican/optimize-all-allowed-users
Optimize all_allowed_users query
2015-11-02 17:06:36 +01:00