Commit Graph

775 Commits

Author SHA1 Message Date
Sam Saffron
c3cc96084c FIX: remove hiredis gem which is no longer needed
Previously some local micro-benchmarks revealed it was not giving any perf
benefits.

Now that we upgraded to 2.6.5 we are seeing some segfaults.

No need to carry this dependency around anymore.

We can re-evaluate in future if it improves perf and fix the segfaults.
2019-10-15 18:17:14 +11:00
romanrizzi
9845963105 FEATURE: Use the 'ugc' rel attribute alongside 'nofollow' 2019-10-14 15:21:48 -03:00
David Taylor
939a746dcd UX: Use theme colors for GitHub issue labels
Bump onebox version to pull tag rendering bug fix
2019-10-09 12:28:48 +01:00
David Taylor
3edd514c72 FEATURE: Redesigned GitHub oneboxes
Bump onebox version, and add new styling

Commit, PR and Issue oneboxes are updated with a new design. Timestamps are now localized using local-dates (if installed).
2019-10-09 11:47:58 +01:00
David Taylor
e7cc7def8b UX: Stop using fixed-width font to render github issue description
Bump onebox version
2019-10-08 11:48:05 +01:00
David Taylor
615039f228 FEATURE: Improve GitHub commit, PR and issue onebox rendering
Bump onebox version to include new github rendering, and add relevant CSS

Avatars are reduced in size significantly, and icons are added to easily differentiate PRs and commits. The 'Issue:' prefix is removed from issue oneboxes, to make them consistent with commits and PRs.
2019-10-07 19:26:10 +01:00
Sam Saffron
8d5f47dded PREF: optimise preloading application
We preload to ensure as much memory as possible is reused from unicorn master
to various workers using copy-on-write (sidekiq, unicorn)

This migrates the preloading code into the Discourse module for easier
reuse and adds 3 notable preloading changes

1. We attempt to localize a string on each site, ensuring we warmup
the i18n

2. We preload all our templates (compiling .erb to class)

3. We warm-up our search tokenizer which uses cppjieba which is a large
memory consumer, this will only cause a warmup on CJK sites or sites with
the special site setting enabled.
2019-10-07 00:33:37 -04:00
Martin Brennan
68d35b14f4 FEATURE: Webauthn authenticator management with 2FA login (Security Keys) ()
Adds 2 factor authentication method via second factor security keys over [web authn](https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API).

Allows a user to authenticate a second factor on login, login-via-email, admin-login, and change password routes. Adds registration area within existing user second factor preferences to register multiple security keys. Supports both external (yubikey) and built-in (macOS/android fingerprint readers).
2019-10-01 19:08:41 -07:00
Krzysztof Kotlarek
32b8a2ccff DEV: Upgrade Discourse to Rails 6 ()
* Adjustments to pass specs on Rails 6.0.0
* Use classic autoloader instead of Zeitwerk
* Update Rails 6.0.0 deprecated methods
* Rails 6.0.0 not allowing column with integer name
* Drop freedom_patches/rails6.rb
* Default value for trigger_transactional_callbacks? is true
* Bump rspec-rails version to 4.0.0.beta2
2019-09-12 10:41:50 +10:00
Arpit Jalan
4195548a17 Bump onebox version.
- indicate and link to Flickr Album
2019-09-11 23:23:11 +05:30
Sam Saffron
ed00f35306 FEATURE: improve performance of anonymous cache
This commit introduces 2 features:

1. DISCOURSE_COMPRESS_ANON_CACHE (true|false, default false): this allows
you to optionally compress the anon cache body entries in Redis, can be
useful for high load sites with Redis that lives on a separate server to
to webs

2. DISCOURSE_ANON_CACHE_STORE_THRESHOLD (default 2), only pop entries into
redis if we observe them more than N times. This avoids situations where
a crawler can walk a big pile of topics and store them all in Redis never
to be used. Our default anon cache time for topics is only 60 seconds. Anon
cache is in place to avoid the "slashdot" effect where a single topic is
hit by 100s of people in one minute.
2019-09-04 17:18:32 +10:00
Arpit Jalan
e9c971ba77 Bump onebox version.
- allow oneboxing for `www.amazon.com.mx`
2019-08-26 16:44:10 +05:30
Arpit Jalan
038bf02e33 Bump onebox version.
- strip whitespace from Twitter onebox
2019-08-21 10:19:54 +05:30
Arpit Jalan
f27564a0a0 Bump onebox version.
- normalize and decode html entities for image URL
2019-08-19 19:01:23 +05:30
Arpit Jalan
44f4801087 Bump onebox version.
- do not double encode percentage in url
- support hashbang in url
2019-08-12 08:42:50 +05:30
Guo Xiang Tan
740e2a6025 DEV: Add comment about fork of image_optim. 2019-08-08 13:03:35 +08:00
Arpit Jalan
bc5daa1466 Bump onebox version.
- prioritize `card_html` over `article_html`
2019-08-05 11:04:58 +05:30
Neil Lalonde
9656a21fdb
FEATURE: customization of html emails ()
This feature adds the ability to customize the HTML part of all emails using a custom HTML template and optionally some CSS to style it. The CSS will be parsed and converted into inline styles because CSS is poorly supported by email clients. When writing the custom HTML and CSS, be aware of what email clients support. Keep customizations very simple.

Customizations can be added and edited in Admin > Customize > Email Style.

Since the summary email is already heavily styled, there is a setting to disable custom styles for summary emails called "apply custom styles to digest" found in Admin > Settings > Email.

As part of this work, RTL locales are now rendered correctly for all emails.
2019-07-30 15:05:08 -04:00
Arpit Jalan
6a0787445c Bump onebox version.
- Deprioritize Twitter card in generic onebox
2019-07-25 17:13:23 +05:30
Roman Rizzi
f5c707c97a
FEATURE: Gz to zip for exports ()
* Revert "Revert "FEATURE: admin/user exports are compressed using the zip format ()""

This reverts commit f89bd55576.

* Replace .tar.zip with .zip
2019-07-18 09:34:48 -03:00
Joffrey JAFFEUX
b3eb67976d
DEV: Upgrades to Ember 3.10 ()
Co-Authored-By: majakomel <maja.komel@gmail.com>
2019-07-16 12:45:15 +02:00
Arpit Jalan
25830c73be Bump onebox version.
- use custom placeholder HTML for generic whitelisted oneboxes
- optimize usage of custom placeholder HTML
2019-07-11 18:31:51 +05:30
romanrizzi
f89bd55576 Revert "FEATURE: admin/user exports are compressed using the zip format ()"
This reverts commit 8b2580e20f.
2019-07-10 11:38:51 -03:00
Roman Rizzi
8b2580e20f
FEATURE: admin/user exports are compressed using the zip format ()
* FEATURE: admin/user exports are compressed using the zip format

* Update translations. Theme exporter now exports .zip file. Theme importer supports .zip and .gz files

* Fix controller test, updated locale and skip saving the csv export to disk
2019-07-10 11:13:03 -03:00
Arpit Jalan
f0f271cd5f Bump onebox version.
- remove additional whitespace from Twitter onebox
2019-07-09 13:12:03 +05:30
Arpit Jalan
bb8cf81089 Bump onebox version.
- better placeholders for audio/video/trello/typeform oneboxes
- added CSS for audio/video/trello/typeform onebox placeholders
2019-07-08 21:40:33 +05:30
Arpit Jalan
feb828172b Bump onebox version.
- improved spacing for quoted twitter onebox
2019-07-06 09:41:01 +05:30
Arpit Jalan
5bc1fd23b0 Bump onebox version.
- update HTML for twitter quoted onebox
- updated CSS for twitter quoted onebox
2019-07-05 19:35:36 +05:30
Arpit Jalan
1ebc3cce4a Bump onebox version.
- twitter oneboxing using API was broken
2019-07-04 11:41:07 +05:30
Arpit Jalan
32edaa3843 Bump onebox version
- support for Twitter quoted tweets
2019-07-04 11:01:30 +05:30
Abroskin Alexander
0872a1182d DEV: Replace Overcommit with Lefthook ()
Overcommit uses prebuilt hooks and require global installation.
To avoid this issues replace it with Lefthook.
Lefthook will be installed with npm packages. New contributors
will have fully consistent git hooks.
2019-07-02 11:29:52 +02:00
Arpit Jalan
7f14e185cc Bump onebox version.
- prevent double escaping of URL
2019-06-27 23:35:35 +05:30
Arpit Jalan
168a38dc29 Bump onebox version.
- better Twitch placeholder
- CSS for said placeholder
2019-06-26 23:22:29 +05:30
Arpit Jalan
2af4002817 Bump onebox version.
- Add a placeholder icon for Twitch onebox preview
- Add CSS for showing fontawesome play icon for placeholder class
2019-06-26 13:40:14 +05:30
Guo Xiang Tan
c3381b845b DEV: Install diffy in production for rake posts:inline_uploads task. 2019-06-14 14:42:53 +08:00
Guo Xiang Tan
29259b46ae DEV: Verbose mode for posts:inline_uploads rake task. 2019-06-10 08:59:11 +08:00
Guo Xiang Tan
1991af2abb DEV: Switch InlineUploads to a regexp based implementation. 2019-06-04 15:54:25 +08:00
Guo Xiang Tan
d93e5fb00d DEV: Class that converts MD with old attachment links to new MD. 2019-06-04 15:54:25 +08:00
David Taylor
8511bfe583 Bump omniauth-google-oauth2 gem version
Pinning to an old version is no longer required following 8b4d6dafea
2019-06-03 19:17:00 +01:00
Joffrey JAFFEUX
ee43b36b64
Bump onebox version. ()
Fixes multiple possible sources of exceptions due to frozen strings. Wikipedia onebox was definitely failing before this patch.
2019-05-31 17:04:34 +02:00
Joffrey JAFFEUX
75d413ad11
Bump onebox version. ()
Fixes a regression with soundclound onebox due to frozen string literal.
2019-05-31 16:41:33 +02:00
Arpit Jalan
bf3c781f26 Bump onebox version.
- add frozen string literal to all the files
2019-05-28 17:39:42 +05:30
Arpit Jalan
ce89f19250 Bump onebox version.
- use Vimeo engine for private links only
- if og:video_url is missing, make one using Vimeo ID
2019-05-20 12:24:43 +05:30
Sam Saffron
30990006a9 DEV: enable frozen string literal on all files
This reduces chances of errors where consumers of strings mutate inputs
and reduces memory usage of the app.

Test suite passes now, but there may be some stuff left, so we will run
a few sites on a branch prior to merging
2019-05-13 09:31:32 +08:00
Arpit Jalan
d679c4e0eb Bump onebox version.
- FIX: encode the URL per RFC 3986 spec
2019-05-06 18:17:42 +05:30
romanrizzi
2ebe9e3a8b Bump onebox version 2019-04-30 10:07:48 -03:00
Guo Xiang Tan
09b3d0c2a0
DEV: Only install danger on Travis. () 2019-04-29 14:45:24 +08:00
Sam Saffron
09638fcd27 DEV: add note explaining why omniauth-google-oauth2 is pinned 2019-04-29 15:47:05 +10:00
Maja Komel
4b455e741e DEV: Ember 3.8.0
Co-Authored-By: majakomel <maja.komel@gmail.com>
2019-04-26 12:16:21 +02:00
Arpit Jalan
e8f51815e5 Bump onebox version.
- Update github_blob engine to support displaying stl files
- FEATURE: add `data-original-href` attribute to Vimeo iframes
- Add poster image for video oneboxes
2019-04-24 13:59:14 +05:30
Guo Xiang Tan
b3dcaacdf4 Update Rails to 5.2.3. 2019-04-20 10:49:54 +09:00
Daniel Waterworth
7e3628d11f Added test-prof as a dependency ()
test-prof is a collection of tools for analyzing test-suite performance.
2019-04-19 10:52:31 +02:00
Nicolas Sebastian Vidal
2b8487b0ea Removed "shoulda" gem in favor of "shoulda-matchers" and update ()
* Update shoulda gem

* Remove shoulda gem in favor of shoulda-matchers only
2019-04-18 07:41:37 +10:00
Roman Rizzi
76e76140e1 Bump onebox version 2019-04-12 10:28:36 -03:00
Arpit Jalan
9c1d1777db Bump onebox version
- adds support for oneboxing google drive files
- add styling for google drive onebox favicon
2019-04-10 13:37:24 +05:30
Maja Komel
b0053f3a1c FEATURE: bump onebox version, add styling for new reddit image onebox 2019-04-04 11:24:30 +02:00
David Taylor
b375dcb14a DEV: Introduce parallel rspec testing
Adds the parallel_tests gem, and redis/postgres configuration for running rspec tests in parallel. To use:

```
rake parallel:rake[db:create]
rake parallel:rake[db:migrate]
rake parallel:spec
```

This brings the test suite from 12m20s to 3m11s on my macOS machine
2019-04-01 11:06:47 -04:00
Gerhard Schlager
cadd1d670f DEV: Add simplecov as test dependency () 2019-04-01 16:00:11 +11:00
David Taylor
59491f3047 FIX: Add sassc-rails for plugins using sprockets to compile scss
This did not affect core because we have a custom stylesheet pipeline
2019-03-21 23:23:29 +00:00
Maja Komel
f3d0d8fe7d Upgrade to Ember 3.7.0 2019-03-20 14:43:25 +01:00
Roman Rizzi
bd8e46a9c1 SECURITY: Upgrading Rails version to 5.2.2.1 2019-03-13 16:24:54 -03:00
Roman Rizzi
77931b70c3
Revert "DEV: Upgrade to Ember 3.7.0 ()" ()
This reverts commit 3eebf8be73.
2019-03-13 15:49:47 -03:00
Maja Komel
3eebf8be73
DEV: Upgrade to Ember 3.7.0 ()
* Upgrade to Ember 3.7.0

* use ember source 3.7.0.2

* fix mobile header

* fix navigation
2019-03-13 12:16:06 +01:00
Arpit Jalan
a9648e8fd1 onebox version bump
- FIX: respect code indentation
2019-03-07 17:55:47 +05:30
Vinoth Kannan
1b1f9831b0 Bump onebox version
discourse/onebox@4dd5a62
2019-03-06 11:58:41 +05:30
Gerhard Schlager
33129efdb5 Revert "Bump onebox version"
This reverts commit 345f6237cb.
2019-03-05 22:51:02 +01:00
Gerhard Schlager
345f6237cb Bump onebox version
f2b361fc28
2019-03-05 22:18:49 +01:00
Gerhard Schlager
c36c9c2ee5 FEATURE: Import script for AnswerBase
Improves the generic database used by some import scripts:
* Adds additional columns for users
* Adds support for attachments
* Allows setting the data type for keys (numeric or string) to ensure correct sorting
2019-02-28 22:08:12 +01:00
Arpit Jalan
2d247cc4e9 Bump onebox version
- deafult to dedicated vimeo and gfycat engine
2019-02-26 10:50:27 +05:30
Sam Saffron
83f13ecf82 FEATURE: bump onebox dependency
- Adds support of kaltura oneboxes
- Adds support for typeform oneboxes
2019-02-19 15:22:43 +11:00
Régis Hanol
4d674acc25 FEATURE: AWS SNS bounce notifications webhooks 2019-02-13 21:26:40 +01:00
Vinoth Kannan
36ff971c9c FIX: Bump onebox version to include imgur security fix 2019-02-13 01:11:24 +05:30
Sam
fe7c10b409 DEV: fix seed-fu require for rails 6 2019-02-06 17:33:36 +11:00
Sam
448ea663c3 DEV: remove seed-fu pinning from rails master
This pinning should no longer be needed
2019-02-06 16:54:06 +11:00
Sam
635bc72ec5 DEV: pin redis to version 4.0.1
Version 4.1.0 returns frozen hashes which conflict with our monkey patch

We will follow up unpinning this later
2019-02-05 09:08:44 +11:00
Sam
9f5bbd663d DEV: update mini_racer and message_bus
Two very low risk updates, message_bus has been released no need to depend
on pre-release.

mini_racer update is for a very minor change (shared isolates are not used
in discourse so it is not a fix we technically need)
2019-02-04 17:46:38 +11:00
Sam
1d2c4b0eee DEV: we are waiting on an annotate gem release
Once version 2.7.5 is released per: https://github.com/ctran/annotate_models/pull/595
we can drop this conditional.
2019-02-04 16:11:19 +11:00
Sam
1816bdf46e DEV: upgrade mail gem from pre-release
2.7.1 version of the mail gem was released! We no longer need to depend on
the pre-release.
2019-02-04 16:10:13 +11:00
Sam
377f3efb60 DEV: remove foreman gem and unsupported Procfile
Launching Discourse no longer should require foreman in dev. We can simply
use `bin/unicorn` which automatically launches a sidekiq worker.

The foreman gem depends on thor ~> 0.19.1 which is no longer supported in
rails 6. So this pre-emptively prepares us for it.
2019-02-04 15:05:54 +11:00
Guo Xiang Tan
53c0ad9388 Revert "DEV: Only install danger on Travis."
This reverts commit 792dd033e6.
2019-01-21 11:31:16 +08:00
Guo Xiang Tan
792dd033e6 DEV: Only install danger on Travis. 2019-01-21 09:46:32 +08:00
Joffrey JAFFEUX
f9648de897
DEV: upgrades from Ember 2.13 to Ember 3.5.1 ()
Co-Authored-By: Bianca Nenciu <nbianca@users.noreply.github.com>
Co-Authored-By: David Taylor <david@taylorhq.com>
2019-01-10 11:06:01 +01:00
David Taylor
1f0708981f FIX: Bump onebox version for gfycat aspect ratio fix 2019-01-09 18:00:28 +00:00
David Taylor
286cc72c8b FIX: Gyfcat onebox should have fixed aspect ratio videos
(Fixed upstream in the onebox gem)
2019-01-09 17:15:15 +00:00
David Taylor
fe20cb4b56 FIX: Enforce a fixed height on generic oneboxed videos
This prevents 'jumping' as the video loads. This change will require posts to be rebaked before it takes effect.
2019-01-08 16:22:03 +00:00
Arpit Jalan
c76c44bc66 bump onebox version
- FEATURE: Add support for Twitter cards.
- FIX: add more https hosts
2019-01-08 09:20:08 +05:30
Arpit Jalan
a8a0f97157 bump onebox version
- FEATURE: support YouTube `rel` parameter
2018-12-25 06:36:51 +05:30
Joffrey JAFFEUX
7b253dbe4a
FIX: gfycat oneboxing 2018-12-22 11:16:18 +01:00
Arpit Jalan
59cb907f25 Bump onebox version
- update Twitter status icons
2018-12-13 06:25:50 +05:30
Sam
fcb3f1e219 DEV: upgrade Rails to version 5.2.2 2018-12-10 11:29:28 +11:00
Sam
8868cfd2e4 FIX: redis leak when visiting large amounts of topics
Message bus uses a key to keep track of the last id for each channel
this key was never expired even if channel data expired

This change ensures we also expire the tracking key, it means a lot to us
cause each topic has a channel, so if you have 1 million topics that is
1 million keys that may persist forever
2018-11-30 14:41:15 +11:00
Arpit Jalan
597f170995 bump onebox version
- FIX: show Google video preview on iOS devices
- FIX: convert relative image url to absolute url
2018-11-17 13:45:55 +05:30
Arpit Jalan
cf0acad1e4 bump onebox version (again)
- Improve google photos album title
2018-11-09 18:31:25 +05:30
Arpit Jalan
1151c093ad bump onebox version
- Better Google Photos oneboxing
2018-11-09 15:44:06 +05:30
Arpit Jalan
7fe3491bc0 bump onebox version
- UX: make title on Instagram less redundant
2018-10-25 12:18:16 +05:30
Régis Hanol
3d5085c045 Prevent warning when bundling for imports 2018-10-19 16:03:22 +02:00
Penar Musaraj
d20fd66286 bump onebox to 1.8.64 2018-10-16 11:10:11 -04:00
Bianca Nenciu
1d26a473e7 FEATURE: Show "Recently used devices" in user preferences ()
* FEATURE: Added MaxMindDb to resolve IP information.

* FEATURE: Added browser detection based on user agent.

* FEATURE: Added recently used devices in user preferences.

* DEV: Added acceptance test for recently used devices.

* UX: Do not show 'Show more' button if there aren't more tokens.

* DEV: Fix unit tests.

* DEV: Make changes after code review.

* Add more detailed unit tests.

* Improve logging messages.

* Minor coding style fixes.

* DEV: Use DropdownSelectBoxComponent and run Prettier.

* DEV: Fix unit tests.
2018-10-09 22:21:41 +08:00
Arpit Jalan
420e7bccca bump onebox version (take 2)
- better detection of zero dollar amazon price
2018-10-03 17:54:56 +05:30
Arpit Jalan
b56d0026b9 bump onebox version
- do not display zero dollar price on Amazon onebox
- fix google play store onebox
2018-10-03 17:05:51 +05:30
Arpit Jalan
80229668f9 bump onebox version
- FIX: user correct steam placeholder image url
- catch up Ruby 2.6
2018-09-19 10:06:43 +05:30
Gerhard Schlager
0d8c72d8c4 DEV: Add rake task to check locale files for errors 2018-09-05 00:47:39 +02:00
Arpit Jalan
8ce8edaf40 bump onebox version 2018-08-31 15:10:11 +05:30
Arpit Jalan
6b9aeeea73 bump onebox version 2018-08-31 08:40:36 +05:30
Arpit Jalan
2872b100dc bump onebox version 2018-08-29 16:55:06 +05:30
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
Neil Lalonde
b829452c75
Merge pull request 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
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
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
Arpit Jalan
ccb57e609f bump onebox version 2018-06-20 11:06:56 +05:30
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
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
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
Guo Xiang Tan
5993a3ae3a Don't pin version for the webpush gem. 2018-05-07 15:45:20 +08:00
Jeff Wong
91b31860a1
Feature: Push notifications for Android ()
* 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
54d153068a DEV: remove qunit rails fork and add a couple of async tests 2018-04-23 16:42:40 +10:00
Guo Xiang Tan
689144b2bf Upgrade Mail gem. 2018-04-04 18:35:40 +08:00
Régis Hanol
2c1ede6e5f update email_reply_trimmer 2018-03-28 13:12:50 +02:00
Arpit Jalan
3a62eba299 bump onebox version 2018-03-22 11:38:01 +05:30
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
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
Régis Hanol
ae9b1e8554 FEATURE: IP.Board 3 importer 2018-03-01 09:43:32 +01:00
Gerhard Schlager
56bacb1c2f Bump onebox 2018-02-27 12:07:16 +01:00
Sam
c234a14f0d Make bootsnap MRI only for now 2018-02-26 10:29:25 +11:00
Sam
b301c9f6c1 more prep work for jRuby 2018-02-26 10:25:58 +11: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
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
Rafael dos Santos Silva
c3606fdef6 Update onebox 2018-02-14 17:43:13 -02:00
Régis Hanol
508a8e29ab update email_reply_trimmer to latest version 2018-02-06 01:04:45 +01:00
Ori Pekelman
b2b85dc694 Lock down gem versions so bundle update can be run () 2018-01-29 18:13:39 +11:00
Gerhard Schlager
5d7a33cd6d Update email_reply_trimmer to improve performance 2018-01-17 12:04:56 +01: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
Régis Hanol
e3f8182125 FIX: Google Calendar oneboxes weren't working 2018-01-07 19:15:11 +01:00
Jano Suchal
05ec1be101 Drop the fork usage of fastimage ()
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
Arpit Jalan
f9990eeb13 bump onebox version 2017-12-07 12:05:19 +05:30
Kyle Zhao
5f318a5241 FEATURE: Replace SimpleRSS with Ruby RSS module ()
* 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
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
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
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
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
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
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
Guo Xiang Tan
531cbc77c6 Run lint in a parallel job on Travis. 2017-08-18 15:25:59 +09:00
Bianca Nenciu
1c079bec33 Remove Spork dependency. 2017-08-10 22:54:52 +01:00
Régis Hanol
9aa49e922c let's use the latest omniauth-github gem 2017-08-07 10:43:54 +02:00
Régis Hanol
ad20f59897 FIX: couldn't upload SVG with a DOCTYPE 2017-08-07 10:32:35 +02:00
Arpit Jalan
061cc17a65 fix the build 2017-08-03 21:30:05 +05:30
Arpit Jalan
2d909f7894 new phpBB PostgreSQL bulk import script 2017-08-03 21:21:58 +05:30
Guo Xiang Tan
54f09ca59d Install rubocop in development mode. 2017-08-01 10:51:44 +09:00
Erick Guan
f1eccd113c Replace rmmseg gem for cppjieba_rb since better dictionary ()
* Rename locale to ts config in search module to make it clear

* Replace rmmese-cpp for cppjieba_rb
2017-07-31 15:28:48 -04:00
Régis Hanol
cae437850e update email_reply_trimmer to latest 2017-07-31 11:21:41 +02:00
Guo Xiang Tan
5012d46cbd Add rubocop to our build. () 2017-07-28 10:20:09 +09:00
Sam Saffron
045a2abcec FEATURE: remove the timecop gem
We should only have one way of mocking time, misuse of timecop
was causing build stability issues
2017-07-24 12:11:10 -04:00
Robin Ward
2f480e21a0 Stop using Babel source gem, which is no longer updated 2017-07-05 14:19:16 -04:00
Sam
234694b50f Feature: CommonMark support
This adds the markdown.it engine to Discourse.
https://github.com/markdown-it/markdown-it

As the migration is going to take a while the new engine is default
disabled. To enable it you must change the hidden site setting:
enable_experimental_markdown_it.

This commit is a squash of many other commits, it also includes some
improvements to autospec (ability to run plugins), and a dev dependency
on the og gem for html normalization.
2017-06-23 12:01:33 -04:00
Sam
2181e995f1 remove sinatra 2017-06-19 13:49:11 -04:00
Guo Xiang Tan
d82dbd565b FIX: Remove dependency on rest-client. 2017-06-16 09:42:41 +09:00
Régis Hanol
5d63a7f4a6 FIX: pull hotlinked images even when they have no extension 2017-06-13 13:27:05 +02:00
Robin Ward
369bb78f8e FIX: Support for cookies in onebox redirects 2017-06-06 15:02:11 -04:00
Gerhard Schlager
8299e7e8c3
Add new, experimental version of mbox importer 2017-05-29 20:59:18 +02:00
Sam
3384a7dd2a proper bootsnap release 2017-05-26 13:26:45 -04:00
Sam
076f079d17 bootsnap upgrade
see: https://github.com/Shopify/bootsnap/pull/43#issuecomment-304281474
2017-05-26 09:37:18 -04:00
Robin Ward
29755be139 Remove bundle-audit, it is not updated frequently enough 2017-05-18 12:31:19 -04:00
Robin Ward
e865a44b93 FIX: Forgot to lock gem 2017-05-15 13:35:28 -04:00
Robin Ward
e6c6ea79fa Add bundle-audit for security auditing 2017-05-15 13:24:37 -04:00
Sam
704101253d add bootsnap to speed up test and dev 2017-05-11 13:51:38 -04: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
Régis Hanol
4b9cc1ad17 import likes & bookmarks in JIVE API importer 2017-05-03 16:00:23 +02: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
Sam Saffron
587653ad73 remove bootsnap till we sort out linux 2017-04-25 14:55:18 -07:00
Sam Saffron
1ae67a21f5 FEATURE: add support for bootsnap in dev
To use bootsnap which speeds up rails boot add

BOOTSNAP=1 to your env
2017-04-25 10:15:12 -07:00
Régis Hanol
e6f22725c8 Add some gems only used by imports 2017-04-24 22:59:41 +02:00
Guo Xiang Tan
d7b446c174 Install discourse_image_optim gem for now. 2017-04-20 15:14:39 +08:00
Guo Xiang Tan
04016f0dec Support Ruby 2.4. 2017-04-15 12:29:00 +08:00
Sam
22214f5e5c Upgrade the Listen gem 2017-04-13 10:39:36 -04:00
Sam
a3e8c3cd7b FEATURE: Native theme support
This feature introduces the concept of themes. Themes are an evolution
of site customizations.

Themes introduce two very big conceptual changes:

- A theme may include other "child themes", children can include grand
children and so on.

- A theme may specify a color scheme

The change does away with the idea of "enabled" color schemes.

It also adds a bunch of big niceties like

- You can source a theme from a git repo

- History for themes is much improved

- You can only have a single enabled theme. Themes can be selected by
    users, if you opt for it.

On a technical level this change comes with a whole bunch of goodies

- All CSS is now compiled using a custom pipeline that uses libsass
    see /lib/stylesheet

- There is a single pipeline for css compilation (in the past we used
    one for customizations and another one for the rest of the app

- The stylesheet pipeline is now divorced of sprockets, there is no
   reliance on sprockets for CSS bundling

- CSS is generated with source maps everywhere (including themes) this
    makes debugging much easier

- Our "live reloader" is smarter and avoid a flash of unstyled content
   we run a file watcher in "puma" in dev so you no longer need to run
   rake autospec to watch for CSS changes
2017-04-12 10:53:49 -04:00
Guo Xiang Tan
4cb6880766 Upgrade image_optim. 2017-04-12 10:38:17 -04:00
Guo Xiang Tan
9f299b6842 Use after_commit since after_save runs within the transaction as well. 2017-03-16 16:02:34 +08:00
Guo Xiang Tan
89f056203e Don't load thor in our Rails processes. 2017-03-03 10:14:35 +08:00
Robin Ward
890f1bde89 FIX: Add thor to Gemfile. We need it for our CLI tool. 2017-03-02 13:36:06 -05:00
Sam Saffron
1a45fe94a2 drop thin, it is no longer supported 2017-01-20 08:11:36 -05:00
Guo Xiang Tan
b5d65d8dda Remove lines that are no longer valid. 2017-01-13 09:51:09 +08:00
Robin Ward
6b4f265a8c Revert "Experimental feature to load gemfiles from plugins"
This reverts commit 64652f98ab.
2017-01-09 16:08:35 -05:00
Robin Ward
64652f98ab Experimental feature to load gemfiles from plugins 2017-01-09 12:49:55 -05:00
Sam Saffron
920050c3ec remove conditional support for ruby 2.0 2016-12-29 16:32:23 +11:00
Sam
c531f4ded5 remove rails-observers
Rails yanked out observers many many years ago, instead the functionality
was yanked out to a gem that is very lightly maintained.

For example: if we want to upgrade to rails 5 there is no published gem

Internally the usage of observers had quite a few problem.

The series of refactors renamed a bunch of classes to give us more clarity
and removed some magic.
2016-12-22 16:46:53 +11:00
Sam
ea9f7a41af remove gctools (no longer used) add gctracer for debugging 2016-12-20 15:07:30 +11:00
Robin Ward
e03d5e2140 Reapply Ember 2.10 for good this time!
This reverts commit ddd299f4aa.
2016-12-19 11:19:10 -05:00
Robin Ward
ddd299f4aa Revert "Revert "Revert Ember 2.10+ for a short while""
This reverts commit 76bbc481cb.
2016-12-16 10:29:30 -05:00
Robin Ward
76bbc481cb Revert "Revert Ember 2.10+ for a short while"
This reverts commit 21682fd60b.
2016-12-16 09:52:29 -05:00
Robin Ward
21682fd60b Revert Ember 2.10+ for a short while 2016-12-15 16:43:38 -05:00
Robin Ward
a149913c4d FIX: Template compilation was broken 2016-12-15 10:28:15 -05:00
Robin Ward
28699e66d8 Revert "REVERT: Ember 2.10 -- it's not building properly"
This reverts commit 600541c623.
2016-12-15 10:28:15 -05:00
Guo Xiang Tan
18f400e652 Remove RSpec given. 2016-12-14 10:29:22 +08:00
Robin Ward
600541c623 REVERT: Ember 2.10 -- it's not building properly 2016-12-12 16:19:05 -05:00
Robin Ward
a808bcb0b8 Upgrade to Ember 2.10 2016-12-12 14:44:29 -05:00
Robin Ward
765e5e9186 Upgrade to Ember 2.9 2016-12-12 14:44:29 -05:00
Robin Ward
2d3518f475 Enable newer version of Ember 2016-11-25 10:09:58 -05:00
Régis Hanol
343396e182 bump email_reply_trimmer 2016-11-17 23:33:16 +01:00