diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-01-26 14:52:07 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-01-26 14:52:07 +0100 |
commit | cc5c1e5febf588183145e30dc7e98e5ea33cd398 (patch) | |
tree | 80c8490331695b37452b6cfe4e75529d160ba6ee | |
parent | 2f18c77e448e105db691253ad04c83e4b862cbfe (diff) |
Removed accidental n+1 query from notifications, updated some deps,
improved how "show more" link looks
-rw-r--r-- | Gemfile | 4 | ||||
-rw-r--r-- | Gemfile.lock | 14 | ||||
-rw-r--r-- | app/assets/javascripts/components/components/status_content.jsx | 23 | ||||
-rw-r--r-- | app/assets/stylesheets/components.scss | 9 | ||||
-rw-r--r-- | app/models/notification.rb | 2 | ||||
-rw-r--r-- | config/environments/development.rb | 2 | ||||
-rw-r--r-- | db/seeds.rb | 7 |
7 files changed, 36 insertions, 25 deletions
diff --git a/Gemfile b/Gemfile index 7fb3ab91d..77f465816 100644 --- a/Gemfile +++ b/Gemfile @@ -79,7 +79,7 @@ end group :production do gem 'rails_12factor' - gem 'lograge' gem 'redis-rails' - gem 'rack-timeout-puma' + gem 'lograge' + gem 'rack-timeout' end diff --git a/Gemfile.lock b/Gemfile.lock index 12f6679c7..a37a06b01 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -72,7 +72,7 @@ GEM browserify-rails (3.1.0) railties (>= 4.0.0, < 5.1) sprockets (>= 3.5.2) - builder (3.2.2) + builder (3.2.3) bullet (5.3.0) activesupport (>= 3.0.0) uniform_notifier (~> 1.10.0) @@ -198,7 +198,7 @@ GEM minitest (5.10.1) multi_json (1.12.1) nio4r (1.2.1) - nokogiri (1.6.8.1) + nokogiri (1.7.0.1) mini_portile2 (~> 2.1.0) oj (2.17.3) orm_adapter (0.5.0) @@ -244,8 +244,6 @@ GEM rack-test (0.6.3) rack (>= 1.0) rack-timeout (0.4.2) - rack-timeout-puma (0.0.1) - rack-timeout (~> 0.2, >= 0.2.0) rails (5.0.1) actioncable (= 5.0.1) actionmailer (= 5.0.1) @@ -258,9 +256,9 @@ GEM bundler (>= 1.3.0, < 2.0) railties (= 5.0.1) sprockets-rails (>= 2.0.0) - rails-dom-testing (2.0.1) + rails-dom-testing (2.0.2) activesupport (>= 4.2.0, < 6.0) - nokogiri (~> 1.6.0) + nokogiri (~> 1.6) rails-html-sanitizer (1.0.3) loofah (~> 2.0) rails-settings-cached (0.6.5) @@ -450,7 +448,7 @@ DEPENDENCIES rabl rack-attack rack-cors - rack-timeout-puma + rack-timeout rails (~> 5.0.1.0) rails-settings-cached rails_12factor @@ -476,4 +474,4 @@ RUBY VERSION ruby 2.3.1p112 BUNDLED WITH - 1.13.7 + 1.14.3 diff --git a/app/assets/javascripts/components/components/status_content.jsx b/app/assets/javascripts/components/components/status_content.jsx index ded98c1cd..d6d7a5721 100644 --- a/app/assets/javascripts/components/components/status_content.jsx +++ b/app/assets/javascripts/components/components/status_content.jsx @@ -3,6 +3,17 @@ import PureRenderMixin from 'react-addons-pure-render-mixin'; import emojify from '../emoji'; import { FormattedMessage } from 'react-intl'; +const spoilerStyle = { + display: 'inline-block', + borderRadius: '2px', + color: '#363c4b', + fontWeight: '500', + fontSize: '11px', + padding: '0px 6px', + textTransform: 'uppercase', + lineHeight: 'inherit' +}; + const StatusContent = React.createClass({ contextTypes: { @@ -86,16 +97,6 @@ const StatusContent = React.createClass({ const content = { __html: emojify(status.get('content')) }; const spoilerContent = { __html: emojify(status.get('spoiler_text', '')) }; - const spoilerStyle = { - backgroundColor: '#616b86', - borderRadius: '4px', - color: '#363c4b', - fontWeight: '500', - fontSize: '12px', - padding: '0 4px', - textTransform: 'uppercase' - }; - if (status.get('spoiler_text').length > 0) { const toggleText = hidden ? <FormattedMessage id='status.show_more' defaultMessage='Show more' /> : <FormattedMessage id='status.show_less' defaultMessage='Show less' />; @@ -103,7 +104,7 @@ const StatusContent = React.createClass({ return ( <div className='status__content' style={{ cursor: 'pointer' }} onMouseDown={this.handleMouseDown} onMouseUp={this.handleMouseUp}> <p style={{ marginBottom: hidden ? '0px' : '' }} > - <span dangerouslySetInnerHTML={spoilerContent} /> <a style={spoilerStyle} onClick={this.handleSpoilerClick}>[{toggleText}]</a> + <span dangerouslySetInnerHTML={spoilerContent} /> <a className='status__content__spoiler-link' style={spoilerStyle} onClick={this.handleSpoilerClick}>{toggleText}</a> </p> <div style={{ display: hidden ? 'none' : 'block' }} dangerouslySetInnerHTML={content} /> diff --git a/app/assets/stylesheets/components.scss b/app/assets/stylesheets/components.scss index 6014da5b6..663969c32 100644 --- a/app/assets/stylesheets/components.scss +++ b/app/assets/stylesheets/components.scss @@ -137,6 +137,15 @@ } } } + + .status__content__spoiler-link { + background: lighten($color1, 26%); + + &:hover { + background: lighten($color1, 29%); + text-decoration: none; + } + } } .detailed-status { diff --git a/app/models/notification.rb b/app/models/notification.rb index b7e8c9e71..b7b474869 100644 --- a/app/models/notification.rb +++ b/app/models/notification.rb @@ -66,6 +66,8 @@ class Notification < ApplicationRecord private def set_from_account + return unless new_record? + case activity_type when 'Status', 'Follow', 'Favourite', 'FollowRequest' self.from_account_id = activity(false)&.account_id diff --git a/config/environments/development.rb b/config/environments/development.rb index 3f44d861e..51cb43e5d 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -81,4 +81,4 @@ end require 'sidekiq/testing' Sidekiq::Testing.inline! -ActiveRecordQueryTrace.enabled = true +ActiveRecordQueryTrace.enabled = ENV.fetch('QUERY_TRACE_ENABLED') { false } diff --git a/db/seeds.rb b/db/seeds.rb index 70edb9ff1..10f2024b3 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -1,7 +1,8 @@ web_app = Doorkeeper::Application.new(name: 'Web', superapp: true, redirect_uri: Doorkeeper.configuration.native_redirect_uri, scopes: 'read write follow') web_app.save! + if Rails.env.development? - domain = ENV['LOCAL_DOMAIN'] || Rails.configuration.x.local_domain - account = Account.where(username: 'admin').first_or_initialize(username: 'admin').save! - user = User.where(email: "admin@#{domain}").first_or_initialize(:email => "admin@#{domain}", :password => 'mastodonadmin', :password_confirmation => 'mastodonadmin', :confirmed_at => Time.now, :admin => true, :account => Account.where(username: 'admin').first).save! + domain = ENV['LOCAL_DOMAIN'] || Rails.configuration.x.local_domain + admin = Account.where(username: 'admin').first_or_initialize(username: 'admin').save! + User.where(email: "admin@#{domain}").first_or_initialize(email: "admin@#{domain}", password: 'mastodonadmin', password_confirmation: 'mastodonadmin', confirmed_at: Time.now.utc, admin: true, account: admin).save! end |