Commit graph

157 commits

Author SHA1 Message Date
rhymes
c41d66e900
Replace ban/banned with suspend/suspended in user facing text (#5816) [deploy] 2020-02-10 10:12:53 -05:00
Molly Struve
4691ae1e34
Log in Datadog When Sidekiq Worker Fails for Final Time (#5942) [deploy] 2020-02-10 08:56:41 -05:00
rhymes
3b25b014a3
Replace the initial migration for strong_migrations gem (#5865) 2020-02-03 11:32:46 -05:00
Molly Struve
0409722899
Introduce Elasticsearch to DEV env (#5762) [deploy] 2020-02-03 09:12:05 -05:00
Molly Struve
a19ce5518e
combine Rack::Timeout::RequestTimeoutErrors with Exceptions in Honeybadger (#5789) [deploy] 2020-01-28 16:55:51 -05:00
Molly Struve
b06ad5064a Remove ENV["USE_NEW_AWS"] and use Orig ENV variables for New Creds (#5771) [deploy]
* Remove temp ENV variable for switching buckets and use original ENV variables

* correctly choose AWS region
2020-01-27 15:46:57 -05:00
Molly Struve
c336dfc84a
Setup SitemapGenerator and CarrierWave to use new AWS creds when ENV var is set (#5570) [deploy] 2020-01-24 14:25:57 -05:00
Molly Struve
25e985cfce
Group all PG::TRDeadlockDetected and PG::QueryCanceled errors together (#5681) [deploy] 2020-01-23 17:54:46 -05:00
Molly Struve
33d6dca565
Apply Monkey Patch To Attempt To Fix Sidekiq Admin UI (#5634) [deploy]
* set sidekiq session to be the same as Rails to prevent forbidden UI errors

* monkey patch rack until new version is released to make Sidekiq Admin work
2020-01-22 14:46:24 -05:00
rhymes
09cf6719eb Use honeybadger.js from npm (#5643)
rails-assets.org is often down, and apparently has been down intermittently since yesterday.

In addition to this the only thing the gem does is literally to add `honeybadger.js` to the assets path:

```ruby
gem_path.join('app/assets').each_child.to_a
```

Hence we can ditch the gem and use the library directly.
2020-01-22 08:22:51 -05:00
Shelley Vohr
b146528aa8 feat: add per-user Open Dyslexic font setting (#5037) [deploy]
* feat: add per-user Open Dyslexic font setting

* Adjust css slightly

Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
2020-01-20 18:23:57 -05:00
Ben Halpern
8a403eba46
Bump assets version (#5587) 2020-01-20 08:13:58 -05:00
Molly Struve
ffba283b67
Only setup StrongMigrations in dev or test (#5562) [deploy] 2020-01-17 11:45:05 -05:00
Michael Kohl
9ef1ae512b Add strong_migrations gem (#5522)
* Add strong_migrations gem

* Incorporate PR feedback

* Move gem to group :development, :test
2020-01-17 09:45:44 -05:00
Molly Struve
1a3d59c97f
Send Sidekiq data to Honeycomb (#5517) [deploy] 2020-01-16 12:30:43 -05:00
Molly Struve
6726c62e94
Scrub unused data sent to Honeycomb to save space (#5512) [deploy] 2020-01-15 11:11:41 -05:00
Jacob Herrington
9652ecc456 Refactor/internal ui update (#5339) [deploy]
* Move internal styles out of layout

* Upgrade to Bootstrap 4.4 and redo nav

* Redesign /internal/users/index

* Refactor /internal/tags/show

* Refactor /internal/broadcasts/index

* Refactor /internal/broadcasts/index

* Refactor /internal/pages/index

* Refactor /internal/mods/index

* Fix internal nav highlighting

* Refactor internal/organizations/index

* Refactor internal/growth

* Refactor internal/badges

* Refactor /internal/podcasts/

* Refactor internal listings filter

* Refactor /internal/endpoints/

* Refactor /internal/tools/

* Refactor /internal/chat_channels/

* Refactor /internal/config/

* Refactor /internal/feedback_messages

This is the one that worries me the most. I made a strong effort not to
touch any IDs and the JavaScript appears to be working after manual
testing.

This view probably needs some systems specs covering it.

* Remove unused CSS

* Refactor feedback_messages/show

* Refactor internal/comments

* Refactor internal/podcasts/edit

* Refactor internal/users/show

* Refactor internal/users/edit

* Refactor internal/organizations/show

* Refactor internal/permissions

* Refactor internal/tags/show

* Refactor internal/pages/form

* Add events to navbar

* Refactor internal/events

* Refactor internal/brodcasts

* Refactor internal/articles

* Refactor internal/listings

* Remove unused CSS

* Load jquery earlier
2020-01-06 07:58:03 -05:00
rhymes
13363dd329 Rails 5.2 features: enable cache versioning (recyclable keys) (#5329) [deploy] 2020-01-02 08:40:03 -05:00
rhymes
ba424854c2 Enable cache logging in development if requested (#5330) 2020-01-02 08:11:58 -05:00
Molly Struve
45b156be86
add Sidekiq monitoring for Datadog and Honeybadger (#5270) 2019-12-30 10:16:25 -06:00
Molly Struve
9ab150daac
Change RateLimitCheckerJob to RateLimitCheckerWorker and move to sidekiq (#5269) [deploy] 2019-12-27 16:09:25 -06:00
Molly Struve
2470355e89 Implement Datadog tracing agent and APM (#5107) [deploy]
* Implement Datadog tracing agent and APM

* if I had a nickle....

* more double quoted strings and rubocop fixes

* put gems in the right order

* Remove skylight to prevent initializer collisions with Datadog which cause infinite loops

* remove skylight config files
2019-12-27 15:49:05 -05:00
rhymes
11689929ef Disable Sidekiq web sessions to make it work with Redis sessions (#5266) [deploy] 2019-12-27 12:04:50 -06:00
Molly Struve
2e661809b6 Introduce Sidekiq For Background Jobs (#5252)
* Introduce Sidekiq to the app and update RateLimitCheckerJob to use it

* fix rate limit checker spec with new sidekiq syntax

* add Sidekiq to tech stack overview

* Remove RateLimitChecker job change, add sidekiq web UI and testing support
2019-12-27 10:39:48 -05:00
Molly Struve
9638e3da26
Group Honeybadger Rack::Timeout::RequestTimeoutExceptions (#5231) [deploy] 2019-12-23 19:34:08 -06:00
Molly Struve
1156aff711
Ignore ActiveRecord::QueryCanceled errors in Honeybadger (#5165) [deploy] 2019-12-18 13:09:49 -06:00
Ben Halpern
630c1b7425
Migrate to streaming app shell via serviceworkers (#5020) [deploy]
* Initial work for streaming app shell way of using serviceworkers

* Close in on serviceworker adjustment finalization

* Add docs and loading indicator

* Remove useless code

* Don't run on API

* Update app/javascript/contentDisplayPolicy/hideBlockedContent.js

* Fix small details

* Don't run serviceworker.js code in test env

* Fix JS in serviceworker

* Move private keyword to proper place in async controller

* Change shell_version to HEROKU_SLUG_COMMIT

* Update caching config

* Add test for async_info/shell_version
2019-12-16 12:21:33 -05:00
Keith Bennett
70e1ffbbc3 Fix rubocop Rails.root.path complaints (#5114) 2019-12-16 12:13:15 -05:00
Molly Struve
a2bef6aeec
Group Internal Errors when sending to HoneyBadger (#5067) 2019-12-10 13:48:06 -06:00
Molly Struve
7c650dcb1c
Remove RedisRailsCache and replace with Rails.cache (#5059) [deploy] 2019-12-10 13:11:08 -06:00
Molly Struve
b2872eb2f3 Don't alert Honeybadger until right before a job is going to fail (#5058) [deploy] 2019-12-09 14:58:14 -05:00
Molly Struve
90712f61c6
Remove memcache dalli gem and setup code (#5057) [deploy] 2019-12-09 11:37:53 -06:00
Molly Struve
addec4b72d
Group all BANNED errors in Honeybadger (#5027) [deploy] 2019-12-06 10:59:27 -06:00
Molly Struve
8097b7f8cb Group SIGTERM fetch_all_rss rake task Honeybadgers together (#5021) [deploy] 2019-12-05 17:38:35 -05:00
Molly Struve
834eb51e98
Replace Airbrake with Honeybadger (#5007) [deploy] 2019-12-05 11:29:51 -06:00
rhymes
193bbd7349 Explain why we can't enable certain Rails 5.2 features just yet (#5005) 2019-12-04 11:08:02 -06:00
rhymes
e4b0331184 Update initializer and locales to doorkeeper 5.2.2 (#5004) 2019-12-04 11:44:46 -05:00
rhymes
d9803fef13 Enable default protect from forgery (#4827) [deploy] 2019-12-03 14:53:39 -05:00
Mac Siri
2ee4e703eb
Remove disable_indented_code_blocks (#4988) [deploy]
We have decided enable indented-code-block because it is an expected
markdown feature. The trade-off here is that backticks will cause
rendering issues in codeblock.
2019-12-03 13:04:53 -05:00
rhymes
d76c914f68 Set default Fastly Rails caching back to 30 days (#4996)
* Set default Fastly Rails caching back to 30 days

* Update reactions spec to use Fastly values instead of harcoded ones
2019-12-03 11:29:25 -05:00
Ben Halpern
585d672742
Replace serviceworker-rails gem with custome implementation (#4987) [deploy]
* Customize UserContext in Timber logs

* Replace serviceworker-rails gem with custome implementation
2019-12-03 08:50:56 -05:00
Ben Halpern
ff9b1cdeaa
Customize UserContext in Timber logs (#4972) [deploy] 2019-12-02 13:21:52 -05:00
rhymes
c08e5f0a25 Remove rubyzip initializer (#4935) [deploy]
No longer necessary on Rubyzip 2
2019-11-26 11:25:16 -05:00
rhymes
71b25f9bc7 Enable AES-256-GCM on encrypted messages (#4826) [deploy] 2019-11-22 16:54:28 -05:00
leewynne
5b50d52b5f Replaced hard coded AWS region in carrierwave.rb and sitemaps.rb. Updated legacy migration files to include pre rails 5 version (this resolved new instances on Heroku) (#4874) [deploy]
* missing rails version 4.2 added to pre 5 migrations

* updated carrierwave.rb and sitemap.rb with AWS_DEFAULT_REGION
2019-11-22 09:07:59 -05:00
rhymes
c15d48265a Routine rubocop fixes (#4859) 2019-11-19 10:46:47 -05:00
rhymes
05bd144cde Enable action_view.form_with_generates_ids (#4829) [deploy] 2019-11-19 09:32:48 -05:00
rhymes
2ca23c8983 Enable AES-256-GCM on encrypted cookies (#4216) [deploy] 2019-11-14 13:08:47 -05:00
rhymes
9d347e5e81 Use REDIS_SESSIONS_URL and default to REDIS_URL (#4801) [deploy] 2019-11-12 12:45:35 -05:00
Andy Zhao
b2e18aeb72 Use Redis for session storage (#4004) [deploy]
* WIP use redis-session-store for sessions

* Use Redis as session storage

* Add redis-server to Travis

* Use integer for SESSION_EXPIRY_SECONDS env variable

Co-Authored-By: rhymes <rhymesete@gmail.com>

* Remove sessions b/c no custom sessions logic

* Use ApplicationConfig instead

* Rename default value

* Remove rememberable module

* Persist the user for the test

* Remove remember_me related tests

* Revert 'undo remember_me' commits

* Add redis to procfile

* Cleanup devise configuration

* Move REDIS configuration in the basic configuration section

* Make sure the expiration time can't zero

* Restore old order and remove useless comment line

* Delete legacy session cookie after login

Once deployed the server will start using the new session cookie, this makes sure the legacy one is deleted on the user's browser

* Remove redis from Procfile

* Add signed, secure and httponly to the Redis session cookie
2019-11-12 10:10:34 -06:00