···11import * as SystemUI from 'expo-system-ui'
22import {type Theme} from '@bsky.app/alf'
3344+import {logger} from '#/logger'
45import {isAndroid} from '#/platform/detection'
5667export function setSystemUITheme(themeType: 'theme' | 'lightbox', t: Theme) {
78 if (isAndroid) {
88- if (themeType === 'theme') {
99- SystemUI.setBackgroundColorAsync(t.atoms.bg.backgroundColor)
1010- } else {
1111- SystemUI.setBackgroundColorAsync('black')
99+ try {
1010+ if (themeType === 'theme') {
1111+ SystemUI.setBackgroundColorAsync(t.atoms.bg.backgroundColor)
1212+ } else {
1313+ SystemUI.setBackgroundColorAsync('black')
1414+ }
1515+ } catch (error) {
1616+ // Can reject with 'The current activity is no longer available' - no big deal
1717+ logger.debug('Could not set system UI theme', {safeMessage: error})
1218 }
1319 }
1420}
+2-2
src/components/Link.tsx
···169169 if (isNative && screen !== 'NotFound') {
170170 const state = navigation.getState()
171171 // if screen is not in the current navigator, it means it's
172172- // most likely a tab screen
173173- if (!state.routeNames.includes(screen)) {
172172+ // most likely a tab screen. note: state can be undefined
173173+ if (!state?.routeNames.includes(screen)) {
174174 const parent = navigation.getParent()
175175 if (
176176 parent &&
···28282929export const FEEDBACK_FEEDS = [...PROD_FEEDS, ...STAGING_FEEDS]
30303131-export const DIRECT_FEEDBACK_INTERACTIONS = new Set<
3131+export const THIRD_PARTY_ALLOWED_INTERACTIONS = new Set<
3232 AppBskyFeedDefs.Interaction['event']
3333->(['app.bsky.feed.defs#requestLess', 'app.bsky.feed.defs#requestMore'])
3333+>([
3434+ // These are explicit actions and are therefore fine to send.
3535+ 'app.bsky.feed.defs#requestLess',
3636+ 'app.bsky.feed.defs#requestMore',
3737+ // These can be inferred from the firehose and are therefore fine to send.
3838+ 'app.bsky.feed.defs#interactionLike',
3939+ 'app.bsky.feed.defs#interactionQuote',
4040+ 'app.bsky.feed.defs#interactionReply',
4141+ 'app.bsky.feed.defs#interactionRepost',
4242+ // This can be inferred from pagination requests for everything except the very last page
4343+ // so it is fine to send. It is crucial for third party algorithmic feeds to receive these.
4444+ 'app.bsky.feed.defs#interactionSeen',
4545+])
34463547const logger = Logger.create(Logger.Context.FeedFeedback)
3648···228240 return false
229241 }
230242 const isDiscover = isDiscoverFeed(feed.feedDescriptor)
231231- return isDiscover ? true : DIRECT_FEEDBACK_INTERACTIONS.has(interaction)
243243+ return isDiscover ? true : THIRD_PARTY_ALLOWED_INTERACTIONS.has(interaction)
232244}
233245234246function toString(interaction: AppBskyFeedDefs.Interaction): string {