forked from cybrespace/mastodon
* Only display web push notifications after API call (fixes #7902) * Decode then truncate instead of truncating then decoding in webpush serializer
This commit is contained in:
parent
f9b23a5d62
commit
7786e1357b
|
@ -80,15 +80,7 @@ const handlePush = (event) => {
|
|||
|
||||
// Placeholder until more information can be loaded
|
||||
event.waitUntil(
|
||||
notify({
|
||||
title,
|
||||
body,
|
||||
icon,
|
||||
tag: notification_id,
|
||||
timestamp: new Date(),
|
||||
badge: '/badge.png',
|
||||
data: { access_token, preferred_locale, url: '/web/notifications' },
|
||||
}).then(() => fetchFromApi(`/api/v1/notifications/${notification_id}`, 'get', access_token)).then(notification => {
|
||||
fetchFromApi(`/api/v1/notifications/${notification_id}`, 'get', access_token).then(notification => {
|
||||
const options = {};
|
||||
|
||||
options.title = formatMessage(`notification.${notification.type}`, preferred_locale, { name: notification.account.display_name.length > 0 ? notification.account.display_name : notification.account.username });
|
||||
|
@ -112,6 +104,16 @@ const handlePush = (event) => {
|
|||
}
|
||||
|
||||
return notify(options);
|
||||
}).catch(() => {
|
||||
return notify({
|
||||
title,
|
||||
body,
|
||||
icon,
|
||||
tag: notification_id,
|
||||
timestamp: new Date(),
|
||||
badge: '/badge.png',
|
||||
data: { access_token, preferred_locale, url: '/web/notifications' },
|
||||
});
|
||||
})
|
||||
);
|
||||
};
|
||||
|
|
|
@ -33,7 +33,7 @@ class Web::NotificationSerializer < ActiveModel::Serializer
|
|||
end
|
||||
|
||||
def body
|
||||
str = truncate(strip_tags(object.target_status&.spoiler_text&.presence || object.target_status&.text || object.from_account.note), length: 140)
|
||||
HTMLEntities.new.decode(str.to_str) # Do not encode entities, since this value will not be used in HTML
|
||||
str = strip_tags(object.target_status&.spoiler_text&.presence || object.target_status&.text || object.from_account.note)
|
||||
truncate(HTMLEntities.new.decode(str.to_str), length: 140) # Do not encode entities, since this value will not be used in HTML
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue