Removed accidental n+1 query from notifications, updated some deps,
improved how "show more" link looks
This commit is contained in:
		
							
								
								
									
										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! | ||||
|   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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user