Merge pull request #942 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
This commit is contained in:
		
						commit
						cff221b519
					
				
					 7 changed files with 23 additions and 1 deletions
				
			
		|  | @ -107,6 +107,7 @@ export default class IconButton extends React.PureComponent { | ||||||
|           onClick={this.handleClick} |           onClick={this.handleClick} | ||||||
|           style={style} |           style={style} | ||||||
|           tabIndex={tabIndex} |           tabIndex={tabIndex} | ||||||
|  |           disabled={disabled} | ||||||
|         > |         > | ||||||
|           <i className={`fa fa-fw fa-${icon}`} aria-hidden='true' /> |           <i className={`fa fa-fw fa-${icon}`} aria-hidden='true' /> | ||||||
|         </button> |         </button> | ||||||
|  | @ -125,6 +126,7 @@ export default class IconButton extends React.PureComponent { | ||||||
|             onClick={this.handleClick} |             onClick={this.handleClick} | ||||||
|             style={style} |             style={style} | ||||||
|             tabIndex={tabIndex} |             tabIndex={tabIndex} | ||||||
|  |             disabled={disabled} | ||||||
|           > |           > | ||||||
|             <i style={{ transform: `rotate(${rotate}deg)` }} className={`fa fa-fw fa-${icon}`} aria-hidden='true' /> |             <i style={{ transform: `rotate(${rotate}deg)` }} className={`fa fa-fw fa-${icon}`} aria-hidden='true' /> | ||||||
|             {this.props.label} |             {this.props.label} | ||||||
|  |  | ||||||
|  | @ -60,6 +60,7 @@ export const COMPOSE_POLL_SETTINGS_CHANGE = 'COMPOSE_POLL_SETTINGS_CHANGE'; | ||||||
| 
 | 
 | ||||||
| const messages = defineMessages({ | const messages = defineMessages({ | ||||||
|   uploadErrorLimit: { id: 'upload_error.limit', defaultMessage: 'File upload limit exceeded.' }, |   uploadErrorLimit: { id: 'upload_error.limit', defaultMessage: 'File upload limit exceeded.' }, | ||||||
|  |   uploadErrorPoll:  { id: 'upload_error.poll', defaultMessage: 'File upload not allowed with polls.' }, | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| export function changeCompose(text) { | export function changeCompose(text) { | ||||||
|  | @ -207,6 +208,12 @@ export function uploadCompose(files) { | ||||||
|       dispatch(showAlert(undefined, messages.uploadErrorLimit)); |       dispatch(showAlert(undefined, messages.uploadErrorLimit)); | ||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     if (getState().getIn(['compose', 'poll'])) { | ||||||
|  |       dispatch(showAlert(undefined, messages.uploadErrorPoll)); | ||||||
|  |       return; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     dispatch(uploadComposeRequest()); |     dispatch(uploadComposeRequest()); | ||||||
| 
 | 
 | ||||||
|     for (const [i, f] of Array.from(files).entries()) { |     for (const [i, f] of Array.from(files).entries()) { | ||||||
|  |  | ||||||
|  | @ -86,6 +86,7 @@ export default class IconButton extends React.PureComponent { | ||||||
|           onClick={this.handleClick} |           onClick={this.handleClick} | ||||||
|           style={style} |           style={style} | ||||||
|           tabIndex={tabIndex} |           tabIndex={tabIndex} | ||||||
|  |           disabled={disabled} | ||||||
|         > |         > | ||||||
|           <Icon id={icon} fixedWidth aria-hidden='true' /> |           <Icon id={icon} fixedWidth aria-hidden='true' /> | ||||||
|         </button> |         </button> | ||||||
|  | @ -104,6 +105,7 @@ export default class IconButton extends React.PureComponent { | ||||||
|             onClick={this.handleClick} |             onClick={this.handleClick} | ||||||
|             style={style} |             style={style} | ||||||
|             tabIndex={tabIndex} |             tabIndex={tabIndex} | ||||||
|  |             disabled={disabled} | ||||||
|           > |           > | ||||||
|             <Icon id={icon} style={{ transform: `rotate(${rotate}deg)` }} fixedWidth aria-hidden='true' /> |             <Icon id={icon} style={{ transform: `rotate(${rotate}deg)` }} fixedWidth aria-hidden='true' /> | ||||||
|           </button> |           </button> | ||||||
|  |  | ||||||
|  | @ -15,6 +15,7 @@ | ||||||
| #  last_fetched_at :datetime | #  last_fetched_at :datetime | ||||||
| #  created_at      :datetime         not null | #  created_at      :datetime         not null | ||||||
| #  updated_at      :datetime         not null | #  updated_at      :datetime         not null | ||||||
|  | #  lock_version    :integer          default(0), not null | ||||||
| # | # | ||||||
| 
 | 
 | ||||||
| class Poll < ApplicationRecord | class Poll < ApplicationRecord | ||||||
|  |  | ||||||
|  | @ -32,5 +32,8 @@ class PollVote < ApplicationRecord | ||||||
|   def increment_counter_cache |   def increment_counter_cache | ||||||
|     poll.cached_tallies[choice] = (poll.cached_tallies[choice] || 0) + 1 |     poll.cached_tallies[choice] = (poll.cached_tallies[choice] || 0) + 1 | ||||||
|     poll.save |     poll.save | ||||||
|  |   rescue ActiveRecord::StaleObjectError | ||||||
|  |     poll.reload | ||||||
|  |     retry | ||||||
|   end |   end | ||||||
| end | end | ||||||
|  |  | ||||||
							
								
								
									
										6
									
								
								db/migrate/20190306145741_add_lock_version_to_polls.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								db/migrate/20190306145741_add_lock_version_to_polls.rb
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | ||||||
|  | class AddLockVersionToPolls < ActiveRecord::Migration[5.2] | ||||||
|  |   def change | ||||||
|  |     add_column :polls, :lock_version, :integer, null: false, default: 0 | ||||||
|  |   end | ||||||
|  | end | ||||||
|  | 
 | ||||||
|  | @ -10,7 +10,7 @@ | ||||||
| # | # | ||||||
| # It's strongly recommended that you check this file into your version control system. | # It's strongly recommended that you check this file into your version control system. | ||||||
| 
 | 
 | ||||||
| ActiveRecord::Schema.define(version: 2019_03_04_152020) do | ActiveRecord::Schema.define(version: 2019_03_06_145741) do | ||||||
| 
 | 
 | ||||||
|   # These are extensions that must be enabled in order to support this database |   # These are extensions that must be enabled in order to support this database | ||||||
|   enable_extension "plpgsql" |   enable_extension "plpgsql" | ||||||
|  | @ -475,6 +475,7 @@ ActiveRecord::Schema.define(version: 2019_03_04_152020) do | ||||||
|     t.datetime "last_fetched_at" |     t.datetime "last_fetched_at" | ||||||
|     t.datetime "created_at", null: false |     t.datetime "created_at", null: false | ||||||
|     t.datetime "updated_at", null: false |     t.datetime "updated_at", null: false | ||||||
|  |     t.integer "lock_version", default: 0, null: false | ||||||
|     t.index ["account_id"], name: "index_polls_on_account_id" |     t.index ["account_id"], name: "index_polls_on_account_id" | ||||||
|     t.index ["status_id"], name: "index_polls_on_status_id" |     t.index ["status_id"], name: "index_polls_on_status_id" | ||||||
|   end |   end | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue