Merge branch 'main' into glitch-soc/merge-upstream

local
Claire 2 years ago
commit 1418574447
  1. 2
      Gemfile
  2. 8
      Gemfile.lock
  3. 2
      app/javascript/mastodon/components/status.js
  4. 29
      app/javascript/mastodon/selectors/index.js
  5. 2
      app/models/media_attachment.rb
  6. 20
      package.json
  7. 1565
      yarn.lock

@ -101,7 +101,7 @@ gem 'rdf-normalize', '~> 0.5'
gem 'redcarpet', '~> 3.5'
group :development, :test do
gem 'fabrication', '~> 2.28'
gem 'fabrication', '~> 2.29'
gem 'fuubar', '~> 2.5'
gem 'i18n-tasks', '~> 1.0', require: false
gem 'pry-byebug', '~> 3.9'

@ -219,7 +219,7 @@ GEM
et-orbi (1.2.7)
tzinfo
excon (0.76.0)
fabrication (2.28.0)
fabrication (2.29.0)
faker (2.21.0)
i18n (>= 1.8.11, < 2)
faraday (1.9.3)
@ -449,7 +449,7 @@ GEM
parslet (2.0.0)
pastel (0.8.0)
tty-color (~> 0.5)
pg (1.4.0)
pg (1.4.1)
pghero (2.8.3)
activerecord (>= 5)
pkg-config (1.4.7)
@ -610,7 +610,7 @@ GEM
redis (>= 4.2.0)
sidekiq-bulk (0.2.0)
sidekiq
sidekiq-scheduler (4.0.1)
sidekiq-scheduler (4.0.2)
redis (>= 4.2.0)
rufus-scheduler (~> 3.2)
sidekiq (>= 4)
@ -761,7 +761,7 @@ DEPENDENCIES
doorkeeper (~> 5.5)
dotenv-rails (~> 2.7)
ed25519 (~> 1.3)
fabrication (~> 2.28)
fabrication (~> 2.29)
faker (~> 2.21)
fast_blank (~> 1.0)
fastimage

@ -338,7 +338,7 @@ class Status extends ImmutablePureComponent {
);
}
const matchedFilters = status.get('filtered') || status.getIn(['reblog', 'filtered']);
const matchedFilters = status.get('matched_filters');
if (this.state.forceFilter === undefined ? matchedFilters : this.state.forceFilter) {
const minHandlers = this.props.muted ? {} : {
moveUp: this.handleHotkeyMoveUp,

@ -1,5 +1,5 @@
import { createSelector } from 'reselect';
import { List as ImmutableList, Map as ImmutableMap, is } from 'immutable';
import { List as ImmutableList, Map as ImmutableMap } from 'immutable';
import { me } from '../initial_state';
const getAccountBase = (state, id) => state.getIn(['accounts', id], null);
@ -37,31 +37,6 @@ const toServerSideType = columnType => {
}
};
const escapeRegExp = string =>
string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
const regexFromKeywords = keywords => {
if (keywords.size === 0) {
return null;
}
return new RegExp(keywords.map(keyword_filter => {
let expr = escapeRegExp(keyword_filter.get('keyword'));
if (keyword_filter.get('whole_word')) {
if (/^[\w]/.test(expr)) {
expr = `\\b${expr}`;
}
if (/[\w]$/.test(expr)) {
expr = `${expr}\\b`;
}
}
return expr;
}).join('|'), 'i');
};
const getFilters = (state, { contextType }) => {
if (!contextType) return null;
@ -106,7 +81,7 @@ export const makeGetStatus = () => {
return statusBase.withMutations(map => {
map.set('reblog', statusReblog);
map.set('account', accountBase);
map.set('filtered', filtered);
map.set('matched_filters', filtered);
});
},
);

@ -58,7 +58,7 @@ class MediaAttachment < ApplicationRecord
IMAGE_MIME_TYPES = %w(image/jpeg image/png image/gif image/webp).freeze
VIDEO_MIME_TYPES = %w(video/webm video/mp4 video/quicktime video/ogg).freeze
VIDEO_CONVERTIBLE_MIME_TYPES = %w(video/webm video/quicktime).freeze
AUDIO_MIME_TYPES = %w(audio/wave audio/wav audio/x-wav audio/x-pn-wave audio/ogg audio/vorbis audio/mpeg audio/mp3 audio/webm audio/flac audio/aac audio/m4a audio/x-m4a audio/mp4 audio/3gpp video/x-ms-asf).freeze
AUDIO_MIME_TYPES = %w(audio/wave audio/wav audio/x-wav audio/x-pn-wave audio/vnd.wave audio/ogg audio/vorbis audio/mpeg audio/mp3 audio/webm audio/flac audio/aac audio/m4a audio/x-m4a audio/mp4 audio/3gpp video/x-ms-asf).freeze
BLURHASH_OPTIONS = {
x_comp: 4,

@ -24,13 +24,13 @@
},
"private": true,
"dependencies": {
"@babel/core": "^7.18.5",
"@babel/plugin-proposal-decorators": "^7.18.2",
"@babel/plugin-transform-react-inline-elements": "^7.16.7",
"@babel/plugin-transform-runtime": "^7.18.5",
"@babel/preset-env": "^7.18.2",
"@babel/preset-react": "^7.17.12",
"@babel/runtime": "^7.18.3",
"@babel/core": "^7.18.6",
"@babel/plugin-proposal-decorators": "^7.18.6",
"@babel/plugin-transform-react-inline-elements": "^7.18.6",
"@babel/plugin-transform-runtime": "^7.18.6",
"@babel/preset-env": "^7.18.6",
"@babel/preset-react": "^7.18.6",
"@babel/runtime": "^7.18.6",
"@gamestdio/websocket": "^0.3.2",
"@github/webauthn-json": "^0.5.7",
"@rails/ujs": "^6.1.6",
@ -121,7 +121,7 @@
"requestidlecallback": "^0.3.0",
"reselect": "^4.1.6",
"rimraf": "^3.0.2",
"sass": "^1.52.3",
"sass": "^1.53.0",
"sass-loader": "^10.2.0",
"stacktrace-js": "^2.0.2",
"stringz": "^2.1.0",
@ -147,9 +147,9 @@
"babel-jest": "^28.1.1",
"eslint": "^7.32.0",
"eslint-plugin-import": "~2.26.0",
"eslint-plugin-jsx-a11y": "~6.5.1",
"eslint-plugin-jsx-a11y": "~6.6.0",
"eslint-plugin-promise": "~6.0.0",
"eslint-plugin-react": "~7.30.0",
"eslint-plugin-react": "~7.30.1",
"jest": "^28.1.1",
"jest-environment-jsdom": "^28.1.1",
"postcss-scss": "^4.0.4",

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save