Commit Graph

312 Commits

Author SHA1 Message Date
Régis Hanol
d224966a0e FIX: retry sending an email in 1 hour when SMTP server is busy 2016-05-09 20:37:33 +02:00
Régis Hanol
1e57bbf5c8 Lots bounce emails related fixes
- Show bounce score on user admin page
- Added reset bounce score button on user admin page
- Only whitelisted email types are sent to emails with high bounce score
- FIX: properly detect bounces even when there is no TO: header in the email
- Don't desactivate a user when reaching the bounce threshold
2016-05-06 19:34:33 +02:00
Arpit Jalan
9427e0c732 FIX: bootstrap mode should not amend setting that is not in default state 2016-05-04 16:46:46 +05:30
Régis Hanol
8e611ec7a1 FEATURE: handle bounced emails 2016-05-02 23:15:32 +02:00
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
Arpit Jalan
e7d1fa8120 Merge pull request #4186 from shaktikatare1989/suspention-details-in-log
Fix: Suspensions and Blocks do not give enough details in logs
2016-04-21 09:00:36 +05:30
shakti katare
cd4c34204d Fix: Suspensions and Blocks do not give enough details in logs 2016-04-20 10:45:19 +05:30
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
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
Sam
8ec7fd84fd FEATURE: prioritize sidekiq jobs
This commit introduces 3 queues for sidekiq

"critical" for urgent jobs (weighted at 4x weight)
"default" for standard jobs(weighted at 2x weight)
"low" for less important jobs


"critical jobs"

Reset Password emails has been seperated to its own job
Heartbeat which is required to keep sidekiq running
Test email which needs to return real quick


"low priority jobs"

Notify mailing list
Pull hotlinked images
Update gravatar

"default"

All the rest

Note: for people running sidekiq from command line use

bin/sidekiq -q critical,4 -q default,2 -q low
2016-04-07 12:56:43 +10:00
Régis Hanol
79639e2dec FIX: ensure group's users counters are kept in sync 2016-04-04 17:03:18 +02:00
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
a202ec2028 don't run mailing list if mailing list mode is disabled 2016-03-22 14:50:35 +11:00
Robin Ward
5771d2aee2 SECURITY: Support for confirm old as well as new email accounts 2016-03-08 14:52:22 -05:00
Arpit Jalan
05288144b5 FIX: export user list based on trust level filter 2016-03-07 18:49:31 +05:30
Guo Xiang Tan
f89e9024ba FIX: Topic and Post may be nil. 2016-02-24 16:27:28 +08: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
bf96025507 link email logs to the post that generate the email notification when available 2016-02-16 16:35:57 +01:00
Régis Hanol
4ad5660615 add slightly more logs when skipping email notifications 2016-02-15 17:53:07 +01:00
Régis Hanol
40b099f1a6 FIX: keep whitespaces when replacing direct link to external images with local images 2016-02-15 12:34:45 +01:00
Régis Hanol
62cd6a4122 Merge pull request #3995 from devonestes/reducing-duplication-csv-export
Reducing duplication and string allocation in Jobs::ExportCsvFile
2016-02-06 11:10:21 +01:00
Régis Hanol
ea0e63b150 FIX: handle cases where we only pass the notification type rather than the notification id when sending user email 2016-02-05 20:07:30 +01:00
Devon Estes
0aa59956fa Extract method refactoring in Jobs::ExportCsvFile
I was combing through some of the files with worse grades on Code Climate as a guide for places where I could jump in and help, and I saw this as one of the ones in need of some love. I reduced duplication in the #user_list_export method by extracting several methods that were common to both branches of the logic in that method.
2016-02-05 16:47:15 +01:00
Arpit Jalan
eec8436cfe FEATURE: filter admin reports via user group 2016-02-04 11:23:49 +05:30
Régis Hanol
7d992cb4c5 FIX: sending emails to mailing list subscribers wasn't working 2016-02-03 19:27:58 +01:00
Régis Hanol
96380bfd38 FIX: only create 1 email_log when an email is sent 2016-01-29 16:49:49 +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
Sam
1bb485fca5 FIX: when a user got multiple replies to a topic, emails were missing 2016-01-27 12:20:08 +11:00
Sam
1f7c03df5c FIX: missing email notifications for group mentions 2015-12-01 12:12:55 +11:00
Régis Hanol
0d54c18c8b new hidden 'allow_staged_accounts' setting 2015-11-26 18:31:23 +01:00
Arpit Jalan
2eba00a326 FIX: user archive url field should have absolute URLs 2015-11-25 15:13:15 +05:30
Régis Hanol
de95573d23 FEATURE: new 'backup_with_uploads' site setting 2015-11-12 16:23:59 +01:00
Régis Hanol
78de89f7a1 FIX: PullHotlinkedImages was messing with URL when using Markdown references 2015-11-09 16:37:51 +01:00
Régis Hanol
acecfeb37f Add 'staged' boolean to User 2015-11-06 19:19:13 +01:00
Arpit Jalan
700c005c26 PERF: optimize export user list CSV queries 2015-11-02 13:15:58 +05:30
Régis Hanol
5c0fb34eee FIX: resize emoji job was generate errors 2015-10-30 23:31:30 +01:00
Régis Hanol
5e3da94c46 FIX: prevent infinite loop in PullHotlinkedImages job 2015-10-30 22:46:46 +01:00
Robin Ward
971af6a762 FIX: PostAlerter should ignore deleted posts 2015-10-28 13:03:54 -04:00
Guo Xiang Tan
600e42c2ba FIX: Race condition when wrapping PostCreator#create in a transaction. 2015-10-15 14:42:40 +08:00
Régis Hanol
54d6d24cbf FIX: timing issue with edits and cook post processing 2015-09-29 18:51:26 +02:00
Régis Hanol
fe656fb04d FIX: select appropriate period when redirecting to top 2015-09-21 20:28:20 +02:00
Régis Hanol
a3831a7003 FIX: uploading an animated user card/profile background was converted to a still image 2015-09-20 22:01:03 +02:00
Neil Lalonde
b4a724e80a FEATURE: export dashboard reports to csv file 2015-09-15 16:45:10 -04:00
Sam
82a6176b08 lower the volume on failed to pull hotlinked image
add more diagnostics
2015-08-19 12:32:45 +10:00
Sam
add6e12ce4 FIX: topic links with long titles can not be crawled
0..255 == 256 numbers column fits 255
2015-08-18 17:34:46 +10:00
Régis Hanol
827ea641b0 FIX: Use File.size instead of IO.size 2015-08-17 18:57:28 +02:00
Régis Hanol
b6cd4af2ba FIX: follow redirects when pulling hotlinked images 2015-08-14 12:46:52 +02:00
Sam
f743bc6e74 stop adding users to a group if they are already in the group 2015-08-14 17:50:24 +10:00
Sam
e670ebb433 FEATURE: allow backup settings to be overriden by globals
FEATURE: allow backup interval of up to 30 days
FIX: if a custom file exists in backup directory look at its date
FEATURE: site setting automatic_backups_enabled default true
2015-08-14 16:28:29 +10:00
Sam
7d86d23eec correct bad error reporting. 2015-08-14 13:29:39 +10:00
Régis Hanol
15418f3d44 FEATURE: new 'backup_frequency' site setting 2015-08-07 17:34:58 +02:00
Régis Hanol
faf4f44776 FEATURE: make pin expiration mandatory 2015-07-29 16:34:21 +02:00
Arpit Jalan
7a1694f1ac FEATURE: add more data in user list export 2015-07-15 11:38:48 +05:30
Kane York
38acc8a070 FIX: Don't root CSV export URLs 2015-07-06 15:19:31 -07:00
Régis Hanol
3db743640e fix the build :fired: 2015-06-17 17:45:53 +02:00
Régis Hanol
56b9528de8 FIX: catch the PG::UniqueViolation exception too 2015-06-17 15:38:45 +02:00
Régis Hanol
189cb3ff12 FEATURE: move migrate_to_new_scheme into a background job
- new hidden site setting 'migrate_to_new_scheme' (defaults to false)
- new rake tasks to toggle migration to new scheme
- FIX: migrate_to_new_scheme also works with CDN
- PERF: improve perf of the DbHelper.remap method
- REFACTOR: UrlHelper is now a class
2015-06-12 12:07:57 +02:00
Régis Hanol
0483f05154 make sure we pass in the user_id when creating avatar thumbnails 2015-05-29 18:11:19 +02:00
Régis Hanol
c3227b69fa FIX: proper support for pixel ratios up to 3 2015-05-29 09:57:54 +02:00
Régis Hanol
e101396ea1 FEATURE: add support for device pixel ratio = 3 2015-05-28 01:48:07 +02:00
Robin Ward
1434e46ed2 FIX: Excon was wrapping our ReadOnly exception
This was preventing the crawling of many topic links
2015-05-27 14:29:52 -04:00
Sam
0a2a248acc should be using site setting not global 2015-05-27 11:17:46 +10:00
Régis Hanol
033c2e7140 FIX: respect the allow_animated_avatars site setting 2015-05-26 12:22:02 +02:00
Régis Hanol
a797f7c664 FIX: properly handle images when using 's3_cdn_url' 2015-05-26 11:47:33 +02: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
Arpit Jalan
b3314ea801 FIX: handle user export failure when post is not linked to a topic 2015-05-18 09:07:12 +05:30
Régis Hanol
d40d308e45 Merge pull request #3445 from lukegb/bug/anonymous-emails
Don't send emails to anonymous users
2015-05-15 14:28:37 +02:00
Arpit Jalan
750a275dcb FIX: user archive export was failing in some cases 2015-05-14 20:35:25 +05:30
Luke Granger-Brown
9f9825bb6b FIX: don't send emails to anonymous users
Also changes behaviour of real to not return anonymous users.

This means user counts will no longer include them, and the
mailing list system will ignore them even if they somehow end up
with the feature turned on.
2015-05-11 00:56:34 +01:00
Sam
cd9e499b77 Don't try loading embeds on deleted topics 2015-05-06 16:53:28 +10:00
Sam
bbd5452b8d Do not alert if we have no topic (eg topic deleted) 2015-05-06 13:25:23 +10:00
Sam
6fab03b777 do not alert on deleted posts 2015-05-06 10:44:45 +10:00
Régis Hanol
80b2935e11 FIX: prevent DOS when fixing avatar in quotes 2015-04-24 11:14:10 +02:00
Neil Lalonde
85320f919b FEATURE: user list csv includes approved, suspended_at, suspended_till, blocked 2015-04-22 12:40:12 -04:00
Robin Ward
5990ab855b PERF: Move post alerting into async 2015-04-20 13:34:57 -04:00
Régis Hanol
8775dbec54 Merge pull request #3299 from riking/stagger-backups
FIX: Stagger daily backups by up to 10 minutes
2015-04-06 11:14:37 +02:00
Régis Hanol
23e8e1b6c1 Merge pull request #3303 from riking/patch-6
FIX: Don't fail topic auto-close if privledges are lost
2015-04-06 11:12:37 +02:00
Régis Hanol
10b8eca9a6 fix the build 2015-03-30 12:48:20 +02:00
Régis Hanol
588667b1e4 FEATURE: fix avatar in quotes when changing avatars 2015-03-30 12:31:10 +02:00
riking
03b971c3e3 FIX: Don't fail topic auto-close if privledges are lost 2015-03-27 15:31:04 -07:00
Régis Hanol
a87083fa76 FIX: use 'resize' option instead of 'thumbnail' when downsizing emojis 2015-03-26 18:16:15 +01:00
riking
018c467c69 FIX: Stagger daily backups by up to 10 minutes 2015-03-25 23:24:39 -07:00
Sam
bb20f64cb2 use standard error so its easier to catch 2015-03-23 12:20:50 +11: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
92e6446f0f FEATURE: new site setting 2015-02-21 18:37:37 +01:00
Régis Hanol
82157418eb FIX: we only want to downsize emojis 2015-02-20 17:24:37 +01:00
riking
5657006aca Rename handle_exception to handle_job_exception 2015-02-09 12:47:46 -08:00
Régis Hanol
2507f99135 FEATURE: background job to make sure emoticons aren't too big 2015-01-29 18:36:35 +01:00
Régis Hanol
efd65dcc8c hard match domains for automatic group membership 2015-01-26 23:17:29 +01:00
Régis Hanol
256519dddf FEATURE: automatic group membership based on email address 2015-01-23 18:25:43 +01:00
Arpit Jalan
7687c95e7b UX: add file size in CSV export notification 2015-01-19 19:21:53 +05:30
Arpit Jalan
c619aed8f9 💄 add username and date-time in exported file name 2015-01-16 01:39:46 +05:30
Arpit Jalan
5039213840 set csv compression to optimal speed/size 2015-01-15 09:07:53 +05:30
Arpit Jalan
c4da9ce62f FIX: old csv's were not getting deleted 2015-01-15 00:00:39 +05:30
Arpit Jalan
835835832f FIX: user list export was failing 2015-01-14 16:24:42 +05:30
Arpit Jalan
b94c7922c5 🐎 gzip csv export files 2015-01-14 13:38:37 +05:30
Arpit Jalan
bfe95966b4 better filenames for export 2015-01-02 15:30:50 +05:30
Arpit Jalan
bae432b255 FIX: show only staff actions in export and hide site setting logs from moderators 2015-01-02 11:13:25 +05:30
Arpit Jalan
e7bfbe8552 FIX: deleted topics were failing user posts archive download 2014-12-30 01:42:36 +05:30
Arpit Jalan
96608e0ef0 FEATURE: add more details in user posts archive 2014-12-30 00:00:26 +05:30
Arpit Jalan
68e66f3a25 Rename CsvExportLog to UserExport 2014-12-28 22:31:12 +05:30
Arpit Jalan
7c7474aa10 create a new table to maintain csv export log 2014-12-24 16:25:36 +05:30
Arpit Jalan
bb152a5b3f FEATURE: download user posts archive 2014-12-24 15:13:48 +05:30
Régis Hanol
521226f4c9 FIX: registration fails with timeout on gravatar 2014-12-15 22:10:27 +01:00
Arpit Jalan
42cbe6ef2a FEATURE: export csv for all the logs 2014-12-11 23:33:26 +05:30
Sam
c05203d449 typo 2014-12-07 16:43:26 +11:00
Sam
16c2562e57 Add more logging aroung blank posts 2014-12-07 16:39:30 +11:00
Sam
d171d6db19 FEATURE: export sso data if sso is enabled 2014-11-26 09:43:28 +11:00
Robin Ward
17b6d3a2fe FIX: Mailing list mode was not checking for user deleted posts 2014-11-24 11:43:40 -05:00
Arpit Jalan
515882d224 FEATURE: export screened IPs list in a CSV file 2014-11-22 00:59:48 +05:30
Arpit Jalan
aebf36c356 remove /download from csv file url 2014-11-20 00:34:38 +05:30
Arpit Jalan
fadddccf8a FEATURE: add custom user fields in user csv export 2014-11-13 13:28:45 +05:30
Arpit Jalan
0ea1ad4785 add user title in exported csv 2014-11-08 20:07:22 +05:30
Daniel Fernández
61ff64d011 Resfactor: improve syntax extended user stats in user export csv 2014-11-03 13:04:51 -02:00
Daniel Fernández
757cea05a4 Feature: Extended user stats in user export csv 2014-10-31 15:21:43 -02: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
Arpit Jalan
8b56c16e14 include all groups in user csv export 2014-10-24 00:42:45 +05:30
Arpit Jalan
861f321263 FEATURE: send set password instructions after invite redemption 2014-10-11 14:13:05 +05:30
Arpit Jalan
430967c354 FIX: invite email should be verified against email_domains_blacklist 2014-10-09 20:21:01 +05:30
Régis Hanol
f283e2a996 FIX: there's no need to try to download relative images 2014-09-26 18:27:10 +02:00
Arpit Jalan
f8effbcffe Add group names to user export csv 2014-09-06 21:11:05 +05:30
riking
54484ca18a "FIX": Add error reporting to NotifyMailingListSubscribers
Also skip unactivated users, which may actually fix this
2014-09-03 14:53:05 -07:00
riking
3396e6fea3 Centralize MessageBus post updates
After this change, only two files directly publish to MessageBus with a
topic interpolated in the channel: Post and TopicUser.
2014-08-28 20:40:36 -07:00
riking
0a7a4eae99 Publish lightboxing on the message bus
With this change, images appear to lightbox instantly on my development
machine.
2014-08-28 20:16:33 -07:00
Sam
65826ab3a6 FIX: only update column if we have a user 2014-08-19 17:26:20 +10:00
Sam
8737ffb272 Merge pull request #2658 from akshaymohite/optimization-fixes
Not initializing variable for looping if unused in loop
2014-08-18 14:42:52 +10:00
Arpit Jalan
8d7f4c1944 FEATURE: add additional fields in user list export 2014-08-16 00:39:28 +05:30
Akshay
6301a43d57 Not initializing variable for looping if unused in loop 2014-08-15 03:24:55 +05:30
Arpit Jalan
d0736a06b6 FEATURE: export user list 2014-08-15 01:46:57 +05:30
Sam
0f9678fe49 FIX: faster update of all badges
Introduced badge triggers, introduced concept of badge that happens due to a post but has the post hidden

Delta badge grant happens once a minute, backed by redis
2014-07-23 11:46:07 +10:00
Régis Hanol
c7330ed73f BUGFIX: errors when post-processing 'data images' 2014-07-18 17:54:18 +02:00
Sam
650e9348f3 FIX: multiple grant not working correctly 2014-07-04 17:41:03 +10:00
Sam
9a9ad9bda8 FEATURE: Badge progress
- Refactor model so it stores backfill query
- Implement autobiographer
- Remove sample badge
- Correct featured badges to only include a badge once
2014-07-03 17:29:44 +10:00
Arpit Jalan
aeec5067d5 FEATURE: Send notification by system user for bulk invite 2014-07-02 14:28:57 +05:30
Sam
bc44bfcdf2 Work in progress backfill for like badges 2014-07-01 22:01:15 +10:00
Arpit Jalan
dad2d34d02 Refactor methods post feedback 2014-06-26 22:50:09 +05:30
Arpit Jalan
52f9984804 FEATURE: Add topic invitation support to Bulk Invite 2014-06-26 20:46:53 +05:30
Arpit Jalan
b227f736f1 Refactor code and update specs 2014-06-26 01:34:26 +05:30
Arpit Jalan
c2055732c7 FEATURE: Add groups support to Bulk Invite 2014-06-26 00:15:26 +05:30
Sam
7a2d64b27f Merge pull request #2422 from peternlewis/honor_email_always_even_if_read
Honor email_always even if notification has been read
2014-06-20 16:14:37 +10:00
Vikhyat Korrapati
3ba65af19e Add like-based system badges. 2014-06-19 17:10:43 +05:30
Vikhyat Korrapati
b5eea1d79f Grant system badges in a background job. 2014-06-19 17:10:37 +05:30
Robin Ward
88b5e78424 Merge branch 'add_custom_embed_by_username' of github.com:justinleveck/discourse into justinleveck-add_custom_embed_by_username
Conflicts:
	config/site_settings.yml
2014-06-16 10:52:15 -04:00
Sam
76166567fb Use the cheap Defer queue as opposed to sidekiq for view tracking. 2014-06-12 11:29:29 +10:00
Régis Hanol
18489ba83a BUGFIX: proper regex escaping 2014-06-11 16:37:26 +02:00
Justin Leveck
a78df3d57d Add custom embed_by_username feature
Feature to allow each imported post to be created using a different discourse
username. A possible use case of this is a multi-author blog where discourse
is being used to track comments. This feature allows authors to receive
updates when someone leaves a comment on one of their articles because each of
the imported posts can be created using the discourse username of the author.
2014-06-09 12:35:38 -07:00
Arpit Jalan
727184641e FEATURE: Bulk Invite 2014-06-09 01:43:39 +05:30
Peter N Lewis
d0ebdea5fa Honor email_always even if notification has been read
Even if the notification has been read, send it by email if user has enabled email_always
2014-06-06 21:16:41 +08:00
Sam
504cfcff96 Fix specs for avatars
Implement avatar picker
Correct avatar related jobs
2014-05-27 10:08:03 +10:00