diff --git a/lib/tunnelbroker/secondary-tunnelbroker-connection.js b/lib/tunnelbroker/secondary-tunnelbroker-connection.js --- a/lib/tunnelbroker/secondary-tunnelbroker-connection.js +++ b/lib/tunnelbroker/secondary-tunnelbroker-connection.js @@ -2,17 +2,26 @@ import type { MessageToDeviceRequest } from '../types/tunnelbroker/message-to-device-request-types.js'; import type { MessageToTunnelbrokerRequest } from '../types/tunnelbroker/message-to-tunnelbroker-request-types.js'; +import type { TunnelbrokerAPNsNotif } from '../types/tunnelbroker/notif-types.js'; type RemoveCallback = () => void; export type SecondaryTunnelbrokerConnection = { // Used by an inactive tab to send messages +sendMessage: ( - MessageToDeviceRequest | MessageToTunnelbrokerRequest, + message: + | MessageToDeviceRequest + | MessageToTunnelbrokerRequest + | TunnelbrokerAPNsNotif, ) => mixed, // Active tab receives messages from inactive tabs +onSendMessage: ( - (MessageToDeviceRequest | MessageToTunnelbrokerRequest) => mixed, + ( + message: + | MessageToDeviceRequest + | MessageToTunnelbrokerRequest + | TunnelbrokerAPNsNotif, + ) => mixed, ) => RemoveCallback, // Active tab sets the message status of messages from inactive tabs diff --git a/lib/tunnelbroker/tunnelbroker-context.js b/lib/tunnelbroker/tunnelbroker-context.js --- a/lib/tunnelbroker/tunnelbroker-context.js +++ b/lib/tunnelbroker/tunnelbroker-context.js @@ -20,6 +20,7 @@ tunnelbrokerMessageTypes, tunnelbrokerMessageValidator, } from '../types/tunnelbroker/messages.js'; +import type { TunnelbrokerAPNsNotif } from '../types/tunnelbroker/notif-types.js'; import type { AnonymousInitializationMessage, ConnectionInitializationMessage, @@ -60,6 +61,7 @@ message: TunnelbrokerClientMessageToDevice, messageID: ?string, ) => Promise, + +sendNotif: (notif: TunnelbrokerAPNsNotif) => Promise, +sendMessageToTunnelbroker: (payload: string) => Promise, +addListener: (listener: TunnelbrokerSocketListener) => void, +removeListener: (listener: TunnelbrokerSocketListener) => void, @@ -311,7 +313,10 @@ ]); const sendMessageToDeviceRequest: ( - request: MessageToDeviceRequest | MessageToTunnelbrokerRequest, + request: + | MessageToDeviceRequest + | MessageToTunnelbrokerRequest + | TunnelbrokerAPNsNotif, ) => Promise = React.useCallback( request => { return new Promise((resolve, reject) => { @@ -436,6 +441,7 @@ () => ({ sendMessage, sendMessageToTunnelbroker, + sendNotif: sendMessageToDeviceRequest, socketState, addListener, removeListener, @@ -443,6 +449,7 @@ }), [ sendMessage, + sendMessageToDeviceRequest, sendMessageToTunnelbroker, socketState, addListener,