Sam Saffron
0a5a6dfded
DEV: stop mutating inputs as a side effect
...
We had quite a few cases in core where inputs are being mutated as a side
effect of calling a method.
This handles all the cases where specs caught this.
Mutating inputs makes code harder to reason about. Eg:
```
frog = "frog"
jump(frog)
puts frog
"fly" # ?????
```
This commit is part of a followup commit that adds # frozen_string_literal
to all our specs.
2019-04-30 10:25:53 +10:00
Sam Saffron
45285f1477
DEV: remove update_attributes which is deprecated in Rails 6
...
See: https://github.com/rails/rails/pull/31998
update_attributes is a relic of the past, it should no longer be used.
2019-04-29 17:32:25 +10:00
Arpit Jalan
bd1db1860a
FIX: prefer data-original-href attribute to get iframe URL
2019-04-24 13:53:27 +05:30
Dan Ungureanu
35a866fe22
FIX: Do not strip email lines having lists.
2019-04-16 11:39:35 +03:00
Dan Ungureanu
e92cd5318b
FEATURE: Add setting to strip whitespaces from incoming emails. ( #7375 )
...
Some email clients add leading whitespaces which get are transformed in
code blocks when processed.
2019-04-15 16:26:00 +10:00
Guo Xiang Tan
bac1bcc79f
PERF: Add `index_reply_id_on_post_replies`.
...
Speeds up the reference posts query in `Email::Sender#send`.
2019-04-10 13:58:29 +08:00
David Taylor
6a05f190c6
PERF: Do not create staged users for most rejected incoming emails ( #7301 )
...
Previously we would create users, then destroy them at the end of the job if the post was rejected. Now we do not create users unless required.
2019-04-08 10:36:39 +01:00
Robin Ward
b58867b6e9
FEATURE: New 'Reviewable' model to make reviewable items generic
...
Includes support for flags, reviewable users and queued posts, with REST API
backwards compatibility.
Co-Authored-By: romanrizzi <romanalejandro@gmail.com>
Co-Authored-By: jjaffeux <j.jaffeux@gmail.com>
2019-03-28 12:45:10 -04:00
Gerhard Schlager
4f04ae5692
FIX: Failed to show details about some bounced emails
...
Bounces sent to reply_by_email_address could not be found.
2019-03-26 18:00:27 +01:00
David Taylor
a9d5ffbe3d
FIX: Prevent critical emails bypassing disable, and improve email test logic
...
- The test_email job is removed, because it was always being run synchronously (not in sidekiq)
- 34b29f62
added a bypass for critical emails, to match the spec. This removes the bypass, and removes the spec.
- This adapts the specs for 72ffabf6
, so that they check for emails being sent
- This reimplements c2797921
, allowing test emails to be sent even when emails are disabled
2019-03-22 17:28:43 +08:00
David Taylor
3f9e7eb326
FIX: Respect the disable_emails=non-staff site setting correctly
...
This reverts commit c279792130
.
This commit inadvertently removed all of the non-staff email logic, rather than just for the 'test email' button.
https://meta.discourse.org/t/112231/5
2019-03-21 21:44:14 +00:00
Penar Musaraj
9334d2f4f7
FEATURE: add more granular user option levels for email notifications ( #7143 )
...
Migrates email user options to a new data structure, where `email_always`, `email_direct` and `email_private_messages` are replace by
* `email_messages_level`, with options: `always`, `only_when_away` and `never` (defaults to `always`)
* `email_level`, with options: `always`, `only_when_away` and `never` (defaults to `only_when_away`)
2019-03-15 10:55:11 -04:00
David Taylor
420c6f8102
FEATURE: Skip sending emails to domains on the `.invalid` TLD ( #7162 )
...
This is a reserved TLD which we use when importing users without an email address. https://tools.ietf.org/html/rfc2606
2019-03-13 16:17:59 +00:00
Guo Xiang Tan
34b29f62db
DEV: Remove the use of stubs and mocks in `Jobs::UserEmail` tests.
...
We can only be sure that an email is sent when we get a mailer in
`ActionMailer::Deliveries`. A couple of tests were actually incorrect
because it didn't flow through our email sender where there are more
conditions in determining whether an email is sent or not.
2019-03-12 09:39:16 +08:00
Sam
b2187301fd
FEATURE: allow users to easily track/watch/mute topics via email
...
If you reply to an email with the word "mute" a topic will be muted
If you reply to an email with the word "track" a topic will be tracked
If you reply to an email with the word "watch" a topic will be watched
These ninja command can help advanced mailing list ex-users, saves a trip
to the website
2019-03-06 18:38:49 +11:00
Arpit Jalan
1b2bd36061
UX: limit onebox thumbnail image size in emails
2019-03-05 23:07:44 +05:30
Régis Hanol
51fdf7a11d
FIX: don't duplicate attachments
2019-01-28 18:40:52 +01:00
Régis Hanol
db76e5a368
FIX: properly handle attachments in received emails
...
This regressed in 1ac3e547
when we added support for eml attachments.
2019-01-25 19:13:34 +01:00
Gerhard Schlager
197e3fd722
FIX: Keep original subject in emails to staged users
...
Renaming a topic shouldn't be visibile to staged users when the topic was created via email.
2019-01-18 11:07:54 +01:00
Gerhard Schlager
c0a8bb9a91
FEATURE: Include "via <site_name>" in email From header
2019-01-04 17:06:19 +01:00
Rishabh
c279792130
FIX: Allow sending test e-mails to any email address when disable_email is set to non-staff ( #6792 )
2018-12-18 16:12:05 +01:00
Vinoth Kannan
fc0b7c9e26
FIX: incoming email matches the wrong user if null bounce key available in db
2018-11-30 12:29:51 +05:30
Vinoth Kannan
bfb3c4d9f9
DEV: create bounce alert earlier if email_log detected from bounce_key
2018-11-28 21:13:06 +05:30
Vinoth Kannan
25253dec56
FIX: Get email address from email_log if bounced with verp
...
We can not access mail.final_recipient attr if it bounced with verp
2018-11-28 19:04:09 +05:30
Vinoth Kannan
7dbf709467
FIX: create whisper post in PMs when bounces with verp and user is staged
2018-11-28 08:24:23 +05:30
Vinoth Kannan
cedd2118c4
FEATURE: If PM email bounced for staged user then alert in whisper reply ( #6648 )
2018-11-27 00:29:37 +05:30
Régis Hanol
6b51d84dc5
FIX: Don't enqueue topics if the user can't create them
...
Co-authored-by: Vinoth Kannan <vinothkannan@vinkas.com>
2018-11-09 18:24:28 +01:00
Maja Komel
1ac3e5473a
FIX: don't strip eml attachments from received emails
2018-11-05 09:35:22 +01:00
Gerhard Schlager
341836eb42
Fix the rake task and importer instead
2018-10-17 16:48:09 +02:00
Gerhard Schlager
ee18d9ace0
FIX: mbox importer and rake task were broken
2018-10-17 16:34:18 +02:00
Penar Musaraj
b06dccac49
FIX: force enable a user's email_private_messages option when user replies via email ( #6478 )
...
* Enable user email PM when posting to group or replying to topic via email
* remove extra line
* Add test and fix snake_case
* Only reenable email_private_messages for PM replies
2018-10-16 10:51:57 +11:00
Gerhard Schlager
7a41a783a4
FIX: Don't reply to Unsubscribe email sent to mailing list mirror
2018-10-11 16:09:22 +02:00
Guo Xiang Tan
c92bda95e1
Fix the build.
2018-10-11 10:45:01 +08:00
Guo Xiang Tan
5039a6c3f1
FIX: Strip null bytes in mail subjects.
2018-10-11 09:46:32 +08:00
Kyle Zhao
9bbc1ae7b2
FIX: raise if staged user creation failed ( #6461 )
2018-10-08 15:45:23 +08:00
Maja Komel
361ad7ed2b
FEATURE: add indication if incoming email attachment was rejected and inform sender about it ( #6376 )
...
* FEATURE: add indication if incoming email attachment was rejected and inform sender about it
* include errors for rejected attachments in email
* don't send warning email to staged users
* use user object instead of user_id in add_attachments method
2018-10-04 22:08:28 +08:00
Penar Musaraj
da9eee5262
FIX: Force enable user PM emails option when user posts to a group by email.
2018-10-02 12:38:10 +08:00
Guo Xiang Tan
e1b16e445e
Rename `FileHelper.is_image?` -> `FileHelper.is_supported_image?`.
2018-09-12 09:22:28 +08:00
Guo Xiang Tan
8dc1463ab3
Enable `Lint/ShadowingOuterLocalVariable` for Rubocop.
2018-09-04 10:16:42 +08:00
Gerhard Schlager
eeedc3901e
FIX: Replying to deleted post via email should create new reply to topic
2018-09-03 23:06:40 +02:00
Guo Xiang Tan
36a7028f19
FEATURE: Clean up `PostReplyKey` records.
...
* Default retention of 90 days.
2018-08-23 10:40:02 +08:00
Régis Hanol
f01169d6ff
FIX: don't send email when the post was deleted
2018-08-22 13:13:58 +02:00
Guo Xiang Tan
791ddb8630
PERF: Memoize `EmailReceiver#sent_to_mailinglist_mirror?`.
2018-08-21 15:44:47 +08:00
Guo Xiang Tan
7dcc69aef4
DEV: Refactor test to not call private method.
2018-08-21 14:29:58 +08:00
Sam
ca5a6f0a9d
FIX: handle concurrently creating post reply keys
...
In some very rare conditions this would be called concurrently and fail
2018-08-21 10:59:18 +10:00
Régis Hanol
de92913bf4
FIX: store the topic links using the cooked upload url
2018-08-14 12:23:32 +02:00
Régis Hanol
ac2513b0f2
FEATURE: automatic PM when a user's email is revoked
2018-08-03 16:39:22 +02:00
OsamaSayegh
a157dfd418
UX: better rejection message when reply via email is too short
2018-08-02 22:43:53 +03:00
Guo Xiang Tan
fad9c2b971
PERF: Move `EmailLog#reply_key` into new `post_reply_keys` table.
2018-07-24 13:51:53 +08:00
Guo Xiang Tan
ae8b0a517f
PERF: Split skipped email logs into a seperate table.
2018-07-24 13:14:37 +08:00