A couple notifications fixes (#2327)

* Clear the app badge notif count on markallread

* Fix like notifications on custom feeds
zio/stable
Paul Frazee 2023-12-27 08:47:45 -08:00 committed by GitHub
parent 3b240db0c0
commit 6e001dbf1c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 3 deletions

View File

@ -89,6 +89,9 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
// update & broadcast
setNumUnread('')
broadcast.postMessage({event: ''})
if (isNative) {
Notifications.setBadgeCountAsync(0)
}
},
async checkUnread({invalidate}: {invalidate?: boolean} = {}) {

View File

@ -156,7 +156,7 @@ async function fetchSubjects(
): Promise<Map<string, AppBskyFeedDefs.PostView>> {
const uris = new Set<string>()
for (const notif of groupedNotifs) {
if (notif.subjectUri) {
if (notif.subjectUri && !notif.subjectUri.includes('feed.generator')) {
uris.add(notif.subjectUri)
}
}
@ -216,6 +216,8 @@ function getSubjectUri(
? notif.record.subject?.uri
: undefined
}
} else if (type === 'feedgen-like') {
return notif.reasonSubject
}
}

View File

@ -42,6 +42,7 @@ import {TimeElapsed} from '../util/TimeElapsed'
import {isWeb} from 'platform/detection'
import {Trans, msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {FeedSourceCard} from '../feeds/FeedSourceCard'
const MAX_AUTHORS = 5
@ -112,7 +113,7 @@ let FeedItem = ({
]
}, [item, moderationOpts])
if (item.subjectUri && !item.subject) {
if (item.subjectUri && !item.subject && item.type !== 'feedgen-like') {
// don't render anything if the target post was deleted or unfindable
return <View />
}
@ -166,7 +167,7 @@ let FeedItem = ({
iconStyle = [s.blue3 as FontAwesomeIconStyle]
} else if (item.type === 'feedgen-like') {
action = `liked your custom feed${
item.subjectUri ? ` '${new AtUri(item.subjectUri).rkey}}'` : ''
item.subjectUri ? ` '${new AtUri(item.subjectUri).rkey}'` : ''
}`
icon = 'HeartIconSolid'
iconStyle = [
@ -256,6 +257,13 @@ let FeedItem = ({
{item.type === 'post-like' || item.type === 'repost' ? (
<AdditionalPostText post={item.subject} />
) : null}
{item.type === 'feedgen-like' && item.subjectUri ? (
<FeedSourceCard
feedUri={item.subjectUri}
style={[pal.view, pal.border, styles.feedcard]}
showLikes
/>
) : null}
</View>
</Link>
)
@ -496,6 +504,12 @@ const styles = StyleSheet.create({
marginLeft: 2,
opacity: 0.8,
},
feedcard: {
borderWidth: 1,
borderRadius: 8,
paddingVertical: 12,
marginTop: 6,
},
addedContainer: {
paddingTop: 4,