Commit Graph

1148 Commits

Author SHA1 Message Date
Jakub Macina 677267ae78 Add onceoff job for uploads migration of column extension. Simplify filetype search and related rspec tests. 2017-07-12 17:19:27 +02:00
Régis Hanol a6dff79c2c change log level to info when failing to download a hotlinked image 2017-07-12 11:06:28 +02:00
Guo Xiang Tan e92acb4c40 FIX: `Jobs::PullHotlinkedImages#is_valid_image_src` returns true for a generic string. 2017-07-06 18:31:15 +09:00
Guo Xiang Tan 061aa261da Log site name when logging to Logster in `Jobs::PullHotlinkedImages`. 2017-07-05 10:34:24 +09:00
Guo Xiang Tan 4e8b80c157 Remove unnecessary `ensure` block. 2017-07-05 10:21:42 +09:00
Robin Ward 0ba39109a0 FIX: Make `omit_default_port` the global default 2017-06-30 12:43:26 -04:00
Robin Ward 46a3b30021 FIX: omit the default port in the `Host` header 2017-06-30 12:36:02 -04:00
Sam 5c89a37ceb FIX: log when push notifications fail 2017-06-30 10:45:53 -04:00
Arpit Jalan 16d356ab4e FEATURE: resending invite should include original custom message
https://meta.discourse.org/t/will-resent-invite-include-original-custom-message/64699
2017-06-30 18:13:33 +05:30
Sam c1580b9d36 attempt to fix push notifications 2017-06-30 08:40:43 -04:00
Guo Xiang Tan 1ab60d83df PERF: Terminate scheduled job earlier if badge is not enabled. 2017-06-26 10:13:58 +09:00
Guo Xiang Tan 6cc174ca82 PERF: Fetch users in batches in grant anniversary badge job. 2017-06-23 16:54:35 +09:00
Régis Hanol 2e7753c27f User 'FileHelper.is_image?' to check wether a link is poiting to an image 2017-06-22 12:54:42 +02:00
Guo Xiang Tan 80e348d226 PERF: Speed up slow tests in our test suite.
Before

```
Finished in 7 minutes 23 seconds (files took 4.15 seconds to load)
7145 examples, 0 failures, 10 pending
```

After

```
Finished in 6 minutes 12 seconds (files took 4.41 seconds to load)
7145 examples, 0 failures, 10 pending
```
2017-06-22 11:23:31 +09:00
Guo Xiang Tan d82dbd565b FIX: Remove dependency on `rest-client`. 2017-06-16 09:42:41 +09:00
Régis Hanol d6c63cc5b2 FIX: user's default group should only be set once
Setting a user's default groups based on their email address should only be done once, ie. when they confirm their email address.
Previously we were doing this everytime we'd save a user record 🤷
2017-06-14 19:20:18 +02:00
Régis Hanol 5d63a7f4a6 FIX: pull hotlinked images even when they have no extension 2017-06-13 13:27:05 +02:00
Guo Xiang Tan e888369f51 UX: Don't send emails for discobot notifications. 2017-06-12 17:00:27 +09:00
Robin Ward d92c938491 FIX: Don't raise an error cleaning up uploads if a path is nil 2017-06-08 14:31:58 -04:00
Régis Hanol e8f0771dc9 FIX: the 'clean_up_uploads' jobs would delete images used in site settings
when they were entered using absolute URLs, with the CDN or simple a different format than the one used in the database
2017-06-07 22:53:15 +02:00
Vinoth Kannan 209383faab FEATURE: pull onebox images 2017-06-06 18:51:58 +05:30
Sam 0aed2533ac Revert unread optimisation, has too many edge cases 2017-05-26 09:04:13 -04:00
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 cdbe027c1c Refactor `FileHelper` to use keyword arguments. 2017-05-24 13:54:26 -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
Robin Ward b23fc2bf84 Helper to find the final destination for a URL 2017-05-22 15:52:41 -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 773445b8df FIX: Topic Crawling should only crawl HTTP/S urls 2017-05-22 11:57:20 -04:00
Guo Xiang Tan 4382a0bb07 Rename `PostTimestampChanger` -> `TopicTimestampChanger`. 2017-05-22 15:01:33 +08:00
Robin Ward ea9f93dcc5 FIX: Don't crawl non-http/s links 2017-05-19 16:57:41 -04:00
Neil Lalonde 7821400141 FEATURE: staff can set a timer to remind them about a topic 2017-05-16 14:49:50 -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
Guo Xiang Tan 8eecd42856 FIX: Delete topic timer after completion. 2017-05-12 10:28:51 +08:00
Neil Lalonde 55b61e9bea rename topic_status_update to topic_timer 2017-05-11 18:27:53 -04:00
Neil Lalonde 1019bbda46 FEATURE: set a timer to delete a topic 2017-05-11 12:52:29 -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
Régis Hanol 4b7be137cb don't generate errors if 'upload_id' is invalid 2017-05-11 09:07:04 +02:00
Régis Hanol 9641d2413d REFACTOR: upload workflow creation into UploadCreator
- Automatically convert large-ish PNG/BMP to JPEG
- Updated fast_image to latest version
2017-05-11 00:16:57 +02: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
Robin Ward c2bf525a06 Make CloseTopic a no-op just in case 2017-05-09 15:02:05 -04:00
Robin Ward ba1868b051 FIX: There are still jobs enqueued for CloseTopic 2017-05-09 14:58:37 -04:00
Arpit Jalan e6e0025326 FIX: handle BOM in bulk import CSV file 2017-05-09 22:38:07 +05:30
Arpit Jalan 94683b33b8 FIX: sanitize bulk invite error log 2017-05-09 17:41:59 +05:30
Robin Ward 4f6e5fed2a We don't need to raise an error when no post is present. Just noop. 2017-05-08 15:08:29 -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
Guo Xiang Tan 50c8ae2c10 Load user records in batches. 2017-05-05 10:57:31 +08:00
Arpit Jalan 86f1cc8c92 FIX: don't apply max_emails_per_day_per_user on critical emails 2017-05-03 17:07:39 +05:30
Arpit Jalan cdce060a38 FIX: don't apply max emails per day per user to forgot password 2017-05-03 14:02:37 +05:30
Neil Lalonde ca224ed8e9 FIX: pending flags message should go to moderators group, not staff 2017-05-01 14:53:16 -04:00
Robin Ward dfe1174137 FIX: The dates for retroactive anniversary badges were wrong 2017-05-01 12:06:18 -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 fe0a7d97ca Fix incorrect class name. 2017-04-26 18:12:51 +08:00
Guo Xiang Tan b00886f5c1 Remove sidekiq-statistic gem.
* We don't really use it and there is an on-going issue
  with the gem not expiring keys in a Redis list which
  hasn't been fully resolved.

  https://github.com/davydovanton/sidekiq-statistic/issues/73
2017-04-26 14:54:47 +08:00
Guo Xiang Tan daa97c40ce FIX: Clean up unused staged users job not completing. 2017-04-26 10:51:36 +08:00
Guo Xiang Tan 423f2ab228 FIX: Processing incoming email should be done in a background job. 2017-04-24 13:57:28 +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 73180c8a19 FIX: Private message can be set to publish in the future. 2017-04-11 20:44:25 +08:00
Guo Xiang Tan aadf4805a5 FIX: Topic status update not being deleted once it has been executed. 2017-04-11 10:32:13 +08:00
Régis Hanol db77640634 FIX: grant first reply by email job was *brokenated* 2017-04-10 22:11:29 +02:00
Guo Xiang Tan 690d2f4bd3 UX: Publish topic changes when topic is published. 2017-04-07 15:32:00 +08:00
Guo Xiang Tan 48a9860f07 FIX: Publish topic to a category should unlist it as well. 2017-04-07 13:58:52 +08:00
Guo Xiang Tan 8e794070d2 Fix incorrect method name. 2017-04-06 13:45:59 +08:00
Guo Xiang Tan e0e06c2992 Merge pull request #4794 from tgxworld/nuke_old_auto_close_jobs
FIX: Add onceoff job to remove old auto close topic sidekiq jobs.
2017-04-06 12:29:42 +08:00
Guo Xiang Tan 5943543ec3 FIX: Improve checks for non-human users. 2017-04-06 11:29:34 +08:00
Guo Xiang Tan e8eaffbd72 FIX: Add onceoff job to remove old auto close topic sidekiq jobs. 2017-04-06 10:52:13 +08:00
Robin Ward 17f2974d0a SECURITY: Confirm new administrator accounts via email 2017-04-04 15:59:01 -04:00
Guo Xiang Tan 69661be500 FIX: Don't raise an error if `TopicStatusUpdate` has been deleted. 2017-04-04 14:29:47 +08:00
Guo Xiang Tan ad44d2a400 Merge pull request #4790 from tgxworld/add_publish_to_topic_status_update
FEATURE: Allow admins to schedule a topic to be published in the future.
2017-04-04 11:18:53 +08:00
Guo Xiang Tan f4758a4c4d FEATURE: Allow admins to schedule a topic to be published in the future. 2017-04-04 11:16:05 +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
Arpit Jalan df246c79b6 FEATURE: add user profile fields in user list export 2017-03-21 15:51:52 +05:30
Guo Xiang Tan 566f367fc3 FIX: Don't migrate custom emojis that are no longer valid.
* Warn about failed migration in logs.
2017-03-17 08:28:24 +08:00
Robin Ward 1957d12670 SECURITY: Don't use backticks for exporting your archive 2017-03-16 16:24:59 -04:00
Guo Xiang Tan 0a87547cbc Fix broken tests. 2017-03-16 10:22:15 +08:00
Erick Guan cfbfea0596 FEATURE: Allow easier customization to the web hook event serialization. 2017-03-16 10:09:05 +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
Régis Hanol cf8bc4483f FIX: always send critical emails even when bounce score threshold has been reached 2017-03-08 10:06:16 +01:00
Arpit Jalan d5bcc70e9c FIX: grant trust level when bulk adding users to group 2017-03-06 14:39:53 +05:30
Blake Erickson 80858bae2c FEATURE: further restrict downloading of backups
- send email to logged in admin when they press the "download" button
- show pop-up that email was sent
- create email template
- require a valid token to download backup
2017-03-01 08:28:34 -07: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
Arpit Jalan 19f7beaa2c FIX: topic links were getting dropped when post is rebaked 2017-01-30 14:55:53 +05:30
Robin Ward 496682c442 Merge pull request #4662 from tgxworld/fix_localized_group_name_change
Fix localized group name change
2017-01-26 10:50:00 -05:00
Guo Xiang Tan 706b4f6b9f FEATURE: Remap group mentions when group name has been changed. 2017-01-18 13:39:34 +08:00
Leo McArdle b60e9b7330 FIX: Handle img src starting with "//" in pull_hotlinked_images job 2017-01-16 10:50:07 +00:00
Arpit Jalan 7a1ff59822 FIX: PM email to suspended member was broken 2017-01-05 13:58:14 +05:30
Guo Xiang Tan 076a08d8e1 FIX: Unactivated users should not be automatically added into groups as well. 2016-12-21 18:15:01 +08:00
Guo Xiang Tan 7228081820 FIX: Automatic group membership should not add staged or unactivated users. 2016-12-21 18:04:26 +08:00
Neil Lalonde 923cf73c6e Topic Featured Links: move data from custom fields to topics and categories tables. Invert behaviour of topic_featured_link_allowed checkbox. Fix a bug with invalid topic records due to changing that category checkbox. 2016-12-19 14:54:07 -05:00
Sam f867af6bf9 bye bye byebug 2016-12-15 15:52:25 +11:00
Guo Xiang Tan 3666575b46 UX: Improve styling for groups page. 2016-12-15 12:19:13 +08: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
Guo Xiang Tan 05f55dbc10 FEATURE: Group logs. 2016-12-12 17:29:54 +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
Arpit Jalan ce974da9e5 FIX: simplify CSV file upload 2016-12-05 14:09:08 +05:30
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
Régis Hanol 0dfac2dd24 Merge pull request #4545 from hiveeyes/pop3_polling_openssl_verify
Add “pop3_polling_openssl_verify” setting to turn off TLS server certificate verification
2016-11-15 19:33:44 +01: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
Sam ac2c035856 FIX: stop raising exceptions when a post goes missing 2016-11-08 14:51:56 +11:00
Erick Guan dd58c00699
FEATURE: Add instance id in the webhook payload 2016-11-04 15:21:41 +01:00
Guo Xiang Tan f03d9cad06 PERF: `NOT IN` query is really inefficient for large tables. 2016-11-02 13:09:18 +08:00
Arpit Jalan 478418e780 FIX: notify_old_email template did not had new_email 2016-10-25 23:50:55 +05:30
Régis Hanol 52b338db62 FIX: category logo & background URLs should not use the CDN 2016-10-25 10:43:57 +02:00
Régis Hanol 923db2e559 FIX: download avatar from facebook/twitter in a job in order to prevent hangs when avatars are huge 2016-10-24 17:15:13 +02:00
Kiril Staikov aee943486a FEATURE:'No Echo' option for mailing list mode.
Mailing list mode now includes the 'no echo' option: to only receive emails of posts not created
by you.  If you reply to an email thread in mailing list mode, your reply will not then be echoed
back to you in a duplicate email by the system.
2016-10-19 13:14:36 -04:00
Arpit Jalan e5a13b0ac1 FIX: specify CSV file encoding and better error reporting 2016-10-18 00:31:35 +05:30
Robin Ward af83c8dc14 Upload Logos Step 2016-09-22 09:52:19 -04:00
Erick Guan 707fcb9434
FIX: Content-Lenght should be the size in octets 2016-09-21 10:31:20 +08:00
Erick Guan 00d5facf36 FEATURE: prompts new webhook events 2016-09-19 12:07:17 +08:00
Guo Xiang Tan 451050c6c4 Merge pull request #4437 from fantasticfears/webhooks-event-name
FIX: show event name in webhook headers
2016-09-16 14:27:12 +08:00
Guo Xiang Tan baacb30ba1 FIX: Incorrect folder. 2016-09-15 15:20:07 +08:00
Erick Guan 7423140825
FIX: show event name in webhook headers 2016-09-12 17:48:54 +08:00
Guo Xiang Tan 0fbb949af5 Merge pull request #4432 from tgxworld/migrate_upload_scheme_to_scheduled_job
FIX: Make `Jobs::MigrateUploadScheme` a scheduled job.
2016-09-06 08:39:27 +08:00
Erick Guan 9ce61b4586 FEATURE: Webhooks. 2016-09-05 18:44:00 +08:00
Sam 340874d345 FIX: post notifications in JSON so we properly support arrays and so on 2016-09-04 15:51:16 +10:00
Guo Xiang Tan a869d861f4 FIX: Make `Jobs::MigrateUploadScheme` a scheduled job.
This reverts https://github.com/discourse/discourse/commit/9d8db11c

If the job fails during execution or if `SiteSetting.migrate_to_new_scheme`
has been set to `false`, the job will be considered as executed even
though the migration has not been completed. As a result, the job
will have to be executed manually which is not desirable.
2016-09-02 11:48:45 +08:00
Arpit Jalan 929730c008 FIX: properly insert images in markdown inline format (take 2) 2016-09-01 17:56:39 +05:30
Arpit Jalan 54a1180140 FIX: properly insert images in markdown inline format 2016-09-01 11:55:40 +05:30
Sam 896732975e correct url linked in push notification 2016-08-26 13:45:56 +10:00
Sam 4fe52c8cbe FEATURE: backend support for pushing notifications to clients 2016-08-26 12:47:10 +10: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
Régis Hanol 7db2083d45 FIX: 'cancel_scheduled_job' was deleting all jobs in multisite 2016-08-12 13:10:52 +02:00
Régis Hanol e55e2aff94 FIX: FirstReplyByEmail badge wasn't granted
DEPRECATED: PostProcess badge trigger
2016-08-10 19:24:01 +02:00
Régis Hanol 51322a46b3 FEATURE: retry processing incoming emails on rate limit 2016-08-08 22:28:27 +02:00
Robin Ward 8b252f19d7 Merge pull request #4365 from gdpelican/fix/daily-mlm-notifications
Don't halt notification emails for those on daily mailing list mode
2016-08-08 14:30:56 -04:00
Arpit Jalan c064e946b2 FIX: custom reason for flags were not showing for non-english locales 2016-08-05 18:41:11 +05:30
James Kiesel c2819e99f4 Don't halt notification emails for those on daily mailing list mode 2016-08-03 12:29:38 -04:00
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
Arpit Jalan f1566ef80b FIX: escape comma in exported CSV file 2016-07-19 13:19:46 +05:30
Guo Xiang Tan 1ea1cefb35 Extract Nginx log analyzer into a plugin that ships with Discourse. 2016-07-19 15:44:00 +08:00
Arpit Jalan a80e8cb9bd FIX: do not execute onceoff badge queries if the badges are disabled 2016-07-06 13:04:08 +05:30
Régis Hanol 17890f95a1 FIX: don't send emails to mailing_list users when bounce threshold is reached 2016-07-05 12:20:07 +02: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
Sam 813fcebdd1 FIX: email_always was not respected correctly
In the past email always meant, email me even if active UNLESS I read post

Now emails always means, always, even if I read the post
2016-07-01 11:22:07 +10:00
Régis Hanol 5dcdfb9777 ensure default locale is 'en' instead of nil 2016-06-30 17:37:00 +02:00
Régis Hanol 76766a25bf FIX: wrong translation key 2016-06-28 17:22:34 +02: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
Régis Hanol e97e0bb311 FEATURE: new FirstReplyByEmail bronze badge 2016-06-13 15:37:14 +02:00
Arpit Jalan 7b205ebba4 FEATURE: customize invite email message 2016-06-06 20:15:30 +05:30
Régis Hanol 99ad251731 different email footer when mailing_list_mode is enabled 2016-06-03 15:48:54 +02:00
Sam c9dcffe434 FEATURE: store history for scheduled job execution 2016-05-30 11:38:08 +10:00
Neil Lalonde f13470b96b Use db schema for tags instead of plugin store and custom fields 2016-05-26 14:29:48 -04:00
Régis Hanol 86d50d0017 PERF: stream CSV exports so they don't fail when they are too big 2016-05-25 22:20:35 +02: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
Guo Xiang Tan b68860ee28 FIX: Do not send email when user of the post has been deleted. (#4228) 2016-05-17 17:42:15 +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 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
Neil Lalonde 1d9e175bc2 MigrateUploadScheme should use execute_onceoff 2016-05-05 16:04:24 -04: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
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
Régis Hanol 7d9f2265b9 FIX: improve support for handling emails coming from screened email addresses 2016-04-18 23:01:54 +02:00
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
Robin Ward a26bd2c549
FIX: If the user can't be found to award a badge, skip them 2016-04-14 11:52:26 -04:00
Robin Ward 976056bc41
FIX: Ignore problems cooking 2016-04-14 11:40:23 -04: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
Guo Xiang Tan 4ceb04517f Bump grant emoji job back to default queue. 2016-04-13 08:18:37 +08:00
Robin Ward fa369bcc3e
Add onceoff job to backfill oneboxes 2016-04-12 15:31:22 -04:00
Robin Ward f4672a9e05
Instead of a Distributed Mutex, use a Redis SETNX guard 2016-04-12 15:31:21 -04:00
Sam eda6084d4b FIX: don't allow concurrently queued once off jobs to do work 2016-04-12 23:08:10 +10:00
Sam 144bf07886 PERF: improve performance of emoji grants 2016-04-12 22:07:55 +10:00
Guo Xiang Tan ad1d14ecbe FIX: Bump `GrantEmoji` job to low priority queue and reduce batch size. 2016-04-12 17:05:47 +08: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 4f3f6c60c4 FIX: Rename Scheme job due to Queue Manager 2016-04-07 17:02:25 -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
Robin Ward 078b3bc87e Log once off jobs and enqueue on `db:migrate` 2016-04-07 14:32:31 -04:00
Robin Ward 526573074c Add one off job to grant the emoji badge retroactively 2016-04-07 13:49:44 -04:00
Guo Xiang Tan 5734c7f3f3 FIX: Don't send rejection mailer to bounced emails. 2016-04-07 22:21:17 +08: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
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
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
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
Robin Ward 5771d2aee2 SECURITY: Support for confirm old as well as new email accounts 2016-03-08 14:52:22 -05: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
Arpit Jalan 05288144b5 FIX: export user list based on trust level filter 2016-03-07 18:49:31 +05:30
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
Guo Xiang Tan f89e9024ba FIX: Topic and Post may be `nil`. 2016-02-24 16:27:28 +08: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 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
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 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 8608b5cbc1 FIX: don't poll the mailbox in development 2016-02-01 16:56:32 +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
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 737c606710 FIX: 'cancel_scheduled_job' wasn't working due to sidekiq upgrade 2016-01-13 09:08:26 +01:00
Régis Hanol fbacaab2fc FIX: disable scheduled jobs when in readonly mode 2016-01-11 18:31:28 +01:00
Sam Saffron 426299d261 FEATURE: upgrade to Sidekiq 4 2016-01-01 15:40:31 +11: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
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
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 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
Régis Hanol 3c2486e2ba FIX: compare UTC dates to schedule backups 2015-11-12 18:35:03 +01:00
Régis Hanol de95573d23 FEATURE: new 'backup_with_uploads' site setting 2015-11-12 16:23:59 +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 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
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
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
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
Gerhard Schlager 619d5b1bc1 FIX: Load fallback locales in Sidekiq jobs 2015-09-18 18:21:27 +02:00
Neil Lalonde b4a724e80a FEATURE: export dashboard reports to csv file 2015-09-15 16:45:10 -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
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 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
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
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
Sam e3d6c476f5 Merge pull request #3593 from tgxworld/cache_results_on_about_page
Cache results on about page
2015-07-21 10:04:51 +10: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
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
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 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
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 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
Régis Hanol 41cd438f0b FIX: 'clean up uploads' job
Only 1 query was needed.
2015-05-22 20:28:52 +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
Régis Hanol 9a96cd9f3b CRUSHED: duplicate key value violates unique constraint 'index_uploads_on_sha1' 2015-05-07 01:00:13 +02: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
Robin Ward 6ae58d41a7 PERF: Only refresh the Daily stats hourly, do the others daily. 2015-04-20 12:11:36 -04:00
Tan Le c55fdc7a75 A shorter and more concise version of select..size 2015-04-12 22:26:48 +10: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 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 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
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 6ce26ab4d8 FIX: Don't stop the badge grant after the first failure 2015-03-28 18:36:05 -07: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
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
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
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
Régis Hanol 2507f99135 FEATURE: background job to make sure emoticons aren't too big 2015-01-29 18:36:35 +01:00
Arpit Jalan 12c82bed59 Disable digest emails site setting 2015-01-27 22:41:36 +05:30
Régis Hanol efd65dcc8c hard match domains for automatic group membership 2015-01-26 23:17:29 +01:00
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
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
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 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
Jeff Atwood ea269ccfb2 rename purge_inactive to purge_unactivated 2014-12-02 21:36:25 -08:00
Régis Hanol d7ef4f1edd remove useless 'puts' 2014-11-26 16:40:03 +01:00
Sam d171d6db19 FEATURE: export sso data if sso is enabled 2014-11-26 09:43:28 +11: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
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
Sam 3a11e5b52e Merge pull request #2921 from techAPJ/patch-1
FIX: email replies should not be accepted for deleted topics
2014-10-28 14:11:33 +11: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 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
Arpit Jalan 8b56c16e14 include all groups in user csv export 2014-10-24 00:42:45 +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
Robin Ward 366d7e892c Merge pull request #2867 from techAPJ/patch-1
FEATURE: send `set password` instructions after invite redemption
2014-10-14 11:01:07 -04:00
Arpit Jalan 861f321263 FEATURE: send set password instructions after invite redemption 2014-10-11 14:13:05 +05:30
Régis Hanol 5504622c1b rename export/import in favor of backup/restore for better consistency 2014-10-10 20:04:07 +02:00
Arpit Jalan 430967c354 FIX: invite email should be verified against email_domains_blacklist 2014-10-09 20:21:01 +05:30
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 f283e2a996 FIX: there's no need to try to download relative images 2014-09-26 18:27:10 +02: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
Arpit Jalan f8effbcffe Add group names to user export csv 2014-09-06 21:11:05 +05:30
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 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 ee812eb447 FIX: Do not perform grants if badges are disabled 2014-09-02 13:12:27 -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
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
Sam 65826ab3a6 FIX: only update column if we have a user 2014-08-19 17:26:20 +10:00
Sam 8699c929db FIX: report db when we get an exception in multisite 2014-08-19 17:24:00 +10: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
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 b0f44dcdf3 clean up exports weekly 2014-08-15 02:03:30 +05:30
Arpit Jalan d0736a06b6 FEATURE: export user list 2014-08-15 01:46:57 +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
Régis Hanol c7330ed73f BUGFIX: errors when post-processing 'data images' 2014-07-18 17:54:18 +02: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 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 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 bc44bfcdf2 Work in progress backfill for like badges 2014-07-01 22:01:15 +10: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
Robin Ward 6907739a0b Merge pull request #2474 from techAPJ/add-topic-id-to-bulk-invite
FEATURE: Add topic invitation support to Bulk Invite
2014-06-26 13:30:30 -04:00
Arpit Jalan dad2d34d02 Refactor methods post feedback 2014-06-26 22:50:09 +05:30
Andrew Bezzub 386d1e231a move profile_background from User to UserProfile 2014-06-26 12:30:07 -04:00
Arpit Jalan 52f9984804 FEATURE: Add topic invitation support to Bulk Invite 2014-06-26 20:46:53 +05:30
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
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 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
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 1147b9d2e5 Merge pull request #2408 from peternlewis/pop3_insecure
Support for insecure POP3 (without SSL)
2014-06-16 11:51:44 -04:00
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
Régis Hanol 0781531e3c Merge pull request #2415 from techAPJ/bulk-invite-users-5
FEATURE: Bulk Invite
2014-06-10 19:11:11 +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
Sam 0f37699d5f BUGFIX: broken schedule 2014-06-07 10:25:15 +10:00
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
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 b329e23f85 don't attempt to send emails on deleted topics 2014-05-14 10:34:28 +10:00
Sam 557dc76c07 BUGFIX: failing avatar detection job 2014-05-12 15:50:44 +10:00
Sam a2e2d0e886 Merge pull request #2316 from mutiny/refactor-where-first
Refactor `where(...).first` to `find_by(...)`
2014-05-08 09:10:45 +10:00
Régis Hanol 4b9acd6806 BUGFIX: make sure we do not try to pull images from the CDN 2014-05-07 19:49:16 +02:00
Camille Roux f14c71b9d4 Fix the Amazon links regex 2014-05-06 19:19:32 +02:00
Camille Roux e77e7f23ca Update the Amazon links regexp
Added all the countries displayed in the Amazon footer
2014-05-06 18:36:07 +02: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
Régis Hanol c21d3f41d0 BUGFIX: only redirect new users to top page once
Actually, new users will still be redirected to the top page during the first 30 seconds of their first visit.
2014-05-05 19:00:40 +02:00
Régis Hanol c52ee665b4 FEATURE: do not bump topic when pulling hotlinked images 2014-04-24 16:07:47 +02:00
riking 7da5d3fe78 Backoff-retry for hotlinked image pull + some style fixes 2014-04-23 22:25:43 -07:00
riking b309deef11 Add site setting for domains to never download images from 2014-04-23 22:24:35 -07:00
Neil Lalonde d8ebeef857 FIX: NotifyMailingListSubscribers can handle trashed posts, instead of raising an error and retrying 2014-04-23 15:50:52 -04: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 5fd4d88491 BUGFIX: pull hotlinked images job wasn't properly handling the InvalidParameters exception 2014-04-22 15:32:48 +02:00
Robin Ward a57f802048 If there's a `TopicEmbed` record for a url, we don't have to crawl it.
This should help sites like Boing Boing where sometimes links are
crawled before saved in WordPress.
2014-04-17 14:00:22 -04:00
Régis Hanol 9cd8476453 REFACTOR: use an options hash instead of multiple nil-able parameters 2014-04-15 17:17:10 +02:00
Régis Hanol 542d54e6bf BUGFIX: uploads to S3 2014-04-15 13:04:14 +02:00
Régis Hanol 2505d18aa9 FEATURE: support email attachments 2014-04-14 22:55:57 +02:00
Robin Ward e80851b0fa Special case: When crawling a link to an image, just put the filename as
the title.
2014-04-10 13:45:13 -04:00
Robin Ward 99e2bab62d Use `update_all` to prevent `after_commit` from executing again. 2014-04-10 13:19:57 -04:00
Régis Hanol c3a1c867dd REFACTOR: poll mailbox specs 2014-04-09 19:26:19 +02:00
Robin Ward aa63868d5e FIX: Problem crawling amazon titles 2014-04-08 16:39:47 -04:00
Robin Ward 1e3faddfe4 FIX: Change crawl size to 10k. Youtube for example doesn't work with the
first 1k
2014-04-07 16:03:47 -04:00
Robin Ward 7e0028ba50 FIX: Don't crawl in test mode, raise correct exception when parameters
are missing
2014-04-07 14:38:18 -04:00
Robin Ward 7e3ea5d644 Support for crawling topic links 2014-04-07 14:08:34 -04: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
Julian Tescher a6062e0b98 Remove confusing/incorrect comments 2014-03-30 23:14:21 -07:00
Robin Ward 51e3d72461 Merge pull request #2141 from riking/correctness
Lots of JS correctness fixes
2014-03-19 11:20:15 -04:00
riking 2ade638d79 Remove unused variables 2014-03-18 19:09:44 -07:00
Régis Hanol 5bc8e7c19b BUGFIX: BackupChunksMerger
- actually remove the tmp directory
- merge all the chunks into a .tmp archive and then remove the .tmp extension once done
2014-03-19 01:05:47 +01: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 ceb80611d6 PERF: defer last_ip_address and last_seen updates 2014-03-03 15:16:38 +11: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
Régis Hanol 68a935c36b FEATURE: upload backups 2014-02-22 01:41:01 +01:00
Sam Saffron 451598c511 BUGFIX: regresses correct job execution 2014-02-21 16:05:19 +11:00
Sam Saffron 9a3af8997b BUGFIX: handle partial job failure in multisite
log all failures
2014-02-21 15:31:15 +11:00
Neil Lalonde 35dae76bbd Log when and why an email was not sent in email_logs 2014-02-14 13:06:39 -05:00
Régis Hanol 8344f0d8fd remove old import/export code 2014-02-13 13:31:13 -08:00
Sam 57ee244394 Bump up consistency check to run twice a day instead of once 2014-02-11 16:11:40 +11:00
Sam 56e09802fe BUGFIX: Use email sender 2014-02-09 07:29:16 +11:00
Sam e133c82d4b SECURITY: check permissions for mailing list
if you deployed this feature in the last 2 hours upgrade asap.
2014-02-07 14:10:45 +11:00
Sam 227873df78 FEATURE: proper mailing list mode
once enable_mailing_list_mode is enabled any user can elect
to get every post via email unless they opt out of category or topic
2014-02-07 11:07:52 +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
Sam 5267e5bea6 BUGFIX: emails sent from "2 replies" as opposed to correct user 2014-02-04 12:56:28 +11:00
Sam b33faa85c0 BUGFIX: raise on fail 2014-01-31 12:23:37 +11:00
Sam 4825bf7e02 REFACTOR: clean up mechanism 2014-01-31 11:40:25 +11:00
Sam 9fc3a335cc BUGFIX: don't leak out a transaction if fails 2014-01-31 11:38:33 +11:00
Sam 0a0ed44248 BUGFIX: avoid trasactions in test 2014-01-29 17:08:42 +11:00
Sam cce5fb3303 BUGFIXES: improved performance of import an export
we no longer generate the entire dump in memory, instead we generate one table at a time
added some basic progress
2014-01-29 16:49:01 +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
Sam a30aaa90d5 BUGFIX: export was broken, not exporting any tables 2014-01-17 12:33:42 +11:00
Régis Hanol 9da773af7a BUGFIX: do not pull images we already host locally 2014-01-15 01:14:41 +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
Régis Hanol e732aa8a86 BUGFIX: we should not store absolute urls for locally uploaded avatar templates
Highly recommended to run: `RAILS_ENV=production bundle exec rake avatars:regenerate` to fix the avatar templates stored in the database.
2014-01-07 17:45:06 +01:00
Robin Ward ed2e53bb06 FIX: Support feeds with `description` as well as `content` 2014-01-02 14:29:27 -05:00
Régis Hanol 46fe78cf8f BUGFIX: export rake task should include locally stored avatars 2014-01-02 17:47:19 +01: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
Neil Lalonde 90bf3cc3d4 Merge pull request #1760 from dv2/fix_spelling
Correct few spelling in the comments
2013-12-27 11:00:02 -08:00
Régis Hanol 567d2bd23c add top page 2013-12-24 00:50:36 +01:00
DV Suresh 24886c300b Correct few spelling in the comments 2013-12-21 01:19:22 -06:00
Régis Hanol 418856a789 make sure assets always use schemaless absolute uris 2013-12-06 11:16:13 +01:00
Régis Hanol 52160179f8 add a tombstone for extra safety 2013-11-27 22:05:11 +01:00
Régis Hanol b0d132ee2e make sure image urls have a scheme before pulling them in 2013-11-25 19:47:53 +01:00
Régis Hanol f65cde3cda do not bump posts when rebaking 2013-11-22 01:52:26 +01:00
Régis Hanol 31fd5b85bc FIX markdown hotlinked images were not properly pulled 2013-11-20 13:10:08 +01:00
Régis Hanol 482b752046 add edit reason when editing a post 2013-11-15 23:28:49 +01:00
Régis Hanol 16267e4887 add download_remote_images_to_local site setting 2013-11-15 15:22:18 +01:00
Régis Hanol 7e7d951152 do not pull hotlinked images when max_image_size_kb == 0 2013-11-13 17:30:48 +01:00
Neil Lalonde 1d8a3e6fc8 Add an order for user_stats table in exporter 2013-11-11 10:49:27 -05: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 0c6f794eb0 Used the term suspended instead of banned. 2013-11-07 13:53:49 -05:00
Régis Hanol 37fd7ab574 pull hotlinked images 2013-11-05 19:07:29 +01: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
Neil Lalonde c8d5db38d6 Emails to banned users will be sent for notifications of PMs from staff users 2013-10-30 15:31:16 -04: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
Régis Hanol 23bf4436f5 FIX: avatar was attached to the user who uploaded it... 2013-10-12 10:55:41 +02:00
Sam e18b93026a defer view creation on so updates are not performed when people navigate to topics 2013-10-07 15:04:59 +11: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