Commit Graph

915 Commits

Author SHA1 Message Date
Guo Xiang Tan 6acba44ed9 Revert "Install `mailcatcher` in development."
This reverts commit 914ce34e5b.

* requires sqlite3 to be installed.
2018-08-21 15:40:50 +08:00
Guo Xiang Tan 914ce34e5b Install `mailcatcher` in development. 2018-08-21 15:28:02 +08:00
Sam 168ffd8384 FEATURE: group warnings about IP level rate limiting 2018-08-13 14:38:20 +10:00
Neil Lalonde b829452c75
Merge pull request #6209 from discourse/mini_scheduler
REFACTOR: extract scheduler to the mini_scheduler gem
2018-08-01 10:28:24 -04:00
Gerhard Schlager a115aae45f Use rchardet instead of charlock_holmes gem 2018-08-01 10:41:20 +02:00
Gerhard Schlager ff942ed2f3 FIX: Try detecting encoding of RSS feed 2018-08-01 10:41:20 +02:00
Neil Lalonde 4ad7ce70ce REFACTOR: extract scheduler to the mini_scheduler gem 2018-07-31 17:12:55 -04:00
Arpit Jalan 458d9cd17a bump onebox version 2018-07-31 22:52:03 +05:30
Joffrey JAFFEUX b4a2f3fe2f
DEV: implementing danger for travis 2018-07-24 10:12:15 -04:00
Arpit Jalan 22dad7f0e8 bump onebox version 2018-07-17 13:55:00 +05:30
Arpit Jalan 39299fdd8c bump onebox version 2018-07-16 11:43:32 +05:30
Arpit Jalan 2a5a57a87e bump onebox version 2018-07-12 21:29:34 +05:30
Guo Xiang Tan 72a3457379 Bump `discourse_image_optim` which uses a global timeout.
Our previous solution has the timeout set at the worker level
which means the total timeout would be X timeout secs * N number of
workers.
2018-07-09 10:30:18 +08:00
Sam 564e7e6898 FEATURE: update libv8 to version 6.7
This has parity with stable Chrome!
2018-07-09 09:08:25 +10:00
Sam f662d1135e FIX: update mini_racer corrects erratic segfaults
In some conditions mini_racer would segfault causing sidekiq crash or
web crash, this was automatically recovered from but not ideal.
2018-07-06 11:00:07 +10:00
Guo Xiang Tan 3d2f3ef8ae Update discourse_image_optim gem. 2018-07-03 15:22:54 +08:00
Arpit Jalan 55a963252d bump onebox version 2018-07-02 10:36:26 +05:30
Joffrey JAFFEUX ebd2be9e02
DEV: lower highline requirement 2018-06-27 22:50:00 +02:00
Arpit Jalan 2f5b7beace bump onebox version 2018-06-25 11:22:06 +05:30
Sam da8c6e9ac0 bump mini_sql for faster/more correct time conversions 2018-06-24 15:17:47 +10:00
Arpit Jalan a171464a55 bump onebox version 2018-06-20 16:47:55 +05:30
Guo Xiang Tan bb959e85e6 Pin exifr to 1.2.5. 2018-06-20 17:27:46 +08:00
Sam cb824a6b33 DEV: remove all calls to SqlBuilder use DB.build instead
This is part of the migration to mini_sql, SqlBuilder.new is being
deprecated and replaced with DB.build
2018-06-20 17:53:49 +10:00
Guo Xiang Tan 76707eec1b Update rails_multisite. 2018-06-20 15:11:41 +08:00
Arpit Jalan ccb57e609f bump onebox version 2018-06-20 11:06:56 +05:30
Sam 2a8e7a5d4e upgrade gems 2018-06-20 10:07:56 +10:00
Sam 8ea29c51ae SECURITY: update sprockets for CVE-2018-3760 2018-06-20 09:49:26 +10:00
Sam b8e5989201 correct rake db:create, which needs a defer DB object 2018-06-19 16:43:50 +10:00
Sam 5f64fd0a21 DEV: remove exec_sql and replace with mini_sql
Introduce new patterns for direct sql that are safe and fast.

MiniSql is not prone to memory bloat that can happen with direct PG usage.
It also has an extremely fast materializer and very a convenient API

- DB.exec(sql, *params) => runs sql returns row count
- DB.query(sql, *params) => runs sql returns usable objects (not a hash)
- DB.query_hash(sql, *params) => runs sql returns an array of hashes
- DB.query_single(sql, *params) => runs sql and returns a flat one dimensional array
- DB.build(sql) => returns a sql builder

See more at: https://github.com/discourse/mini_sql
2018-06-19 16:13:36 +10:00
Guo Xiang Tan f4fdcda502 Upgrade to Rails 5.2 take 2. 2018-06-08 09:33:50 +08:00
Gerhard Schlager c6bf8f6e24 FIX: Uploading JPEG files didn't work anymore 2018-06-07 17:39:27 +02:00
Sam 1834417e2f downgrade rails properly 2018-06-07 20:38:22 +10:00
Sam d3b8ee761c revert to rails 5.1 for now 2018-06-07 19:47:53 +10:00
Sam 89ad2b5900 DEV: Rails 5.2 upgrade and global gem upgrade
This updates tests to use latest rails 5 practice
and updates ALL dependencies that could be updated

Performance testing shows that performance has not regressed
if anything it is marginally faster now.
2018-06-07 14:21:33 +10:00
Guo Xiang Tan 2bd905c632 Revert "Upgrade Rails to 5.1.6."
This reverts commit ab66215f5c.
2018-06-07 09:49:38 +08:00
Guo Xiang Tan ab66215f5c Upgrade Rails to 5.1.6. 2018-06-07 08:34:36 +08:00
Régis Hanol 685083491e FEATURE: StackOverflow importer 2018-06-04 16:57:12 +02:00
Guo Xiang Tan 2bafd2a355 Don't pin version of `Fabrication` gem. 2018-05-28 15:09:02 +08:00
Arpit Jalan 1c61117cbc bump onebox version 2018-05-23 17:44:01 +05:30
Régis Hanol 8238097d0f bump email_reply_trimmer 2018-05-17 10:22:53 +02:00
Sam fc54238726 FIX: message bus had corrupt internal state for first 30 secs
This upgrades message bus to latest and corrects an issue where
it did not track the fact it was polling for the first 30 seconds

It corrected internal state after, but this caused some odd issues
2018-05-16 12:19:16 +10:00
Guo Xiang Tan b18e0825b5 Update Gemfile.lock. 2018-05-07 17:10:34 +08:00
Jeff Wong 91b31860a1
Feature: Push notifications for Android (#5792)
* Feature: Push notifications for Android

Notification config for desktop and mobile are merged.

Desktop notifications stay as they are for desktop views.

If mobile mode, push notifications are enabled.

Added push notification subscriptions in their own table, rather than through
custom fields.

Notification banner prompts appear for both mobile and desktop when enabled.
2018-05-04 15:31:48 -07:00
Arpit Jalan c718c59b5d bump onebox version 2018-05-03 16:14:16 +05:30
Régis Hanol ddb092f397 FIX: update mail gem to fix UTF-8 parsing issue 2018-04-25 21:53:37 +02:00
Arpit Jalan 256545ca2c bump onebox version 2018-04-23 15:18:19 +05:30
Sam 050ce48bd0 Update message bus to correct issue where too many reqs are performed 2018-04-20 15:52:24 +10:00
Guo Xiang Tan 9c9fa4537c Update Redis gems. 2018-04-20 12:49:36 +08:00
Guo Xiang Tan 56b3527eb8 Upgrade Sidekiq. 2018-04-20 11:47:40 +08:00
Sam 284c946128 revert puma upgrade for now
it does not work right in dev
2018-04-11 14:36:10 +10:00
dependabot[bot] a89d7ef851 Bump puma from 3.9.1 to 3.11.3
Bumps [puma](https://github.com/puma/puma) from 3.9.1 to 3.11.3.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/master/History.md)
- [Commits](https://github.com/puma/puma/compare/v3.9.1...v3.11.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-04-10 16:09:30 +10:00
Guo Xiang Tan 689144b2bf Upgrade Mail gem. 2018-04-04 18:35:40 +08:00
Sam 98faf2878e FEATURE: bump rack-mini-profiler version
This corrects a warning in chrome console and provides better jQuery 3 compatability
2018-03-29 11:12:09 +11:00
Régis Hanol 2c1ede6e5f update email_reply_trimmer 2018-03-28 13:12:50 +02:00
Robin Ward 2ca37602d9 Update rack-protection 2018-03-26 12:49:54 -04:00
Robin Ward 84e1ffd141 Update rails-html-sanitizer 2018-03-26 12:48:28 -04:00
Arpit Jalan 3a62eba299 bump onebox version 2018-03-22 11:38:01 +05:30
Régis Hanol 25284d2340 update loofah gem 2018-03-21 13:32:28 +01:00
Régis Hanol 9c4936ec9c update sanitize gem 2018-03-21 13:27:17 +01:00
Arpit Jalan 3e32ab1523 UX: css for Instagram onebox 2018-03-19 13:32:36 +05:30
Guo Xiang Tan 8027096c09 Partially revert "Upgrade mail gem to remove dependency on mime-types."
Still seeing heap_live_count spikes.

This reverts commit 58b8ea4f41.
2018-03-14 20:21:45 +08:00
Guo Xiang Tan 58b8ea4f41 Upgrade mail gem to remove dependency on mime-types.
* Use a EmailValidator.email_regexp for `Email.is_valid?`
  check as we're seeing an increase in allocation when
  parsing email addresses wih `Mail::Address`.
2018-03-14 14:37:55 +08:00
Sam 685406b1bb try updating rubocop so it does not crash 2018-03-13 17:58:23 +11:00
Sam 39e679d3cb FEATURE: allow themes to live in private git repos
This feature allows themes sourced from git to live on private
servers, it automatically generates key pairs.
2018-03-09 16:14:38 +11:00
Guo Xiang Tan bdb25338e5 Update bootsnap. 2018-03-06 17:37:02 +08:00
Gerhard Schlager 56bacb1c2f Bump onebox 2018-02-27 12:07:16 +01:00
Sam 79e0cd7f52 update onebox 2018-02-26 10:15:14 +11:00
Jeff Wong f4f8a293e7 FEATURE: Implement 2factor login TOTP
implemented review items.

Blocking previous codes - valid 2-factor auth tokens can only be authenticated once/30 seconds.
I played with updating the “last used” any time the token was attempted but that seemed to be overkill, and frustrating as to why a token would fail.
Translatable texts.
Move second factor logic to a helper class.
Move second factor specific controller endpoints to its own controller.
Move serialization logic for 2-factor details in admin user views.
Add a login ember component for de-duplication
Fix up code formatting
Change verbiage of google authenticator

add controller tests:
second factor controller tests
change email tests
change password tests
admin login tests

add qunit tests - password reset, preferences

fix: check for 2factor on change email controller
fix: email controller - only show second factor errors on attempt
fix: check against 'true' to enable second factor.

Add modal for explaining what 2fa with links to Google Authenticator/FreeOTP

add two factor to email signin link

rate limit if second factor token present

add rate limiter test for second factor attempts
2018-02-21 09:04:07 +08:00
Sam 80ec6ce4fd bump onebox 2018-02-21 10:06:17 +11:00
Sam 107eb5d830 FIX: binding_of_caller not working on Ruby 2.5 2018-02-19 11:37:16 +11:00
Sam 9d8df812dd PERF: upgrade Oj gem 2018-02-19 11:37:16 +11:00
Arpit Jalan 9bb7c3dcf0 bump onebox version 2018-02-16 21:32:25 +05:30
Sam e456ae1b6c Revert "Upgrade mail gem to drop dependency on `mime-types`."
This reverts commit 498cc15aa9.

Noticed a certain amount of extra allocations due to this upgrade,
reverting to confirm if this is the case
2018-02-16 07:04:22 +11:00
Guo Xiang Tan 498cc15aa9 Upgrade mail gem to drop dependency on `mime-types`.
Boot Memory Usage

```
Total allocated: 225695379 bytes (1990663 objects)
Total retained:  32795116 bytes (291607 objects)
```

```
Total allocated: 218342892 bytes (1897350 objects)
Total retained:  30123426 bytes (261198 objects)
```
2018-02-15 16:24:26 +08:00
Sam 94b2c70c0d PERF: remove oga gem
oga gem is automatically required by the aws gem
the oga gem retains about 1mb of memory, aws now uses nokogiri

This also removes the html normalize from the pretty text specs that was
a fair bit buggy as the polls test shows.
2018-02-15 14:36:40 +11:00
Sam c89b42c488 PERF: only require the rss library if used
Before:

Total allocated: 257909321 bytes (2514134 objects)
Total retained:  39681579 bytes (343387 objects)

allocated memory by gem
-----------------------------------
  42875979  rss

retained memory by gem
-----------------------------------
   2080188  rss

retained objects by gem
-----------------------------------
     13052  rss

After:

Total allocated: 210562047 bytes (2252030 objects)
Total retained:  37433816 bytes (328635 objects)

----

So, 2 less megabytes on boot and 13000 objects stuck in ruby heaps forever.
2018-02-15 13:11:33 +11:00
Rafael dos Santos Silva 218c8e8623
Merge pull request #5595 from discourse/new-gfycat-onebox
New gfycat onebox
2018-02-14 19:03:28 -02:00
Rafael dos Santos Silva c3606fdef6 Update onebox 2018-02-14 17:43:13 -02:00
Robin Ward 0b13b82e94 Update nokogiri to latest version 2018-02-13 19:36:19 -05:00
Guo Xiang Tan 19b4116416 Bump `rails_multisite` to 2.0.4. 2018-02-12 15:39:21 +08:00
Guo Xiang Tan 5dabcc9081 Fix Gemfile.lock. 2018-02-12 14:08:02 +08:00
Guo Xiang Tan 87b0cc382b Bump `rails_multisite` to 2.0.3. 2018-02-12 14:03:04 +08:00
Régis Hanol 508a8e29ab update email_reply_trimmer to latest version 2018-02-06 01:04:45 +01:00
Sam 073d072aa6 correct lockfile 2018-01-29 18:28:59 +11:00
Sam d2025e33cf FEATURE: bump rbtrace to latest 2018-01-23 15:36:47 +11:00
Sam 36ed8f5176 Correct regression where /sidekiq/scheduler was not working 2018-01-22 10:48:35 +11:00
Guo Xiang Tan 54dc191a91 Update `rails_multisite` to 2.0.1. 2018-01-19 10:19:16 +08:00
Sam 12872d03be PERF: run post timings in background
This means that if a very large amount of registered users hit
a single topic we will handle it gracefully, even if db gets slow.
2018-01-19 08:27:29 +11:00
Gerhard Schlager 5d7a33cd6d Update email_reply_trimmer to improve performance 2018-01-17 12:04:56 +01:00
Sam 8c47eb2951 update coderay 2018-01-17 15:50:41 +11:00
Arpit Jalan a0f0ed576a bump onebox version 2018-01-11 23:15:25 +05:30
Arpit Jalan afb18a5c41 bump onebox version 2018-01-11 14:30:35 +05:30
Sam d5fd6d2639 PERF: defer message bus on hidden tabs so only one in 1.5 seconds happens 2018-01-09 12:39:17 +11:00
Guo Xiang Tan 74ec100aff Upgrade `pg` gem. 2018-01-08 10:27:19 +08:00
Régis Hanol e3f8182125 FIX: Google Calendar oneboxes weren't working 2018-01-07 19:15:11 +01:00
Sam 8d4cd57662 Update libv8 from 5.9 to 6.3 2018-01-05 17:12:04 +11:00
Jano Suchal 05ec1be101 Drop the fork usage of fastimage (#5461)
Fork is not needed anymore since fastimage 2.1.1 has been released with the needed PR merged in.
2018-01-04 09:53:53 +01:00
Sam 030a0cd698 bump onebox for vimeo private link support 2017-12-29 09:38:25 +11:00
Arpit Jalan b74e933cfb bump onebox version 2017-12-23 01:17:30 +05:30
Arpit Jalan 16076f9ab8 bump onebox version 2017-12-21 14:49:59 +05:30
Sam fd67508497 FIX: don't count users as replying long after they are done typing
Also, don't leak a large amount of redis usage for presence stuff
2017-12-18 15:41:32 +11:00
Arpit Jalan f9990eeb13 bump onebox version 2017-12-07 12:05:19 +05:30
Kyle Zhao 5f318a5241 FEATURE: Replace SimpleRSS with Ruby RSS module (#5311)
* SPEC: PollFeedJob parsing atom feed

* add FeedItemAccessor

It is to provide a consistent interface to access a feed item's tag
content.

* add FeedElementInstaller

to install non-standard and non-namespaced feed elements

* FEATURE: replace SimpleRSS with Ruby RSS module

* get FinalDestination and download with Excon

* support namespaced element with FeedElementInstaller
2017-12-06 10:45:09 +11:00
Arpit Jalan 7bbf137238 bump onebox version 2017-12-05 07:28:45 +05:30
Guo Xiang Tan f5d45f797a Fix broken Gemfile.lock. 2017-12-04 11:28:45 +08:00
Guo Xiang Tan 78f09f0489 Logster 1.2.9 is the version we want to be at. 2017-12-04 11:05:14 +08:00
Guo Xiang Tan 846b047847 Revert "Revert "Upgrade logster.""
This reverts commit 57ca4b20e2.
2017-12-04 09:30:21 +08:00
Guo Xiang Tan 57ca4b20e2 Revert "Upgrade logster."
This reverts commit 1376a86bcc.
2017-12-01 17:32:49 +08:00
Guo Xiang Tan 1376a86bcc Upgrade logster. 2017-12-01 16:03:00 +08:00
Guo Xiang Tan 3053499375 Update mini_suffix. 2017-11-30 11:14:06 +08:00
Guo Xiang Tan fffb7561c4 Update `mini_suffix`. 2017-11-29 17:07:41 +08:00
Guo Xiang Tan 8491c5fba5 UX: Replace heuristic solution for extracting root domain. 2017-11-29 16:26:46 +08:00
Arpit Jalan 64cdb4f7e8 bump onebox version 2017-11-27 12:21:47 +05:30
Guo Xiang Tan c8157f6b07 Update seed-fu with PG10 support.
https://meta.discourse.org/t/discourse-appears-to-be-broken-with-postgres-10/71723
2017-11-27 10:26:59 +08:00
Arpit Jalan abbb2b28eb bump onebox version 2017-11-25 15:53:18 +05:30
Sam 407d80f1dd FEATURE: update rack-mini-profiler to latest 2017-11-24 10:28:35 +11:00
Sam 8fd09fe616 FEATURE: upgrade message bus
new version recovers very cleanly from redis flush
2017-11-24 09:23:12 +11:00
Arpit Jalan 961a09ff14 bump onebox version 2017-11-23 17:45:08 +05:30
Arpit Jalan 211dac6f71 bump onebox version 2017-11-22 14:55:47 +05:30
Arpit Jalan b8c9975429 bump onebox version 2017-11-21 11:10:44 +05:30
Guo Xiang Tan 89d9ffa884 EXPERIMENTAL: Allow logs to be shipped via different methods.
See https://github.com/dwbutler/logstash-logger#uri-configuration for
a list of available methods.
2017-11-15 09:11:33 +08:00
Sam 5427ca13b7 FEATURE: update rails multisite so we error out if RAILS_DB is invalid 2017-11-13 16:37:25 +11:00
Sam 86e6732f78 FEATURE: update rails multisite
always allow /srv/status through even if host does not match
2017-11-09 15:40:56 +11:00
Sam fc7dca58fe UX: oneboxes with avatars now display consistently
Onebox avatar size is reduced to 60px

Also fixes regression with some oneboxes not cooking after post
2017-11-08 11:50:01 +11:00
Guo Xiang Tan a97273e1a5 Update Unicorn to 5.3.1. 2017-11-06 11:22:58 +08:00
Arpit Jalan 253de41166 bump onebox gem version 2017-11-03 22:38:36 +05:30
Arpit Jalan 91438849d2 bump onebox version 2017-11-02 00:51:21 +05:30
Arpit Jalan 6b5bb9d664 bump onebox gem version 2017-11-01 15:50:23 +05:30
Guo Xiang Tan d888d3c54c EXPERIMENTAL: Allow Logstash formatter to be enable for lograge logs. 2017-11-01 08:38:06 +08:00
Guo Xiang Tan 58bb3c14f6 Remove gem that is no longer used. 2017-10-31 14:13:54 +08:00
Guo Xiang Tan d487be759c EXPERIMENTAL: Allow app to Logstash directly. 2017-10-27 22:56:32 +08:00
Guo Xiang Tan 90d6677d97 EXPERIMENTAL: Allow lograge to be selected as the logging library. 2017-10-27 17:54:45 +08:00
Guo Xiang Tan db579f7917 Upgrade logster. 2017-10-27 12:13:52 +08:00
Guo Xiang Tan 09e7c1ce8a Update Rubocop. 2017-10-23 12:03:31 +08:00
Guo Xiang Tan a88f910469 Bump message_bus to 2.0.8. 2017-10-06 08:33:46 +08:00
Guo Xiang Tan a25851032a Update Sidekiq. 2017-10-05 13:59:21 +08:00
Sam ac01885b60 FEATURE: rake tasks for uploading assets to S3
This opens the door to serving application.js and so on from s3.

Also updates s3 gem for some tagging support
2017-10-03 18:00:53 +11:00
Guo Xiang Tan f1d8ed6aaf Update lock file. 2017-10-03 14:59:25 +08:00
Guo Xiang Tan 7e059a5a6e Upgrade Rails to 5.1.4. 2017-10-03 14:56:44 +08:00
Sam 9fa575dca1 Update message bus
This corrects a rare race condition.
2017-10-02 15:21:45 +11:00
Sam 41261b32a5 FIX: update message bus
- Corrects broken short polling
- Corrects after fork
2017-09-29 16:58:12 +10:00
Guo Xiang Tan d442da9fdd SECURITY: Update Nokogiri. 2017-09-25 20:06:58 +08:00
Guo Xiang Tan 77d4c4d8dc Fix all the errors to get our tests green on Rails 5.1. 2017-09-25 13:48:58 +08:00
Guo Xiang Tan 898ee93547 Upgrade to Rails 5. 2017-09-25 10:01:22 +08:00
Guo Xiang Tan d58de2b484 Install Ruby-Prof. 2017-09-25 10:01:22 +08:00
Gerhard Schlager 0960e2dd67 bump onebox version 2017-09-18 14:25:56 +02:00
Gerhard Schlager 619864bc70 update email_reply_trimmer to latest 2017-09-14 17:20:55 +02:00
Arpit Jalan eafab41a2c bump onebox version 2017-08-17 13:10:11 +05:30
Sam 91f0f76fb1 update message bus to ruby 2.0 packaged version 2017-08-16 15:05:39 -04:00
Sam Saffron d27e81a296 Perf: update message_bus to latest 2017-08-16 07:50:12 -04:00