Commit graph

233 commits

Author SHA1 Message Date
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
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
Régis Hanol
8b0ffd9a88 don't bother iterating over disabled badges 2016-01-18 21:41:12 +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
Régis Hanol
93d1cc6294 add support for incoming emails in CC/BCC fields 2015-12-10 23:49:16 +01: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
Régis Hanol
3c2486e2ba FIX: compare UTC dates to schedule backups 2015-11-12 18:35:03 +01:00
Régis Hanol
72a7bd38e1 FEATURE: new 'backup_time_of_day' site setting 2015-11-12 16:14:49 +01:00
Régis Hanol
acecfeb37f Add 'staged' boolean to User 2015-11-06 19:19:13 +01:00
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
Robin Ward
40934e595a FIX: Some RSS feeds do unsafe redirects
There are people who have RSS feeds set up that do HTTPS -> HTTP
redirects which throw errors. Since RSS feeds are all configured
by admins I think it's OK if they allow an unsafe redirect as the
content is public anyway. This will reduce many server side errors.
2015-09-18 13:25:09 -04:00
Neil Lalonde
991a36f4f2 always use fetch_stats to get AdminDashboardData data 2015-09-14 16:10:54 -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
2b9b29c8c8 FIX: ensure CategoryUser consistency 2015-09-02 22:02:31 +02:00
Régis Hanol
a47370fc52 Merge pull request #3456 from 5minpause/patch-1
Changes RSS item creation to prevent encoding errors
2015-08-14 18:19:58 +02:00
Régis Hanol
b8cf797e31 FIX: ensure Badge consistency 2015-08-14 13:03:49 +02: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
Régis Hanol
15418f3d44 FEATURE: new 'backup_frequency' site setting 2015-08-07 17:34:58 +02:00
Sam
6f9dc135ba FEATURE: allow logging of raw body of all unprocessable email
set log_mail_processing_failures to true to enable
2015-07-31 15:10:35 +10:00
Régis Hanol
faf4f44776 FEATURE: make pin expiration mandatory 2015-07-29 16:34:21 +02:00
Guo Xiang Tan
b0ea6764e0 PERF: Cache About#stats. 2015-07-20 22:45:05 +08:00
5minpause
4ee1bc6320 Changes RSS item creation to prevent encoding errors
SimpleRss is unreliable with parsing RSS feeds that contain German Umlauts.
For example this feed http://www.lauffeuer-lb.de/api/v2/articles.xml can't be
parsed by SimpleRss. Discourse's logs are full of

```
Job exception: Wrapped Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and UTF-8
Job exception: incompatible character encodings: ASCII-8BIT and UTF-8
```

The embedding fails because the feed can't be parsed.

This change forces the encoding (using #scrub)  which prevents the numerous
encoding errors.
2015-07-20 14:30:42 +02:00
Sam
e32cecf60f Don't run perf report in multisite 2015-06-26 16:30:07 +10:00
Sam
4b449241fb correct formatting 2015-06-26 14:15:52 +10:00
Sam
542e796fb0 FEATURE: daily performance reports 2015-06-26 13:37:05 +10:00
Régis Hanol
18f887772d FEATURE: allow plugins to add custom admin reports 2015-06-25 02:42:08 +02:00
Neil Lalonde
77595bcaa9 FEATURE: notify by email when there are posts from new users waiting to be reviewed 2015-06-18 15:47:35 -04:00
Régis Hanol
189cb3ff12 FEATURE: move migrate_to_new_scheme into a background job
- new hidden site setting 'migrate_to_new_scheme' (defaults to false)
- new rake tasks to toggle migration to new scheme
- FIX: migrate_to_new_scheme also works with CDN
- PERF: improve perf of the DbHelper.remap method
- REFACTOR: UrlHelper is now a class
2015-06-12 12:07:57 +02:00
cpradio
afb566260e FEATURE: Use created_at to remove an ip if its last_match_at is null 2015-06-05 10:51:13 -04:00
Arpit Jalan
725861f344 FIX: move draft cleanup to the dedicated method and add test 2015-06-03 14:35:54 +05:30
Jeff Atwood
fa963e8f38 Revert "Revert "FIX: new task to delete old drafts weekly""
This reverts commit c987a1d571.
2015-06-02 04:26:01 -07:00
Sam Saffron
c987a1d571 Revert "FIX: new task to delete old drafts weekly"
This reverts commit fcaed7a00d.
2015-06-02 20:30:06 +10:00
Sam Saffron
0fd1974838 FIX: leaving around useless drafts after posting 2015-06-02 20:28:33 +10:00
Arpit Jalan
fcaed7a00d FIX: new task to delete old drafts weekly 2015-06-02 08:39:27 +05:30
Régis Hanol
41cd438f0b FIX: 'clean up uploads' job
Only 1 query was needed.
2015-05-22 20:28:52 +02:00
Régis Hanol
9a96cd9f3b CRUSHED: duplicate key value violates unique constraint 'index_uploads_on_sha1' 2015-05-07 01:00:13 +02:00
Robin Ward
6ae58d41a7 PERF: Only refresh the Daily stats hourly, do the others daily. 2015-04-20 12:11:36 -04:00
Arpit Jalan
e6df97f01d FIX: add email reply error message for topic not getting created in restricted category 2015-04-10 17:11:52 +05:30
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
7ce2dea33e Merge pull request #3306 from riking/badge-rescue
FIX: Don't stop the badge grant after the first failure
2015-04-06 11:12:20 +02:00
Arpit Jalan
a80c742855 FIX: include site name in email reply error subject 2015-04-02 15:46:22 +05:30
riking
6ce26ab4d8 FIX: Don't stop the badge grant after the first failure 2015-03-28 18:36:05 -07:00
riking
018c467c69 FIX: Stagger daily backups by up to 10 minutes 2015-03-25 23:24:39 -07:00
Robin Ward
3d2d224312 FEATURE: User Directory, with sorting and time period filter 2015-03-18 15:20:34 -04:00
Régis Hanol
fc962eb378 FEATURE: automatic daily roll-up for screened IP addresses 2015-03-09 18:55:17 +01: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
Arpit Jalan
f3daae6dec Improve auto generated email reply error message 2015-02-18 18:58:51 +05:30
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
riking
5657006aca Rename handle_exception to handle_job_exception 2015-02-09 12:47:46 -08:00
Arpit Jalan
12c82bed59 Disable digest emails site setting 2015-01-27 22:41:36 +05:30
Arpit Jalan
5c2ee8ec2a FEATURE: suppress digest emails for users not seen on the site for more than (n) days. 2015-01-26 22:04:02 +05:30
Robin Ward
f7955406cc As an optimization, don't return suspended users in the query that
determines who to send digests to.
2014-12-29 15:16:29 -05:00
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
Jeff Atwood
ea269ccfb2 rename purge_inactive to purge_unactivated 2014-12-02 21:36:25 -08:00
Régis Hanol
515b616d30 ooops. forgot the args :fired: 2014-11-25 18:45:45 +01:00
Régis Hanol
e23a25994d FEATURE: clean up unmatched email/ip entries after a year 2014-11-25 17:12:49 +01:00
Arpit Jalan
b37d845dd3 FIX: email replies should not be accepted for deleted topics 2014-10-27 13:05:33 +05:30
Arpit Jalan
08dc0e6ee6 FIX: email replies to closed topic should not be accepted 2014-10-25 23:47:13 +05:30
Robin Ward
1cf4a0d604 Rename "User Expansion" to the much clearer "User Card" 2014-10-20 12:11:59 -04:00
Robin Ward
4d465362b5 FEATURE: Allow a user to upload an image for their expansion background. 2014-10-16 15:05:36 -04:00
Régis Hanol
bb59798066 FEATURE: ensure consistency of post revisions 2014-10-15 21:09:08 +02:00
Régis Hanol
5504622c1b rename export/import in favor of backup/restore for better consistency 2014-10-10 20:04:07 +02:00
Sam
0e7be81e60 FIX: badge granted titles were not being revoked when badge was revoked 2014-10-08 10:26:18 +11:00
riking
bff95a6a97 Rename 'leader' -> 'tl3' 2014-09-30 13:16:34 +10:00
riking
fa50723807 Fix wrong variable name 2014-09-30 13:15:14 +10:00
riking
760465959f Also skip locked users in the job query 2014-09-30 13:15:14 +10:00
riking
c8111ada6e FEATURE: Allow admins to lock users from TL3 promotion/demotion
Also, update the display logic for the leader promotion screen to
account for the demotion grace period.
2014-09-30 13:15:13 +10:00
Régis Hanol
69400a802f FEATURE: auto-delete any hidden posts that stay hidden for more than 30 days 2014-09-25 19:51:00 +02:00
Sam
58eabb03e5 FEATURE: api support for arbitrary unlinked assets
admins can set retain periods for assets
2014-09-23 16:50:17 +10:00
Sam
2d615e4f8f lesson, this is why you don't mock 2014-09-05 16:55:48 +10:00
Sam
59d04c0695 Internal renaming of elder,leader,regular,basic to numbers
Changed internals so trust levels are referred to with

TrustLevel[1], TrustLevel[2] etc.

This gives us much better flexibility naming trust levels, these names
are meant to be controlled by various communities.
2014-09-05 15:20:52 +10:00
riking
ee812eb447 FIX: Do not perform grants if badges are disabled 2014-09-02 13:12:27 -07:00
riking
e28ef099a4 Fix pop3 SSL state leaking over multisite 2014-08-26 17:03:58 -07:00
riking
6d357c9c23 Rename pop3s settings to pop3, remove 'insecure' 2014-08-26 17:03:58 -07:00
Sam
f493eb5d12 FEATURE: allow version emails to be disabled globally 2014-08-23 10:02:32 +10:00
Sam
ac4f6d9c97 Merge pull request #2647 from riking/multiple-addresses
Allow processing of email sent to multiple addresses
2014-08-22 10:32:42 +10:00
Régis Hanol
8a20d05ba5 FEATURE: backup without uploads 2014-08-20 18:53:58 +02:00
Neil Lalonde
4e857bfa12 FIX: add http:// to feed_polling_url if it's missing 2014-08-19 17:57:14 -04:00
Akshay
b4e38e5646 updated checks of environment with Rails.env by Rails.env methods 2014-08-18 15:36:47 +05:30
Sam
5193c9fd16 FIX: ensure consistency on topic featured users 2014-08-18 17:13:32 +10:00
Arpit Jalan
8d7f4c1944 FEATURE: add additional fields in user list export 2014-08-16 00:39:28 +05:30
Arpit Jalan
b0f44dcdf3 clean up exports weekly 2014-08-15 02:03:30 +05:30
Robin Ward
7ed969f0c7 Site Setting to customize how frequently inactive users are purged 2014-08-13 15:11:19 -04:00
riking
b4dc8e7115 Add error reply for new error 2014-08-13 11:47:21 -07:00
Robin Ward
3c6673aceb Purge inactive accounts that are older than 7 days 2014-08-13 14:13:41 -04:00
Sam
eeff092ead PERF/FIX: Dismiss Post coming back
Now that post numbers are monotonically increasing we should not need this job
Stuff should just self correct as users browser along

Corrected the job not to reset the disimissed posts in case we need it
2014-08-11 10:26:46 +10:00
Sam
0b5e19303d PERF: only run category stats once a day 2014-08-11 09:41:50 +10:00
Sam
22cd259687 FIX: remove faulty "ensure consistency" badge job 2014-08-11 09:21:06 +10:00
Sam
cd22b6158c PERF: stop mucking with user stats every 15 minutes
(pushed to twice daily)
2014-08-07 14:20:42 +10:00
Sam
b11b5cb61b SECURITY: rebake old user profiles 2014-08-05 16:37:56 +10:00
Robin Ward
6eb478f5fa Merge pull request #2614 from riking/email-tests
Email tests, and include posting error reason
2014-08-01 16:33:00 -04:00
Robin Ward
0a2036a99a OPTIMIZATION: Don't run 12 queries every 15 mins for the Top section.
Instead, run the daily queries once every hour, and the reset of the
queries once a day.
2014-08-01 16:25:20 -04:00
riking
c0b2b9b341 Refactor out handle_failure method in PollMailbox 2014-08-01 11:12:06 -07:00
riking
d87edce6c3 Pass rejection message along in rejection mail if present 2014-08-01 09:56:15 -07:00
Sam
dcc9923e4b FIX: failed messages posted via email silently ignored
also... test suite over mocking
2014-07-31 18:46:02 +10:00
David McClure
025354f52f add a low water mark at 90% of variable TL3 requirements 2014-07-27 23:42:38 -07:00
Sam
95d13bf68a PERF: move avg time calculation to daily 2014-07-25 13:21:10 +10:00
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