Page MenuHomePhabricator

D12916.diff
No OneTemporary

D12916.diff

diff --git a/native/push/push-handler.react.js b/native/push/push-handler.react.js
--- a/native/push/push-handler.react.js
+++ b/native/push/push-handler.react.js
@@ -133,6 +133,7 @@
) => Promise<SetDeviceTokenActionPayload>,
// withRootContext
+rootContext: ?RootContextType,
+ +localToken: ?string,
};
type State = {
+inAppNotifProps: ?{
@@ -286,6 +287,8 @@
if (this.props.loggedIn && !prevProps.loggedIn) {
void this.ensurePushNotifsEnabled();
+ } else if (!this.props.localToken && prevProps.localToken) {
+ void this.ensurePushNotifsEnabled();
} else {
for (const keyserverID in this.props.deviceTokens) {
const deviceToken = this.props.deviceTokens[keyserverID];
@@ -439,8 +442,15 @@
if (!this.props.loggedIn) {
return;
}
- if (Platform.OS === 'ios') {
- let missingDeviceToken = false;
+ if (Platform.OS === 'android') {
+ await this.ensureAndroidPushNotifsEnabled();
+ return;
+ }
+ if (Platform.OS !== 'ios') {
+ return;
+ }
+ let missingDeviceToken = !this.props.localToken;
+ if (!missingDeviceToken) {
for (const keyserverID in this.props.deviceTokens) {
const deviceToken = this.props.deviceTokens[keyserverID];
if (deviceToken === null || deviceToken === undefined) {
@@ -448,10 +458,8 @@
break;
}
}
- await requestIOSPushPermissions(missingDeviceToken);
- } else if (Platform.OS === 'android') {
- await this.ensureAndroidPushNotifsEnabled();
}
+ await requestIOSPushPermissions(missingDeviceToken);
}
async ensureAndroidPushNotifsEnabled() {
@@ -801,6 +809,9 @@
const allUpdatesCurrentAsOf = useSelector(allUpdatesCurrentAsOfSelector);
const activeTheme = useSelector(state => state.globalThemeInfo.activeTheme);
const loggedIn = useSelector(isLoggedIn);
+ const localToken = useSelector(
+ state => state.tunnelbrokerDeviceToken.localToken,
+ );
const navigateToThread = useNavigateToThread();
const dispatch = useDispatch();
const dispatchActionPromise = useDispatchActionPromise();
@@ -825,6 +836,7 @@
setDeviceToken={callSetDeviceToken}
setDeviceTokenFanout={callSetDeviceTokenFanout}
rootContext={rootContext}
+ localToken={localToken}
/>
);
});

File Metadata

Mime Type
text/plain
Expires
Fri, Sep 20, 4:56 PM (21 h, 14 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2152397
Default Alt Text
D12916.diff (2 KB)

Event Timeline