Removed accidental n+1 query from notifications, updated some deps,
improved how "show more" link looks
This commit is contained in:
		
							parent
							
								
									2f18c77e44
								
							
						
					
					
						commit
						cc5c1e5feb
					
				
					 7 changed files with 36 additions and 25 deletions
				
			
		
							
								
								
									
										4
									
								
								Gemfile
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										14
									
								
								Gemfile.lock
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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} />
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -137,6 +137,15 @@
 | 
			
		|||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .status__content__spoiler-link {
 | 
			
		||||
    background: lighten($color1, 26%);
 | 
			
		||||
 | 
			
		||||
    &:hover {
 | 
			
		||||
      background: lighten($color1, 29%);
 | 
			
		||||
      text-decoration: none;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.detailed-status {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -81,4 +81,4 @@ end
 | 
			
		|||
require 'sidekiq/testing'
 | 
			
		||||
Sidekiq::Testing.inline!
 | 
			
		||||
 | 
			
		||||
ActiveRecordQueryTrace.enabled = true
 | 
			
		||||
ActiveRecordQueryTrace.enabled = ENV.fetch('QUERY_TRACE_ENABLED') { false }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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!
 | 
			
		||||
  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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue