aboutsummaryrefslogtreecommitdiff
path: root/src/services
diff options
context:
space:
mode:
Diffstat (limited to 'src/services')
-rw-r--r--src/services/entity_normalizer/entity_normalizer.service.js1
-rw-r--r--src/services/notifications_fetcher/notifications_fetcher.service.js2
-rw-r--r--src/services/theme_data/pleromafe.js30
-rw-r--r--src/services/theme_data/theme_data.service.js9
-rw-r--r--src/services/timeline_fetcher/timeline_fetcher.service.js4
5 files changed, 28 insertions, 18 deletions
diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js
index 7ea8a16c..c1bf8535 100644
--- a/src/services/entity_normalizer/entity_normalizer.service.js
+++ b/src/services/entity_normalizer/entity_normalizer.service.js
@@ -79,6 +79,7 @@ export const parseUser = (data) => {
const relationship = data.pleroma.relationship
output.background_image = data.pleroma.background_image
+ output.favicon = data.pleroma.favicon
output.token = data.pleroma.chat_token
if (relationship) {
diff --git a/src/services/notifications_fetcher/notifications_fetcher.service.js b/src/services/notifications_fetcher/notifications_fetcher.service.js
index d282074a..80be02ca 100644
--- a/src/services/notifications_fetcher/notifications_fetcher.service.js
+++ b/src/services/notifications_fetcher/notifications_fetcher.service.js
@@ -35,7 +35,7 @@ const fetchAndUpdate = ({ store, credentials, older = false }) => {
const notifications = timelineData.data
const readNotifsIds = notifications.filter(n => n.seen).map(n => n.id)
const numUnseenNotifs = notifications.length - readNotifsIds.length
- if (numUnseenNotifs > 0) {
+ if (numUnseenNotifs > 0 && readNotifsIds.length > 0) {
args['since'] = Math.max(...readNotifsIds)
fetchNotifications({ store, args, older })
}
diff --git a/src/services/theme_data/pleromafe.js b/src/services/theme_data/pleromafe.js
index b58ca9be..7ed85797 100644
--- a/src/services/theme_data/pleromafe.js
+++ b/src/services/theme_data/pleromafe.js
@@ -675,23 +675,22 @@ export const SLOT_INHERITANCE = {
depends: ['bg']
},
- chatMessage: {
- depends: ['chatBg']
- },
-
chatMessageIncomingBg: {
- depends: ['chatMessage'],
- layer: 'chatMessage'
+ depends: ['chatBg']
},
chatMessageIncomingText: {
depends: ['text'],
- layer: 'text'
+ layer: 'chatMessage',
+ variant: 'chatMessageIncomingBg',
+ textColor: true
},
chatMessageIncomingLink: {
depends: ['link'],
- layer: 'link'
+ layer: 'chatMessage',
+ variant: 'chatMessageIncomingBg',
+ textColor: 'preserve'
},
chatMessageIncomingBorder: {
@@ -701,22 +700,27 @@ export const SLOT_INHERITANCE = {
},
chatMessageOutgoingBg: {
- depends: ['chatMessage'],
+ depends: ['chatMessageIncomingBg'],
color: (mod, chatMessage) => brightness(5 * mod, chatMessage).rgb
},
chatMessageOutgoingText: {
depends: ['text'],
- layer: 'text'
+ layer: 'chatMessage',
+ variant: 'chatMessageOutgoingBg',
+ textColor: true
},
chatMessageOutgoingLink: {
depends: ['link'],
- layer: 'link'
+ layer: 'chatMessage',
+ variant: 'chatMessageOutgoingBg',
+ textColor: 'preserve'
},
chatMessageOutgoingBorder: {
- depends: ['chatMessage'],
- opacity: 'chatMessage'
+ depends: ['chatMessageOutgoingBg'],
+ opacity: 'border',
+ color: (mod, border) => brightness(2 * mod, border).rgb
}
}
diff --git a/src/services/theme_data/theme_data.service.js b/src/services/theme_data/theme_data.service.js
index dd87e3cf..b619f810 100644
--- a/src/services/theme_data/theme_data.service.js
+++ b/src/services/theme_data/theme_data.service.js
@@ -128,14 +128,17 @@ export const topoSort = (
while (unprocessed.length > 0) {
step(unprocessed.pop())
}
- return output.sort((a, b) => {
+
+ // The index thing is to make sorting stable on browsers
+ // where Array.sort() isn't stable
+ return output.map((data, index) => ({ data, index })).sort(({ data: a, index: ai }, { data: b, index: bi }) => {
const depsA = getDeps(a, inheritance).length
const depsB = getDeps(b, inheritance).length
- if (depsA === depsB || (depsB !== 0 && depsA !== 0)) return 0
+ if (depsA === depsB || (depsB !== 0 && depsA !== 0)) return ai - bi
if (depsA === 0 && depsB !== 0) return -1
if (depsB === 0 && depsA !== 0) return 1
- })
+ }).map(({ data }) => data)
}
const expandSlotValue = (value) => {
diff --git a/src/services/timeline_fetcher/timeline_fetcher.service.js b/src/services/timeline_fetcher/timeline_fetcher.service.js
index 214294eb..d0cddf84 100644
--- a/src/services/timeline_fetcher/timeline_fetcher.service.js
+++ b/src/services/timeline_fetcher/timeline_fetcher.service.js
@@ -43,7 +43,9 @@ const fetchAndUpdate = ({
args['userId'] = userId
args['tag'] = tag
args['withMuted'] = !hideMutedPosts
- if (loggedIn) args['replyVisibility'] = replyVisibility
+ if (loggedIn && ['friends', 'public', 'publicAndExternal'].includes(timeline)) {
+ args['replyVisibility'] = replyVisibility
+ }
const numStatusesBeforeFetch = timelineData.statuses.length