Sam
29fac1ac18
PERF: improve performance of unread queries
...
Figuring out what unread topics a user has is a very expensive
operation over time.
Users can easily accumulate 10s of thousands of tracking state rows
(1 for every topic they ever visit)
When figuring out what a user has that is unread we need to join
the tracking state records to the topic table. This can very quickly
lead to cases where you need to scan through the entire topic table.
This commit optimises it so we always keep track of the "first" date
a user has unread topics. Then we can easily filter out all earlier
topics from the join.
We use pg functions, instead of nested queries here to assist the
planner.
2017-05-25 15:07:30 -04:00
Robin Ward
b78b010757
FIX: Fixes to grant new user of the month badge
2017-05-24 11:36:24 -04:00
Neil Lalonde
9edc490d3f
FIX: remove memoized values in jobs
2017-05-22 16:26:30 -04:00
Neil Lalonde
f350dd4fd1
FIX: possible data leaking from one site to another in multisite in PendingFlagsReminder
2017-05-22 15:18:13 -04:00
Robin Ward
bd0bb879e5
FIX: Don't count likes from system users in the new user of the month
2017-05-15 13:14:32 -04:00
Neil Lalonde
55b61e9bea
rename topic_status_update to topic_timer
2017-05-11 18:27:53 -04:00
Robin Ward
3ade46de0b
FIX: Don't send system message for new user of the month if disabled
2017-05-11 11:33:16 -04:00
Sam
f709899a1d
Allow theme field object model to support uploads
2017-05-10 15:46:42 -04:00
Robin Ward
4db76796b9
FEATURE: Setting to poll feeds more frequently
2017-05-10 14:30:12 -04:00
Robin Ward
6e4ba8a33e
Catch RSS Parsing errors
2017-05-09 15:07:06 -04:00
Guo Xiang Tan
71a266b673
Remove daily mailing mode option as it doesn't scale.
...
https://meta.discourse.org/t/daily-updates-option-for-mailing-list-mode/45029/14?u=tgxworld
2017-05-05 12:21:50 +08:00
Neil Lalonde
ca224ed8e9
FIX: pending flags message should go to moderators group, not staff
2017-05-01 14:53:16 -04:00
Robin Ward
f05f1a24d3
Change Anniversary badge to be multiple grant, once per year
2017-04-28 14:22:54 -04:00
Guo Xiang Tan
85d9342ff0
Merge pull request #4836 from tgxworld/fix_clean_up_staged_users_job
...
FIX: Clean up unused staged users job not completing.
2017-04-27 15:41:46 +08:00
Robin Ward
bf9c4a7828
FEATURE: secure_email site setting to prevent data going out in email
2017-04-26 13:05:56 -04:00
Guo Xiang Tan
daa97c40ce
FIX: Clean up unused staged users job not completing.
2017-04-26 10:51:36 +08:00
Neil Lalonde
05efa7ce68
simplify last_notified_id
2017-04-20 15:26:28 -04:00
Neil Lalonde
3835e16cf7
FIX: New implementation of the "notify about flag after" setting. Only notify about new flags since the last notification. Send a private message to staff. Mention the 3 most active moderators in the message so they get notification emails.
2017-04-19 16:17:45 -04:00
Guo Xiang Tan
5943543ec3
FIX: Improve checks for non-human users.
2017-04-06 11:29:34 +08:00
Robin Ward
ebe232da47
Weigh staff votes more for New User of the Month badges
2017-04-03 16:52:31 -04:00
Robin Ward
a13a8dc96c
FIX: Safeguard to not award NewUserOfTheMonth if it hasn't been a month
2017-04-03 13:26:51 -04:00
Robin Ward
3d64f33d40
Require at least two likes to get the "New User of the Month" badge
2017-04-03 13:03:28 -04:00
Jeff Atwood
3b64aeaf21
loosen new user of the month criteria slightly
2017-03-31 16:33:50 -07:00
Robin Ward
e4b1376146
Change New User of the Month Badge to use trust level rather than age
2017-03-31 16:56:58 -04:00
Robin Ward
a8d3779f0b
Update New User of the Month badge to require 4 posts in 2 topics
2017-03-31 16:52:00 -04:00
Robin Ward
fc7fa4c0ad
Rename "Rookie of the Month" to "New User of the Month"
2017-03-31 16:30:30 -04:00
Robin Ward
e6f6bd34d8
Send the user a notice when they've received rookie of the month
2017-03-31 15:06:31 -04:00
Robin Ward
893e93dfbe
New badge, Rookie of the Month, for two new high quality users.
2017-03-31 15:06:31 -04:00
Guo Xiang Tan
34b7bee568
FEATURE: Allow admin to auto reopen at topic.
...
* This commit also introduces a `TopicStatusUpdate`
model to support other forms of deferred topic
status update in the future.
2017-03-31 11:14:18 +08:00
Guo Xiang Tan
1a7e954e09
FIX: Store custom emojis as uploads.
...
* Depending on a hardcoded directory was a flawed design
which made it impossible to debug when custom emojis go
missing.
2017-03-14 13:07:18 +08:00
Régis Hanol
23b06d2895
FIX: should not try to send digest to users who reached the bounce threshold
2017-03-08 19:19:11 +01:00
Blake Erickson
0a41da6bad
FEATURE: Add order logic to admin users controller
...
Added order and direction parameters for sorting admin user pages. This
commit only includes backend api changes.
https://meta.discourse.org/t/make-admin-users-list-sortable-suggestion/47649
Now you can pass in `order` and `asc` parameters to the
`/admin/users/list/<query>.json` endpoint.
Example:
`/admin/users/list/active.json?&order=post_count` which defaults to desc
and
`/admin/users/list/active.json?order=post_count&asc=true`
2017-02-24 17:11:17 -07:00
Régis Hanol
f07b4b310a
should not have renamed this setting in 460665895c
2017-02-08 18:11:34 +01:00
Sam
ff49f72ad9
FEATURE: per client user tokens
...
Revamped system for managing authentication tokens.
- Every user has 1 token per client (web browser)
- Tokens are rotated every 10 minutes
New system migrates the old tokens to "legacy" tokens,
so users still remain logged on.
Also introduces weekly job to expire old auth tokens.
2017-02-07 09:22:16 -05:00
Régis Hanol
664feca199
FIX: don't send emails from muted users in mailing list mode
2016-12-12 15:28:26 +01:00
Guo Xiang Tan
9a800107cb
FIX: Associate category logo and background to uploads record.
2016-12-12 17:37:28 +08:00
Robin Ward
424fc8e2e2
FIX: Don't raise an error if the RSS endpoint is 404
2016-12-05 12:29:14 -05:00
Guo Xiang Tan
55b35a05ed
FIX: This should not have been checked in.
2016-12-05 11:49:04 +08:00
Guo Xiang Tan
22059d4df9
Add Rake task to clean up unused multisite Redis keys.
2016-12-05 11:46:34 +08:00
Andreas Motl
43fd3ebd4a
Add “pop3_polling_openssl_verify” setting to turn off TLS server certificate verification like “smtp_openssl_verify_mode”. Defaults to “true”, so it does not change current behavior.
2016-11-11 21:59:15 +01:00
Guo Xiang Tan
f03d9cad06
PERF: `NOT IN` query is really inefficient for large tables.
2016-11-02 13:09:18 +08:00
Régis Hanol
52b338db62
FIX: category logo & background URLs should not use the CDN
2016-10-25 10:43:57 +02:00
Robin Ward
af83c8dc14
Upload Logos Step
2016-09-22 09:52:19 -04:00
Guo Xiang Tan
baacb30ba1
FIX: Incorrect folder.
2016-09-15 15:20:07 +08:00
Matt Palmer
394cd43d77
Scrub only after converting strings to UTF-8
...
Scrubbing an ASCII-8BIT string isn't ever going to remove anything, because
there's no code point that isn't valid 8-bit ASCII. Since we'd really
prefer it if everything were UTF-8 anyway, we'll just assume, for now, that
whatever comes out of SimpleRSS is probably UTF-8, and just nuke anything
that isn't a valid UTF-8 codepoint.
Of course, the *real* bug here is that SimpleRSS [unilaterally converts
everything to
ASCII-8BIT](https://github.com/cardmagic/simple-rss/issues/15 ). It's
presumably *far* too much to ask that it detects the encoding of the source
RSS feed and marks the parsed strings with the correct encoding...
2016-08-25 16:09:07 +10:00
Arpit Jalan
a2220feaea
FEATURE: new site setting rebake_old_posts_count
2016-08-15 16:34:13 +05:30
Arpit Jalan
c064e946b2
FIX: custom reason for flags were not showing for non-english locales
2016-08-05 18:41:11 +05:30
Régis Hanol
c591429868
FIX: don't destroy uploads in queued posts and drafts
2016-08-01 18:35:57 +02:00
Sam
12dc511fea
PERF: make score calculator cheaper when site has long topics
2016-07-22 09:48:44 +10:00
Guo Xiang Tan
1ea1cefb35
Extract Nginx log analyzer into a plugin that ships with Discourse.
2016-07-19 15:44:00 +08:00
Guo Xiang Tan
bd07658a37
PERF: Split queries when cleaning uploads.
...
This reduces the number of scans that the db has to do in the query
to fetch orphan uploads. Futheremore, we were not batching our
records which bloats memory.
2016-07-04 16:34:32 +08:00
Régis Hanol
2ecd0da59f
REFACTOR: use same code path for handling emails via API and POP
2016-06-22 15:50:49 +02:00
Régis Hanol
e9a293beeb
FIX: clean up uploads job
2016-06-20 22:05:41 +02: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
Sam
c9dcffe434
FEATURE: store history for scheduled job execution
2016-05-30 11:38:08 +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 Saffron
ce5867cce2
workaround issue where orphan user_avatar record exists
2016-05-17 09:40:17 +10:00
Régis Hanol
3df8f184c3
FEATURE: clean up 1 year old and unused staged users
2016-05-16 22:13:23 +02:00
Régis Hanol
21ce674546
fix translation when receiving a bounce or an auto-reply
2016-05-16 08:42:30 +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
Guo Xiang Tan
a556d9ad4e
FIX: Expiry should be 3 times polling interval.
2016-04-21 15:04:03 +08:00
Guo Xiang Tan
b4e0c5afe0
FIX: Fetch stats if it has not been cached.
2016-04-21 14:50:25 +08:00
Régis Hanol
7d9f2265b9
FIX: improve support for handling emails coming from screened email addresses
2016-04-18 23:01:54 +02:00
Guo Xiang Tan
f95cefd09a
FEATURE: Add POP3 timeout error only after 3 failures in a row.
2016-04-14 08:55:19 +08:00
Régis Hanol
8fcd359e2a
Revert "FIX: Jobs.cancel_scheduled_job wasn't working anymore due to our move to using multiple queues"
...
This reverts commit b7c16991f7
.
2016-04-13 18:30:25 +02:00
Régis Hanol
b7c16991f7
FIX: Jobs.cancel_scheduled_job wasn't working anymore due to our move to using multiple queues
...
FIX: Don't queue more than 1 'update_gravatar' job per user
2016-04-13 18:12:28 +02:00
Régis Hanol
4d9c81fde7
Merge pull request #4148 from tgxworld/dont_reply_to_emails_that_are_autogenerated
...
FIX: Don't send rejection mailer to bounced emails.
2016-04-13 15:36:14 +02:00
Neil Lalonde
7f0b1691c4
FEATURE: add pop3 timeouts and auth errors to admin dashboard. Admins will get notified along with other problems.
2016-04-08 17:33:47 -04:00
Neil Lalonde
9c934e27be
FEATURE: notify admins if problems have been reported on the dashboard for a while
2016-04-08 16:44:13 -04:00
Robin Ward
9d8db11cf3
Move `MigrateScheme` to new Onceoff thing
2016-04-07 15:31:32 -04:00
Robin Ward
3f7ced9236
Try running once off jobs outside of db:migrate
2016-04-07 15:07:24 -04:00
Guo Xiang Tan
5734c7f3f3
FIX: Don't send rejection mailer to bounced emails.
2016-04-07 22:21:17 +08:00
Régis Hanol
79639e2dec
FIX: ensure group's users counters are kept in sync
2016-04-04 17:03:18 +02:00
Régis Hanol
9e9c81c30b
improve error log when timing out while connecting to mail server
2016-03-25 16:44:08 +01:00
Régis Hanol
39863953cd
new 'enable_staged_users' site setting
2016-03-23 18:56:03 +01:00
Régis Hanol
9c61f45bf9
FIX: properly handle failure in poll mailbox job
2016-03-21 18:49:01 +01: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
Régis Hanol
162fcb75da
FEATURE: admin dashboard check when email polling errored in the past 24 hours
2016-03-16 21:17:48 +01:00
Régis Hanol
4a3cb4a000
FIX: use MD5 of the email_string when there's no 'Message-Id'
2016-03-14 18:18:58 +01:00
Régis Hanol
622d804d46
FEATURE: Add rejection message on rejected IncomingEmail
...
FIX: Better RateLimit description in rejected IncomingEmail
FEATURE: Send email when hitting a rate limit
2016-03-07 16:56:17 +01:00
Guo Xiang Tan
bc4087b9bb
FIX: RSS description might be `nil`.
2016-03-07 17:42:17 +08:00
Régis Hanol
05f0db0a20
FIX: don't use `destroy_all` when `delete_all` is enough
2016-03-05 00:41:22 +01: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
Neil Lalonde
e8d837269b
FEATURE: pending flags reminder is sent as a group message to staff instead of sending an email to the contact email site setting.
2016-02-19 15:21:18 -05:00
Sam
3de390c067
quote fields in case they are still in the db
2016-02-19 13:57:07 +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
Neil Lalonde
06c9e79984
FIX: pending flags reminder email was ignoring the 'notify about flags after' site setting.
2016-02-12 14:33:23 -05:00
Régis Hanol
cad7fc1062
FIX: don't allow blocked user to send emails in
2016-02-11 10:39:57 +01:00
Régis Hanol
460665895c
properly name purge emails/email logs site settings
2016-02-08 22:18:52 +01:00
Régis Hanol
ac863bab91
FEATURE: new 'suppress_email_logs_after_days' site setting
2016-02-08 18:47:35 +01:00
Régis Hanol
8608b5cbc1
FIX: don't poll the mailbox in development
2016-02-01 16:56:32 +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
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
Sam
1359a02128
Merge pull request #2532 from riking/sidekiq
...
Pass more context from Sidekiq jobs to Logster
2014-07-18 10:24:51 +10:00
riking
d90404e830
Change 'code' to 'message'
2014-07-17 15:19:58 -07:00
riking
12cb682548
Start passing more context to Discourse.handle_exception
2014-07-17 14:11:56 -07:00
riking
c8d322d1be
Include the email subject line in rejection messages
...
This change has a tradeoff.
It increases our backscatter vulnerability - the subject could have spammy content - but it's extremely valuable to the user to know exactly which message was rejected.
If you sent two at the same time, and only one was rejected, you would have no way of knowing which worked and which to resend without going to the website (which is what email-in is trying to avoid, kinda).
2014-07-17 10:25:53 -07:00
Neil Lalonde
4c867c5796
FIX: don't send repeated notifications that there are pending users who need to be approved to moderators who haven't read the previous notification
2014-07-16 17:53:51 -04:00
Sam
89fc989adb
FEATURE: First Quote badge
2014-07-11 14:17:43 +10:00
Neil Lalonde
df8b25d2f5
FEATURE: don't demote trust level 3 users who were promoted less than SiteSetting.leader_promotion_min_duration days ago
2014-07-08 17:39:49 -04: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
Sam
198731de23
FIX: 100% cpu while parsing feeds
2014-07-02 13:53:04 +10:00
Sam
a4b7b561dc
Add link to badge reason on badge details page.
2014-07-02 09:46:28 +10:00
Neil Lalonde
3f16e1e335
Enable trust level 3 promotion/demotion job
2014-07-01 17:34:07 -04:00
Sam
760e9a756d
PERF: push reindex job to daily
2014-07-01 10:09:55 +10:00
riking
a7b8f25c50
Even better fix
2014-06-30 15:17:05 -07:00
riking
07cedb7946
Fix specs, handle_exception calls
2014-06-30 15:16:16 -07:00
riking
eb14983dfa
Change pop3 auth errors from admin message to dashboard notice
2014-06-30 14:44:18 -07:00
Robin Ward
e22688a204
FEATURE: Can upload images to categories
2014-06-30 14:14:00 -04:00
Sam
777371bf14
Merge pull request #2480 from vikhyat/badge-system
...
Add consistency check to revoke invalid badges
2014-06-30 14:13:12 +10:00
Neil Lalonde
807bfbd9bb
FEATURE: Trust level 3 promotion and demotion. Job is disabled for now.
2014-06-27 18:42:03 -04:00
Vikhyat Korrapati
83749779cc
Add consistency check to revoke duplicate badges.
2014-06-28 01:24:00 +05:30
riking
da9048f3ea
Fix email code & tests
2014-06-27 12:04:31 -07:00
Andrew Bezzub
386d1e231a
move profile_background from User to UserProfile
2014-06-26 12:30:07 -04:00
Kane York
6f5b58969b
Only give necessary context
2014-06-25 17:01:23 -07:00
Sam
e05aa9bdc8
Stop spamming mods even on exceptional cases
2014-06-26 09:58:37 +10:00
Sam
67804cb56b
Merge pull request #2465 from riking/email_rejections
...
Give specific message for each kind of email rejection
2014-06-26 09:55:24 +10:00
Sam
3c84876660
BUGFIX: Chinese search was broken
...
BUGFIX: User locale was used index data
BUGFIX: missing Norwegian fulltext config
FEATURE: store the text used to index stuff in fulltext (for diagnostics / in page search)
FEATURE: re-index posts when locale changes (in bg job)
FEATURE: allow reindexing by trucating post_search_data
Note: I removed japanese specific config cause it requires custom pg config,
happy to add it once our base docker config ships with it
2014-06-24 17:11:13 +10:00
riking
222db71dd7
Cleanup
2014-06-23 17:48:51 -07:00
riking
8b5d2b835a
Add case for bad reply key
2014-06-23 17:46:22 -07:00
riking
d2823fc5ee
More detailed email rejection responses
2014-06-23 17:17:53 -07:00
riking
edc17dddb3
Let's see if this works
2014-06-23 17:17:53 -07:00
Neil Lalonde
6aa44fd412
Merge pull request #2461 from peternlewis/pop3s_polling_period_mins
...
Add a SiteSetting to control the pop3 polling period.
2014-06-23 10:48:40 -04:00
Peter N Lewis
5da2eac1bb
Add a SiteSetting to control the pop3 polling period.
...
The default 5 minutes may add too much lag for some sites used to mailing list performance.
Unfortunately, this seems to require restarting the server for the change to be noticed - is there any way to avoid that, or otherwise should this be noted in the setting text?
2014-06-21 15:57:49 +08:00
riking
a7a28454a1
DEBUG: Send all email processing errors to admins
2014-06-20 09:31:19 -07:00
Robin Ward
1147b9d2e5
Merge pull request #2408 from peternlewis/pop3_insecure
...
Support for insecure POP3 (without SSL)
2014-06-16 11:51:44 -04: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
Sam
0f37699d5f
BUGFIX: broken schedule
2014-06-07 10:25:15 +10:00
Peter N Lewis
6c05de45b6
Support for insecure POP3 (without SSL)
...
Ideally it would be a menu selection to select POP3, POP3S, and potentially other future protocols like IMAP if desired, but I didn't want to deal with data migration at this point. And then I was going to have a checkbox for "Secure" (on by default, obviously), but that was very hard to word as to how it was different given everything else referred to pop3s and I couldn't change that either. So I settled on a preference:
pop3s_polling_insecure: "Poll using plain text POP3 without SSL"
Off by default.
This makes it very clear that as to what turning on that checkbox will be, and by calling it "insecure" makes sure people will think twice before turning it on.
I have not attempted to do any of the translations of the preference, I'm ot sure how you handle that.
2014-06-02 20:59:10 +08:00
Sam
fa6f22dd39
Move letter avatars out of upload system
...
FIX: S3 issues around system avatars
FIX: reduced backup file size
2014-05-30 14:45:55 +10:00
Sam
1a31eb1d97
job should warn about corrupt user_avatar records
2014-05-28 19:55:33 +10:00
Sam
3e36d0698c
BUGFIX: ensure it tries downloading avatars
2014-05-28 17:57:15 +10:00
Sam
d9f51961c4
BUGFIX: pick gravatar if it was just downloaded
...
BUGFIX: don't go rebaking unless all avatars are downloaded
2014-05-28 16:54:21 +10:00
Sam
f6753d3d46
FEATURE: automatically rebake out-of-date posts
2014-05-28 12:30:57 +10:00
Sam
2791852bd8
FEATURE: ability to regenerate system avatars as needed
...
BUGFIX: made system letter avatar more thinner for less block look
2014-05-28 12:30:57 +10:00
Sam
ce6c25afed
Correct query so it scopes correctly
2014-05-27 22:17:04 +10:00
Sam
6e0f54ba9a
slow down the back fill process a bit
2014-05-27 20:46:17 +10:00
Sam
504cfcff96
Fix specs for avatars
...
Implement avatar picker
Correct avatar related jobs
2014-05-27 10:08:03 +10:00
Sam
6c1c8be794
Work in progress, keeping avatars locally
...
This introduces a new model to store the avatars and 3 uploads per user (gravatar, system and custom)
user can then pick which they want.
2014-05-27 10:08:03 +10:00
Sam
557dc76c07
BUGFIX: failing avatar detection job
2014-05-12 15:50:44 +10:00
Louis Rose
1574485443
Perform the where(...).first to find_by(...) refactoring.
...
This refactoring was automated using the command: bundle exec "ruby refactorings/where_dot_first_to_find_by/app.rb"
2014-05-06 14:41:59 +01:00
Sam
7c57d74e85
FEATURE: unicorn sidekiq will restart sidekiq on complete failure.
...
(checks every 30 minutes for complete failure)
2014-04-23 13:13:18 +10:00
Régis Hanol
2505d18aa9
FEATURE: support email attachments
2014-04-14 22:55:57 +02:00
Régis Hanol
c3a1c867dd
REFACTOR: poll mailbox specs
2014-04-09 19:26:19 +02:00
Neil Lalonde
ecf211aa3f
Send email to contact_email if there are flags submitted more than 48 hours ago. Configurable with the notify_about_flags_after site setting.
2014-04-03 14:34:40 -04:00
riking
2ade638d79
Remove unused variables
2014-03-18 19:09:44 -07:00
Robin Ward
e22f1ae186
Support for a daily job at a certain hour. Convert backup job to run at
...
3am instead of randomly during the day.
2014-03-14 13:02:45 -04:00
Robin Ward
42ca83ece5
FEATURE: New site setting to enable a daily automatic backup
2014-03-12 13:30:47 -04:00
Robin Ward
78889163bf
BUGFIX: We were tring to delete the mail string, not the mail itself.
2014-03-07 11:28:55 -05:00
Régis Hanol
bce4130d39
Merge pull request #2036 from ArmedGuy/profile-backgrounds
...
FEATURE: Profile Backgrounds
2014-03-05 16:00:49 +01:00
Johan Jatko
98c479c3c4
FEATURE: Profile Backgrounds
...
Shares a modified codebase with avatars called "user_image"
2014-03-05 15:10:44 +01:00
Sam
172e517b31
Merge pull request #2012 from ligthyear/incoming-emails
...
Advanced New-Topic via Email Feature
2014-03-03 10:58:10 +11:00
Régis Hanol
6b83ed0347
OPTIM: change Top Topic's score computation algorithm
...
New algorithm will not wipe the entire table anymore and will only remove
invisible topics and add new visible topics.
2014-02-28 20:33:52 +01:00
Benjamin Kampmann
024597e643
Switch to proper exception handling system for better user feedback
...
- Replace implicit return code-system in Email::Receiver with proper exception system
- Update tests to check for exceptions instead
- Test the PollMailbox for expected failures
- Add proper email-handling of problematic emails
"
2014-02-28 17:02:58 +01:00
Allen Hancock
dad43b9853
Optionally allow discourse to create new topics from email.
2014-02-28 16:53:58 +01:00
Sam
1b0c567729
OOPS
2014-02-27 12:43:44 +11:00
Sam
9551f4aeea
PERF: calculate scores for topics/posts faster
...
Only look at topics that changed in last day for 15 minuted schedule
Do a full recalc weekly, just in case
2014-02-27 11:45:40 +11:00
Sam
e4909c017c
PERF: only rebuild entire top topic table daily
2014-02-27 11:45:40 +11:00
Sam
57ee244394
Bump up consistency check to run twice a day instead of once
2014-02-11 16:11:40 +11:00
Sam
e1f293ad66
FEATURE: new scheduler
...
Removed sidetiq, introduced new scheduler
- add basic UI
- add schedule discover
- add scheduling in initializer
2014-02-06 10:26:16 +11:00
Robin Ward
4981525047
REFACTOR: Fixes poor class hierarchy for listing topics
...
- Upgrades Ember to latest
- Fixes a bunch of bugs with page titles and missing "active" states
2014-01-18 19:26:24 +01:00
Robin Ward
1aee217a61
FIX: sidekiq 100% CPU usage due to `ice_cube`
2014-01-10 11:43:51 -05:00
Robin Ward
339b5942bb
Default should be to poll every 5 mins
2014-01-08 15:05:18 -05:00
Robin Ward
ed2e53bb06
FIX: Support feeds with `description` as well as `content`
2014-01-02 14:29:27 -05:00
Neil Lalonde
df220ae973
Get detailed info about new versions from the Discourse Hub. Include version notes from the latest version in notification email.
2013-12-31 15:52:35 -05:00
Robin Ward
4f8aed295a
FEATURE: Embeddable Discourse comments, now with simple-rss instead of feedzirra
2013-12-31 15:01:22 -05:00
Robin Ward
62db063e1e
Revert "Support for Embeddable Comments via IFRAME" - it depends on Curl
...
which not every server has. Have to rethink this.
This reverts commit e3e4c62887
.
2013-12-31 12:52:31 -05:00
Robin Ward
e3e4c62887
Support for Embeddable Comments via IFRAME
2013-12-31 12:26:24 -05:00
Régis Hanol
567d2bd23c
add top page
2013-12-24 00:50:36 +01:00
Régis Hanol
52160179f8
add a tombstone for extra safety
2013-11-27 22:05:11 +01:00
Sam
d1d661f6e1
add logic that auto closes any topics that missed the queued job (due to redis flush or whatever)
2013-11-11 10:52:44 +11:00
Neil Lalonde
ede59a4386
FIX: issue 1538. After upgrading and before a new version check request has been made, dashboard might still say that an update is available.
2013-11-04 12:51:09 -05:00
Régis Hanol
debd9bfb25
add a sitesetting to enable the CleanUpUploads job
2013-10-16 17:09:36 +02:00
Régis Hanol
4536b5fe04
added a job to clean up orphan uploads
2013-10-15 11:15:48 +02:00
Sam
5bf26ec34e
large refactor, ship a few columns from the user table into user_stats
2013-10-07 15:04:59 +11:00
Sam
f0a122a66c
move job files so they live underneath app/ and not in lib/
...
introduce new setting email_always, that will force emails to send to users regardless of presence on site
2013-10-01 17:04:02 +10:00