Support RGI emoji reacts conditionally

merge-requests/421/head
Alex Gleason 2021-01-18 13:31:16 -06:00
rodzic bebe50cc33
commit fb99d36494
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 7211D1F99744FBB7
3 zmienionych plików z 35 dodań i 9 usunięć

Wyświetl plik

@ -1,9 +1,29 @@
import api from '../api';
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
import { getFeatures } from 'soapbox/utils/features';
export const SOAPBOX_CONFIG_REQUEST_SUCCESS = 'SOAPBOX_CONFIG_REQUEST_SUCCESS';
export const SOAPBOX_CONFIG_REQUEST_FAIL = 'SOAPBOX_CONFIG_REQUEST_FAIL';
const allowedEmoji = ImmutableList([
'👍',
'❤',
'😆',
'😮',
'😢',
'😩',
]);
// https://git.pleroma.social/pleroma/pleroma/-/issues/2355
const allowedEmojiRGI = ImmutableList([
'👍',
'❤️',
'😆',
'😮',
'😢',
'😩',
]);
export const defaultConfig = ImmutableMap({
logo: '',
banner: '',
@ -18,18 +38,22 @@ export const defaultConfig = ImmutableMap({
navlinks: ImmutableMap({
homeFooter: ImmutableList(),
}),
allowedEmoji: ImmutableList([
'👍',
'❤️',
'😆',
'😮',
'😢',
'😩',
]),
allowedEmoji: allowedEmoji,
});
export function getSoapboxConfig(state) {
return defaultConfig.merge(state.get('soapbox'));
const instance = state.get('instance');
const soapbox = state.get('soapbox');
const features = getFeatures(instance);
// https://git.pleroma.social/pleroma/pleroma/-/issues/2355
if (features.emojiReactsRGI) {
return defaultConfig
.set('allowedEmoji', allowedEmojiRGI)
.merge(soapbox);
} else {
return defaultConfig.merge(soapbox);
}
}
export function fetchSoapboxConfig() {

Wyświetl plik

@ -32,6 +32,7 @@ const initialState = ImmutableMap({
max_options: 4,
min_expiration: 300,
}),
version: '0.0.0',
});
const preloadImport = (state, action, path) => {

Wyświetl plik

@ -7,6 +7,7 @@ export const getFeatures = instance => {
suggestions: v.software === 'Mastodon' && gte(v.compatVersion, '2.4.3'),
trends: v.software === 'Mastodon' && gte(v.compatVersion, '3.0.0'),
emojiReacts: v.software === 'Pleroma' && gte(v.version, '2.0.0'),
emojiReactsRGI: v.software === 'Pleroma' && gte(v.version, '2.2.49'),
attachmentLimit: v.software === 'Pleroma' ? Infinity : 4,
focalPoint: v.software === 'Mastodon' && gte(v.compatVersion, '2.3.0'),
importMutes: v.software === 'Pleroma' && gte(v.version, '2.2.0'),