@clix-so/react-native-sdk 0.0.2-beta.4 → 0.0.2-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/services/NotificationService.js +29 -25
- package/lib/module/services/NotificationService.js.map +1 -1
- package/lib/typescript/src/services/NotificationService.d.ts +1 -0
- package/lib/typescript/src/services/NotificationService.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/services/NotificationService.ts +35 -32
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import notifee, { AndroidImportance, AndroidStyle, AuthorizationStatus, EventType } from '@notifee/react-native';
|
|
3
|
+
import notifee, { AndroidCategory, AndroidGroupAlertBehavior, AndroidImportance, AndroidStyle, AndroidVisibility, AuthorizationStatus, EventType } from '@notifee/react-native';
|
|
4
4
|
import messaging from '@react-native-firebase/messaging';
|
|
5
5
|
import { Linking, Platform } from 'react-native';
|
|
6
6
|
import { ClixPushNotificationPayload } from "../models/ClixPushNotificationPayload.js";
|
|
@@ -9,7 +9,7 @@ import { UUID } from "../utils/UUID.js";
|
|
|
9
9
|
export class NotificationService {
|
|
10
10
|
static instance = null;
|
|
11
11
|
static DEFAULT_CHANNEL = {
|
|
12
|
-
id: '
|
|
12
|
+
id: 'clix_channel',
|
|
13
13
|
name: 'Clix Notifications',
|
|
14
14
|
description: 'Default notifications from Clix',
|
|
15
15
|
importance: AndroidImportance.HIGH,
|
|
@@ -17,6 +17,7 @@ export class NotificationService {
|
|
|
17
17
|
vibration: true,
|
|
18
18
|
lights: true
|
|
19
19
|
};
|
|
20
|
+
static ANDROID_GROUP_ID = 'clix_notification_group';
|
|
20
21
|
messagingService = messaging();
|
|
21
22
|
isInitialized = false;
|
|
22
23
|
currentPushToken = null;
|
|
@@ -46,8 +47,8 @@ export class NotificationService {
|
|
|
46
47
|
this.storageService = storageService;
|
|
47
48
|
this.deviceService = deviceService;
|
|
48
49
|
this.tokenService = tokenService;
|
|
49
|
-
await this.initializeNotificationDisplayService();
|
|
50
50
|
await this.initializeMessageService();
|
|
51
|
+
await this.initializeNotificationDisplayService();
|
|
51
52
|
this.isInitialized = true;
|
|
52
53
|
ClixLogger.debug('Notification service initialized successfully');
|
|
53
54
|
return this;
|
|
@@ -108,6 +109,9 @@ export class NotificationService {
|
|
|
108
109
|
this.unsubscribeNotificationEvents = notifee.onForegroundEvent(async event => {
|
|
109
110
|
await this.handleNotificationEvent(event);
|
|
110
111
|
});
|
|
112
|
+
notifee.onBackgroundEvent(async event => {
|
|
113
|
+
await this.handleNotificationEvent(event);
|
|
114
|
+
});
|
|
111
115
|
}
|
|
112
116
|
async handleNotificationEvent(event) {
|
|
113
117
|
const {
|
|
@@ -151,6 +155,10 @@ export class NotificationService {
|
|
|
151
155
|
await this.handleForegroundMessage(remoteMessage);
|
|
152
156
|
});
|
|
153
157
|
this.unsubscribeNotificationOpened = this.messagingService.onNotificationOpenedApp(async remoteMessage => {
|
|
158
|
+
ClixLogger.debug('Notification opened from background state:', {
|
|
159
|
+
messageId: remoteMessage.messageId,
|
|
160
|
+
data: remoteMessage.data
|
|
161
|
+
});
|
|
154
162
|
await this.handleNotificationTap(remoteMessage.data ?? {});
|
|
155
163
|
});
|
|
156
164
|
this.checkInitialNotification();
|
|
@@ -329,6 +337,7 @@ export class NotificationService {
|
|
|
329
337
|
}
|
|
330
338
|
}
|
|
331
339
|
async createNotificationConfig(remoteMessage, clixPayload, notificationContent, channelId) {
|
|
340
|
+
const imageUrl = notificationContent.imageUrl;
|
|
332
341
|
const config = {
|
|
333
342
|
id: remoteMessage.messageId || Date.now().toString(),
|
|
334
343
|
title: notificationContent.title,
|
|
@@ -336,10 +345,22 @@ export class NotificationService {
|
|
|
336
345
|
data: remoteMessage.data ?? {},
|
|
337
346
|
android: {
|
|
338
347
|
channelId,
|
|
348
|
+
importance: AndroidImportance.HIGH,
|
|
349
|
+
category: AndroidCategory.MESSAGE,
|
|
350
|
+
visibility: AndroidVisibility.PUBLIC,
|
|
351
|
+
groupId: NotificationService.ANDROID_GROUP_ID,
|
|
352
|
+
groupSummary: false,
|
|
353
|
+
groupAlertBehavior: AndroidGroupAlertBehavior.CHILDREN,
|
|
354
|
+
sound: 'default',
|
|
355
|
+
ticker: notificationContent.body,
|
|
356
|
+
actions: this.createNotificationActions(clixPayload),
|
|
357
|
+
style: {
|
|
358
|
+
type: AndroidStyle.BIGTEXT,
|
|
359
|
+
text: notificationContent.body ?? ''
|
|
360
|
+
},
|
|
339
361
|
pressAction: {
|
|
340
362
|
id: 'default'
|
|
341
|
-
}
|
|
342
|
-
actions: this.createNotificationActions(clixPayload)
|
|
363
|
+
}
|
|
343
364
|
},
|
|
344
365
|
ios: {
|
|
345
366
|
foregroundPresentationOptions: {
|
|
@@ -350,26 +371,9 @@ export class NotificationService {
|
|
|
350
371
|
}
|
|
351
372
|
}
|
|
352
373
|
};
|
|
353
|
-
if (
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
if (Platform.OS === 'ios') {
|
|
357
|
-
try {
|
|
358
|
-
config.ios.attachments = [{
|
|
359
|
-
url: notificationContent.imageUrl
|
|
360
|
-
}];
|
|
361
|
-
} catch (error) {
|
|
362
|
-
ClixLogger.warn('Failed to download image attachment:', error);
|
|
363
|
-
}
|
|
364
|
-
} else {
|
|
365
|
-
config.android.style = {
|
|
366
|
-
type: AndroidStyle.BIGPICTURE,
|
|
367
|
-
picture: notificationContent.imageUrl
|
|
368
|
-
};
|
|
369
|
-
}
|
|
370
|
-
} else {
|
|
371
|
-
ClixLogger.warn('Skipping attachment due to invalid URL:', notificationContent.imageUrl);
|
|
372
|
-
}
|
|
374
|
+
if (imageUrl) {
|
|
375
|
+
ClixLogger.debug('Adding image attachment to notification:', imageUrl);
|
|
376
|
+
config.android.largeIcon = imageUrl;
|
|
373
377
|
}
|
|
374
378
|
return config;
|
|
375
379
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["notifee","AndroidImportance","AndroidStyle","AuthorizationStatus","EventType","messaging","Linking","Platform","ClixPushNotificationPayload","ClixLogger","UUID","NotificationService","instance","DEFAULT_CHANNEL","id","name","description","importance","HIGH","sound","vibration","lights","messagingService","isInitialized","currentPushToken","processedMessageIds","Set","autoHandleLandingUrl","constructor","getInstance","resetInstance","cleanup","initialize","eventService","storageService","deviceService","tokenService","debug","initializeNotificationDisplayService","initializeMessageService","error","getCurrentToken","getOrFetchToken","handleFcmTokenError","unsubscribeForegroundMessage","unsubscribeNotificationOpened","unsubscribeTokenRefresh","unsubscribeNotificationEvents","clear","setMessageHandler","handler","messageHandler","setBackgroundMessageHandler","backgroundMessageHandler","setNotificationOpenedHandler","openedHandler","setFcmTokenErrorHandler","fcmTokenErrorHandler","setAutoHandleLandingUrl","enable","OS","createNotificationChannels","setupNotificationEventListeners","createChannel","onForegroundEvent","event","handleNotificationEvent","type","detail","PRESS","notification","data","handleNotificationTap","ACTION_PRESS","pressAction","handleActionPress","DISMISSED","actionId","setupMessageHandlers","getAndUpdateToken","setupTokenRefreshListener","remoteMessage","handleBackgroundMessage","onMessage","handleForegroundMessage","onNotificationOpenedApp","checkInitialNotification","messageId","warn","clixPayload","parseClixPayload","set","timestamp","Date","now","clixMessageId","campaignId","trackingId","trackEventInBackground","displayNotification","has","add","handlePushReceived","shouldDisplayForegroundNotification","requestPermission","settings","alert","badge","provisional","announcement","carPlay","criticalAlert","isGranted","authorizationStatus","AUTHORIZED","PROVISIONAL","setPermissionGranted","upsertIsPushPermissionGranted","onTokenRefresh","token","saveAndRegisterToken","initialNotification","getInitialNotification","registerTokenWithServer","savedToken","getToken","substring","saveToken","upsertToken","notificationContent","extractNotificationContent","title","body","hasImage","imageUrl","notificationConfig","createNotificationConfig","Error","message","stack","channelId","config","toString","android","actions","createNotificationActions","ios","foregroundPresentationOptions","banner","list","isValidImageUrl","attachments","url","style","BIGPICTURE","picture","push","customProperties","customActions","Array","isArray","forEach","action","trim","startsWith","fcmNotification","fcmTitle","fcmBody","trackPushEvent","handlePushTapped","handleUrlNavigation","landingUrl","landing_url","link","click_action","supported","canOpenURL","openURL","userInfo","payload","clix","JSON","parse","toCamel","s","replace","g","toUpperCase","result","key","finalResult","Object","keys","length","undefined","eventType","properties","extractTrackingProperties","trackEvent","configData","get","deviceId","generate","errorInstance","String","handlerError"],"sourceRoot":"../../../src","sources":["services/NotificationService.ts"],"mappings":";;AAAA,OAAOA,OAAO,IACZC,iBAAiB,EACjBC,YAAY,EACZC,mBAAmB,EACnBC,SAAS,QAIJ,uBAAuB;AAC9B,OAAOC,SAAS,MAET,kCAAkC;AACzC,SAASC,OAAO,EAAEC,QAAQ,QAAQ,cAAc;AAChD,SAASC,2BAA2B,QAAQ,0CAAuC;AACnF,SAASC,UAAU,QAAQ,gCAA6B;AACxD,SAASC,IAAI,QAAQ,kBAAe;AAyBpC,OAAO,MAAMC,mBAAmB,CAAC;EAC/B,OAAeC,QAAQ,GAA+B,IAAI;EAE1D,OAAwBC,eAAe,GAAmB;IACxDC,EAAE,EAAE,cAAc;IAClBC,IAAI,EAAE,oBAAoB;IAC1BC,WAAW,EAAE,iCAAiC;IAC9CC,UAAU,EAAEhB,iBAAiB,CAACiB,IAAI;IAClCC,KAAK,EAAE,SAAS;IAChBC,SAAS,EAAE,IAAI;IACfC,MAAM,EAAE;EACV,CAAC;EAEOC,gBAAgB,GAAGjB,SAAS,CAAC,CAAC;EAC9BkB,aAAa,GAAG,KAAK;EACrBC,gBAAgB,GAAkB,IAAI;EACtCC,mBAAmB,GAAG,IAAIC,GAAG,CAAS,CAAC;EAOvCC,oBAAoB,GAAG,IAAI;EAW3BC,WAAWA,CAAA,EAAG,CAAC;EAEvB,OAAcC,WAAWA,CAAA,EAAwB;IAC/C,IAAI,CAAClB,mBAAmB,CAACC,QAAQ,EAAE;MACjCD,mBAAmB,CAACC,QAAQ,GAAG,IAAID,mBAAmB,CAAC,CAAC;IAC1D;IACA,OAAOA,mBAAmB,CAACC,QAAQ;EACrC;EAEA,OAAckB,aAAaA,CAAA,EAAS;IAClC,IAAInB,mBAAmB,CAACC,QAAQ,EAAE;MAChCD,mBAAmB,CAACC,QAAQ,CAACmB,OAAO,CAAC,CAAC;MACtCpB,mBAAmB,CAACC,QAAQ,GAAG,IAAI;IACrC;EACF;EAEA,MAAMoB,UAAUA,CACdC,YAA0B,EAC1BC,cAA8B,EAC9BC,aAA6B,EAC7BC,YAA2B,EACG;IAC9B,IAAI,IAAI,CAACb,aAAa,EAAE;MACtBd,UAAU,CAAC4B,KAAK,CACd,uEACF,CAAC;MACD,OAAO,IAAI;IACb;IAEA,IAAI;MACF5B,UAAU,CAAC4B,KAAK,CAAC,mCAAmC,CAAC;MAErD,IAAI,CAACJ,YAAY,GAAGA,YAAY;MAChC,IAAI,CAACC,cAAc,GAAGA,cAAc;MACpC,IAAI,CAACC,aAAa,GAAGA,aAAa;MAClC,IAAI,CAACC,YAAY,GAAGA,YAAY;MAEhC,MAAM,IAAI,CAACE,oCAAoC,CAAC,CAAC;MACjD,MAAM,IAAI,CAACC,wBAAwB,CAAC,CAAC;MAErC,IAAI,CAAChB,aAAa,GAAG,IAAI;MACzBd,UAAU,CAAC4B,KAAK,CAAC,+CAA+C,CAAC;MACjE,OAAO,IAAI;IACb,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd/B,UAAU,CAAC+B,KAAK,CAAC,2CAA2C,EAAEA,KAAK,CAAC;MACpE,MAAMA,KAAK;IACb;EACF;EAEA,MAAMC,eAAeA,CAAA,EAA2B;IAC9C,IAAI;MACF,IAAI,CAACjB,gBAAgB,GAAG,MAAM,IAAI,CAACkB,eAAe,CAAC,CAAC;MACpD,OAAO,IAAI,CAAClB,gBAAgB;IAC9B,CAAC,CAAC,OAAOgB,KAAK,EAAE;MACd/B,UAAU,CAAC+B,KAAK,CAAC,0BAA0B,EAAEA,KAAK,CAAC;MACnD,MAAM,IAAI,CAACG,mBAAmB,CAACH,KAAK,CAAC;MACrC,OAAO,IAAI;IACb;EACF;EAEAT,OAAOA,CAAA,EAAS;IACd,IAAI,CAACa,4BAA4B,GAAG,CAAC;IACrC,IAAI,CAACC,6BAA6B,GAAG,CAAC;IACtC,IAAI,CAACC,uBAAuB,GAAG,CAAC;IAChC,IAAI,CAACC,6BAA6B,GAAG,CAAC;IACtC,IAAI,CAACxB,aAAa,GAAG,KAAK;IAC1B,IAAI,CAACE,mBAAmB,CAACuB,KAAK,CAAC,CAAC;IAChCvC,UAAU,CAAC4B,KAAK,CAAC,iCAAiC,CAAC;EACrD;EAEAY,iBAAiBA,CAACC,OAAkC,EAAQ;IAC1D,IAAI,CAACC,cAAc,GAAGD,OAAO;EAC/B;EAEAE,2BAA2BA,CAACF,OAAkC,EAAQ;IACpE,IAAI,CAACG,wBAAwB,GAAGH,OAAO;EACzC;EAEAI,4BAA4BA,CAACJ,OAAmC,EAAQ;IACtE,IAAI,CAACK,aAAa,GAAGL,OAAO;EAC9B;EAEAM,uBAAuBA,CAACN,OAA8B,EAAQ;IAC5D,IAAI,CAACO,oBAAoB,GAAGP,OAAO;EACrC;EAEAQ,uBAAuBA,CAACC,MAAe,EAAQ;IAC7C,IAAI,CAAChC,oBAAoB,GAAGgC,MAAM;EACpC;EAEA,MAAcrB,oCAAoCA,CAAA,EAAkB;IAClE,IAAI/B,QAAQ,CAACqD,EAAE,KAAK,SAAS,EAAE;MAC7B,MAAM,IAAI,CAACC,0BAA0B,CAAC,CAAC;IACzC;IACA,IAAI,CAACC,+BAA+B,CAAC,CAAC;EACxC;EAEA,MAAcD,0BAA0BA,CAAA,EAAkB;IACxD,IAAI;MACF,MAAM7D,OAAO,CAAC+D,aAAa,CAACpD,mBAAmB,CAACE,eAAe,CAAC;MAChEJ,UAAU,CAAC4B,KAAK,CAAC,4CAA4C,CAAC;IAChE,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd/B,UAAU,CAAC+B,KAAK,CAAC,wCAAwC,EAAEA,KAAK,CAAC;IACnE;EACF;EAEQsB,+BAA+BA,CAAA,EAAS;IAC9C,IAAI,CAACf,6BAA6B,GAAG/C,OAAO,CAACgE,iBAAiB,CAC5D,MAAOC,KAAY,IAAK;MACtB,MAAM,IAAI,CAACC,uBAAuB,CAACD,KAAK,CAAC;IAC3C,CACF,CAAC;EACH;EAEA,MAAcC,uBAAuBA,CAACD,KAAY,EAAiB;IACjE,MAAM;MAAEE,IAAI;MAAEC;IAAO,CAAC,GAAGH,KAAK;IAE9B,QAAQE,IAAI;MACV,KAAK/D,SAAS,CAACiE,KAAK;QAClB,IAAID,MAAM,CAACE,YAAY,EAAEC,IAAI,EAAE;UAC7B,MAAM,IAAI,CAACC,qBAAqB,CAACJ,MAAM,CAACE,YAAY,CAACC,IAAI,CAAC;QAC5D;QACA;MACF,KAAKnE,SAAS,CAACqE,YAAY;QACzB,IAAIL,MAAM,CAACM,WAAW,EAAE5D,EAAE,EAAE;UAC1B,MAAM,IAAI,CAAC6D,iBAAiB,CAC1BP,MAAM,CAACM,WAAW,CAAC5D,EAAE,EACrBsD,MAAM,CAACE,YAAY,EAAEC,IACvB,CAAC;QACH;QACA;MACF,KAAKnE,SAAS,CAACwE,SAAS;QACtBnE,UAAU,CAAC4B,KAAK,CAAC,wBAAwB,CAAC;QAC1C;MACF;QACE5B,UAAU,CAAC4B,KAAK,CAAC,oCAAoC,EAAE8B,IAAI,CAAC;IAChE;EACF;EAEA,MAAcQ,iBAAiBA,CAC7BE,QAAgB,EAChBN,IAA0B,EACX;IACf9D,UAAU,CAAC4B,KAAK,CAAC,iBAAiB,EAAEwC,QAAQ,CAAC;IAC7C,IAAIN,IAAI,EAAE;MACR,MAAM,IAAI,CAACC,qBAAqB,CAACD,IAAI,CAAC;IACxC;EACF;EAEA,MAAchC,wBAAwBA,CAAA,EAAkB;IACtD,IAAI,CAACuC,oBAAoB,CAAC,CAAC;IAC3B,MAAM,IAAI,CAACC,iBAAiB,CAAC,CAAC;IAC9B,IAAI,CAACC,yBAAyB,CAAC,CAAC;EAClC;EAEQF,oBAAoBA,CAAA,EAAS;IACnC,IAAI,CAACxD,gBAAgB,CAAC8B,2BAA2B,CAC/C,MAAO6B,aAAmD,IAAK;MAC7D,MAAM,IAAI,CAACC,uBAAuB,CAACD,aAAa,CAAC;IACnD,CACF,CAAC;IACD,IAAI,CAACrC,4BAA4B,GAAG,IAAI,CAACtB,gBAAgB,CAAC6D,SAAS,CACjE,MAAOF,aAAmD,IAAK;MAC7D,MAAM,IAAI,CAACG,uBAAuB,CAACH,aAAa,CAAC;IACnD,CACF,CAAC;IACD,IAAI,CAACpC,6BAA6B,GAChC,IAAI,CAACvB,gBAAgB,CAAC+D,uBAAuB,CAC3C,MAAOJ,aAAmD,IAAK;MAC7D,MAAM,IAAI,CAACT,qBAAqB,CAACS,aAAa,CAACV,IAAI,IAAI,CAAC,CAAC,CAAC;IAC5D,CACF,CAAC;IACH,IAAI,CAACe,wBAAwB,CAAC,CAAC;EACjC;EAEA,MAAcJ,uBAAuBA,CACnCD,aAAmD,EACpC;IACfxE,UAAU,CAAC4B,KAAK,CAAC,8BAA8B,EAAE4C,aAAa,CAACM,SAAS,CAAC;IAEzE,MAAMhB,IAAI,GAAGU,aAAa,CAACV,IAAI,IAAI,CAAC,CAAC;IACrC,IAAI;MACF,MAAM,IAAI,CAAClB,wBAAwB,GAAGkB,IAAI,CAAC;IAC7C,CAAC,CAAC,OAAO/B,KAAK,EAAE;MACd/B,UAAU,CAAC+E,IAAI,CAAC,mCAAmC,EAAEhD,KAAK,CAAC;IAC7D;IAEA,IAAI;MACF,MAAMiD,WAAW,GAAG,IAAI,CAACC,gBAAgB,CAACnB,IAAI,CAAC;MAC/C,IAAI,CAACkB,WAAW,EAAE;QAChBhF,UAAU,CAAC+E,IAAI,CAAC,6CAA6C,CAAC;QAC9D;MACF;MAEA,IAAI,CAACtD,cAAc,CAACyD,GAAG,CAAC,8BAA8B,EAAE;QACtDJ,SAAS,EAAEN,aAAa,CAACM,SAAS;QAClChB,IAAI,EAAEA,IAAI;QACVqB,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;QACrBC,aAAa,EAAEN,WAAW,CAACF,SAAS;QACpCS,UAAU,EAAEP,WAAW,CAACO,UAAU;QAClCC,UAAU,EAAER,WAAW,CAACQ;MAC1B,CAAC,CAAC;MAEF,MAAM,IAAI,CAACC,sBAAsB,CAACT,WAAW,CAAC;MAE9C,IAAI,CAACR,aAAa,CAACX,YAAY,EAAE;QAC/B,MAAM,IAAI,CAAC6B,mBAAmB,CAAClB,aAAa,EAAEQ,WAAW,CAAC;MAC5D;IACF,CAAC,CAAC,OAAOjD,KAAK,EAAE;MACd/B,UAAU,CAAC+B,KAAK,CAAC,mCAAmC,EAAEA,KAAK,CAAC;IAC9D;EACF;EAEA,MAAc4C,uBAAuBA,CACnCH,aAAmD,EACpC;IACfxE,UAAU,CAAC4B,KAAK,CAAC,8BAA8B,EAAE4C,aAAa,CAACM,SAAS,CAAC;IAEzE,IAAI;MACF,MAAMA,SAAS,GAAGN,aAAa,CAACM,SAAS;MACzC,IAAI,CAACA,SAAS,EAAE;QACd9E,UAAU,CAAC+E,IAAI,CAAC,0CAA0C,CAAC;QAC3D;MACF;MAEA,IAAI,IAAI,CAAC/D,mBAAmB,CAAC2E,GAAG,CAACb,SAAS,CAAC,EAAE;QAC3C9E,UAAU,CAAC4B,KAAK,CACd,gDAAgD,EAChDkD,SACF,CAAC;QACD;MACF;MAEA,MAAMhB,IAAI,GAAGU,aAAa,CAACV,IAAI,IAAI,CAAC,CAAC;MACrC,MAAMkB,WAAW,GAAG,IAAI,CAACC,gBAAgB,CAACnB,IAAI,CAAC;MAC/C,IAAIkB,WAAW,EAAE;QACfhF,UAAU,CAAC4B,KAAK,CAAC,sBAAsB,EAAEoD,WAAW,CAAC;QACrD,IAAI,CAAChE,mBAAmB,CAAC4E,GAAG,CAACd,SAAS,CAAC;QACvC,IAAIhF,QAAQ,CAACqD,EAAE,KAAK,SAAS,EAAE;UAC7B;UACA,MAAM,IAAI,CAAC0C,kBAAkB,CAAC/B,IAAI,CAAC;QACrC;QAEA,IAAI,MAAM,IAAI,CAACgC,mCAAmC,CAAChC,IAAI,CAAC,EAAE;UACxD,MAAM,IAAI,CAAC4B,mBAAmB,CAAClB,aAAa,EAAEQ,WAAW,CAAC;QAC5D,CAAC,MAAM;UACLhF,UAAU,CAAC4B,KAAK,CACd,gDAAgD,EAChDkD,SACF,CAAC;QACH;MACF,CAAC,MAAM;QACL9E,UAAU,CAAC+E,IAAI,CAAC,6CAA6C,CAAC;MAChE;IACF,CAAC,CAAC,OAAOhD,KAAK,EAAE;MACd/B,UAAU,CAAC+B,KAAK,CAAC,qCAAqC,EAAEA,KAAK,CAAC;IAChE;EACF;EAEA,MAAMgE,iBAAiBA,CAAA,EAAkC;IACvD,MAAMC,QAAQ,GAAG,MAAMzG,OAAO,CAACwG,iBAAiB,CAAC;MAC/CE,KAAK,EAAE,IAAI;MACXC,KAAK,EAAE,IAAI;MACXxF,KAAK,EAAE,IAAI;MACXyF,WAAW,EAAE,KAAK;MAClBC,YAAY,EAAE,KAAK;MACnBC,OAAO,EAAE,KAAK;MACdC,aAAa,EAAE;IACjB,CAAC,CAAC;IACFtG,UAAU,CAAC4B,KAAK,CAAC,sCAAsC,EAAEoE,QAAQ,CAAC;IAElE,MAAMO,SAAS,GACbP,QAAQ,CAACQ,mBAAmB,KAAK9G,mBAAmB,CAAC+G,UAAU,IAC/DT,QAAQ,CAACQ,mBAAmB,KAAK9G,mBAAmB,CAACgH,WAAW;IAClE,MAAM,IAAI,CAACC,oBAAoB,CAACJ,SAAS,CAAC;IAE1C,OAAOP,QAAQ;EACjB;EAEA,MAAMW,oBAAoBA,CAACJ,SAAkB,EAAiB;IAC5D,IAAI,CAAC,IAAI,CAAC7E,aAAa,EAAE;MACvB1B,UAAU,CAAC4B,KAAK,CACd,oEACF,CAAC;MACD;IACF;IAEA,IAAI;MACF,MAAM,IAAI,CAACF,aAAa,CAACkF,6BAA6B,CAACL,SAAS,CAAC;MACjEvG,UAAU,CAAC4B,KAAK,CACd,8CACE2E,SAAS,GAAG,SAAS,GAAG,QAAQ,EAEpC,CAAC;IACH,CAAC,CAAC,OAAOxE,KAAK,EAAE;MACd/B,UAAU,CAAC+E,IAAI,CAAC,yCAAyC,EAAEhD,KAAK,CAAC;IACnE;EACF;EAEQwC,yBAAyBA,CAAA,EAAS;IACxC,IAAI,CAAClC,uBAAuB,GAAG,IAAI,CAACxB,gBAAgB,CAACgG,cAAc,CACjE,MAAOC,KAAa,IAAK;MACvB,IAAI;QACF9G,UAAU,CAAC4B,KAAK,CAAC,sBAAsB,CAAC;QACxC,IAAI,CAACb,gBAAgB,GAAG+F,KAAK;QAC7B,MAAM,IAAI,CAACC,oBAAoB,CAACD,KAAK,CAAC;MACxC,CAAC,CAAC,OAAO/E,KAAK,EAAE;QACd/B,UAAU,CAAC+B,KAAK,CAAC,gCAAgC,EAAEA,KAAK,CAAC;QACzD,MAAM,IAAI,CAACG,mBAAmB,CAACH,KAAK,CAAC;MACvC;IACF,CACF,CAAC;EACH;EAEA,MAAc8C,wBAAwBA,CAAA,EAAkB;IACtD,IAAI;MACF,MAAMmC,mBAAmB,GACvB,MAAM,IAAI,CAACnG,gBAAgB,CAACoG,sBAAsB,CAAC,CAAC;MACtD,IAAID,mBAAmB,EAAE;QACvBhH,UAAU,CAAC4B,KAAK,CACd,iCAAiC,EACjCoF,mBAAmB,CAAClC,SACtB,CAAC;QACD,MAAM,IAAI,CAACf,qBAAqB,CAACiD,mBAAmB,CAAClD,IAAI,IAAI,CAAC,CAAC,CAAC;MAClE;IACF,CAAC,CAAC,OAAO/B,KAAK,EAAE;MACd/B,UAAU,CAAC+B,KAAK,CAAC,uCAAuC,EAAEA,KAAK,CAAC;IAClE;EACF;EAEA,MAAcuC,iBAAiBA,CAAA,EAAkB;IAC/C,IAAI;MACF,MAAMwC,KAAK,GAAG,MAAM,IAAI,CAAC9E,eAAe,CAAC,CAAC;MAC1C,IAAI8E,KAAK,EAAE;QACT,MAAM,IAAI,CAACI,uBAAuB,CAACJ,KAAK,CAAC;MAC3C;IACF,CAAC,CAAC,OAAO/E,KAAK,EAAE;MACd/B,UAAU,CAAC+B,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;IACxD;EACF;EAEA,MAAcE,eAAeA,CAAA,EAA2B;IACtD,IAAI,IAAI,CAACN,YAAY,EAAE;MACrB,MAAMwF,UAAU,GAAG,IAAI,CAACxF,YAAY,CAACK,eAAe,CAAC,CAAC;MACtD,IAAImF,UAAU,EAAE,OAAOA,UAAU;IACnC;IAEA,MAAML,KAAK,GAAG,MAAM,IAAI,CAACjG,gBAAgB,CAACuG,QAAQ,CAAC,CAAC;IAEpD,IAAIN,KAAK,EAAE;MACT9G,UAAU,CAAC4B,KAAK,CAAC,iBAAiB,EAAEkF,KAAK,CAACO,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;MACnE,IAAI,CAAC1F,YAAY,EAAE2F,SAAS,CAACR,KAAK,CAAC;IACrC;IACA,OAAOA,KAAK;EACd;EAEA,MAAcC,oBAAoBA,CAACD,KAAa,EAAiB;IAC/D,IAAI,IAAI,CAACnF,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAAC2F,SAAS,CAACR,KAAK,CAAC;MAClC9G,UAAU,CAAC4B,KAAK,CAAC,uCAAuC,CAAC;IAC3D;IACA,MAAM,IAAI,CAACsF,uBAAuB,CAACJ,KAAK,CAAC;EAC3C;EAEA,MAAcI,uBAAuBA,CAACJ,KAAa,EAAiB;IAClE,IAAI,IAAI,CAACpF,aAAa,EAAE;MACtB,MAAM,IAAI,CAACA,aAAa,CAAC6F,WAAW,CAACT,KAAK,CAAC;MAC3C9G,UAAU,CAAC4B,KAAK,CAAC,mCAAmC,CAAC;IACvD;EACF;EAEA,MAAc8D,mBAAmBA,CAC/BlB,aAAmD,EACnDQ,WAAwC,EACzB;IACf,IAAI;MACF,MAAMwC,mBAAmB,GAAG,IAAI,CAACC,0BAA0B,CACzDjD,aAAa,CAACX,YAAY,EAC1BmB,WACF,CAAC;MAEDhF,UAAU,CAAC4B,KAAK,CAAC,4CAA4C,EAAE;QAC7D8F,KAAK,EAAEF,mBAAmB,CAACE,KAAK;QAChCC,IAAI,EAAEH,mBAAmB,CAACG,IAAI;QAC9BC,QAAQ,EAAE,CAAC,CAACJ,mBAAmB,CAACK,QAAQ;QACxCA,QAAQ,EAAEL,mBAAmB,CAACK;MAChC,CAAC,CAAC;MAEF,MAAMC,kBAAkB,GAAG,MAAM,IAAI,CAACC,wBAAwB,CAC5DvD,aAAa,EACbQ,WAAW,EACXwC,mBAAmB,EACnBtH,mBAAmB,CAACE,eAAe,CAACC,EACtC,CAAC;MAED,MAAMd,OAAO,CAACmG,mBAAmB,CAACoC,kBAAkB,CAAC;MACrD9H,UAAU,CAAC4B,KAAK,CACd,sCAAsC,EACtC4F,mBAAmB,CAACE,KACtB,CAAC;IACH,CAAC,CAAC,OAAO3F,KAAK,EAAE;MACd/B,UAAU,CAAC+B,KAAK,CAAC,gCAAgC,EAAEA,KAAK,CAAC;MACzD,IAAIA,KAAK,YAAYiG,KAAK,EAAE;QAC1BhI,UAAU,CAAC+B,KAAK,CAAC,gBAAgB,EAAE;UACjCkG,OAAO,EAAElG,KAAK,CAACkG,OAAO;UACtBC,KAAK,EAAEnG,KAAK,CAACmG,KAAK;UAClBpD,SAAS,EAAEN,aAAa,CAACM,SAAS;UAClC8C,QAAQ,EAAE,CAAC,CAAC5C,WAAW,CAAC6C,QAAQ;UAChCA,QAAQ,EAAE7C,WAAW,CAAC6C;QACxB,CAAC,CAAC;MACJ;IACF;EACF;EAEA,MAAcE,wBAAwBA,CACpCvD,aAAmD,EACnDQ,WAAwC,EACxCwC,mBAAwC,EACxCW,SAAiB,EACjB;IACA,MAAMC,MAAW,GAAG;MAClB/H,EAAE,EAAEmE,aAAa,CAACM,SAAS,IAAIM,IAAI,CAACC,GAAG,CAAC,CAAC,CAACgD,QAAQ,CAAC,CAAC;MACpDX,KAAK,EAAEF,mBAAmB,CAACE,KAAK;MAChCC,IAAI,EAAEH,mBAAmB,CAACG,IAAI;MAC9B7D,IAAI,EAAEU,aAAa,CAACV,IAAI,IAAI,CAAC,CAAC;MAC9BwE,OAAO,EAAE;QACPH,SAAS;QACTlE,WAAW,EAAE;UACX5D,EAAE,EAAE;QACN,CAAC;QACDkI,OAAO,EAAE,IAAI,CAACC,yBAAyB,CAACxD,WAAW;MACrD,CAAC;MACDyD,GAAG,EAAE;QACHC,6BAA6B,EAAE;UAC7BxC,KAAK,EAAE,IAAI;UACXxF,KAAK,EAAE,IAAI;UACXiI,MAAM,EAAE,IAAI;UACZC,IAAI,EAAE;QACR;MACF;IACF,CAAC;IAED,IAAIpB,mBAAmB,CAACK,QAAQ,EAAE;MAChC,IAAI,IAAI,CAACgB,eAAe,CAACrB,mBAAmB,CAACK,QAAQ,CAAC,EAAE;QACtD7H,UAAU,CAAC4B,KAAK,CACd,0CAA0C,EAC1C4F,mBAAmB,CAACK,QACtB,CAAC;QACD,IAAI/H,QAAQ,CAACqD,EAAE,KAAK,KAAK,EAAE;UACzB,IAAI;YACFiF,MAAM,CAACK,GAAG,CAACK,WAAW,GAAG,CACvB;cACEC,GAAG,EAAEvB,mBAAmB,CAACK;YAC3B,CAAC,CACF;UACH,CAAC,CAAC,OAAO9F,KAAK,EAAE;YACd/B,UAAU,CAAC+E,IAAI,CAAC,sCAAsC,EAAEhD,KAAK,CAAC;UAChE;QACF,CAAC,MAAM;UACLqG,MAAM,CAACE,OAAO,CAACU,KAAK,GAAG;YACrBtF,IAAI,EAAEjE,YAAY,CAACwJ,UAAU;YAC7BC,OAAO,EAAE1B,mBAAmB,CAACK;UAC/B,CAAC;QACH;MACF,CAAC,MAAM;QACL7H,UAAU,CAAC+E,IAAI,CACb,yCAAyC,EACzCyC,mBAAmB,CAACK,QACtB,CAAC;MACH;IACF;IACA,OAAOO,MAAM;EACf;EAEQI,yBAAyBA,CAACxD,WAAwC,EAAE;IAC1E,MAAMuD,OAAO,GAAG,EAAE;IAElBA,OAAO,CAACY,IAAI,CAAC;MACXzB,KAAK,EAAE,MAAM;MACbzD,WAAW,EAAE;QACX5D,EAAE,EAAE;MACN;IACF,CAAC,CAAC;IAEF,IAAI2E,WAAW,CAACoE,gBAAgB,EAAEb,OAAO,EAAE;MACzC,MAAMc,aAAa,GAAGrE,WAAW,CAACoE,gBAAgB,CAACb,OAAO;MAC1D,IAAIe,KAAK,CAACC,OAAO,CAACF,aAAa,CAAC,EAAE;QAChCA,aAAa,CAACG,OAAO,CAAEC,MAAM,IAAK;UAChC,IAAIA,MAAM,CAAC/B,KAAK,IAAI+B,MAAM,CAACrF,QAAQ,EAAE;YACnCmE,OAAO,CAACY,IAAI,CAAC;cACXzB,KAAK,EAAE+B,MAAM,CAAC/B,KAAK;cACnBzD,WAAW,EAAE;gBACX5D,EAAE,EAAEoJ,MAAM,CAACrF;cACb;YACF,CAAC,CAAC;UACJ;QACF,CAAC,CAAC;MACJ;IACF;IAEA,OAAOmE,OAAO;EAChB;EAEQM,eAAeA,CAACE,GAAW,EAAW;IAC5C,OAAOA,GAAG,CAACW,IAAI,CAAC,CAAC,KAAK,EAAE,IAAIX,GAAG,CAACY,UAAU,CAAC,MAAM,CAAC;EACpD;EAEQlC,0BAA0BA,CAChCmC,eAAuE,EACvE5E,WAAwC,EACnB;IACrBhF,UAAU,CAAC4B,KAAK,CAAC,+CAA+C,EAAE;MAChEiI,QAAQ,EAAED,eAAe,EAAElC,KAAK;MAChCoC,OAAO,EAAEF,eAAe,EAAEjC,IAAI;MAC9ByB,gBAAgB,EAAEpE,WAAW,CAACoE,gBAAgB;MAC9CtE,SAAS,EAAEE,WAAW,CAACF,SAAS;MAChC+C,QAAQ,EAAE7C,WAAW,CAAC6C;IACxB,CAAC,CAAC;IAEF,MAAMH,KAAK,GACTkC,eAAe,EAAElC,KAAK,IACtB1C,WAAW,CAACoE,gBAAgB,EAAE1B,KAAK,IACnC,aAAa;IACf,MAAMC,IAAI,GACRiC,eAAe,EAAEjC,IAAI,IAAI3C,WAAW,CAACoE,gBAAgB,EAAEzB,IAAI,IAAI,EAAE;IAEnE3H,UAAU,CAAC4B,KAAK,CAAC,iCAAiC,EAAE;MAAE8F,KAAK;MAAEC;IAAK,CAAC,CAAC;;IAEpE;IACA,IAAIE,QAA4B;IAChC,IAAI7C,WAAW,CAAC6C,QAAQ,EAAE;MACxB7H,UAAU,CAAC4B,KAAK,CAAC,uBAAuB,EAAEoD,WAAW,CAAC6C,QAAQ,CAAC;MAC/D,IAAI,IAAI,CAACgB,eAAe,CAAC7D,WAAW,CAAC6C,QAAQ,CAAC,EAAE;QAC9CA,QAAQ,GAAG7C,WAAW,CAAC6C,QAAQ;QAC/B7H,UAAU,CAAC4B,KAAK,CAAC,kCAAkC,CAAC;MACtD,CAAC,MAAM;QACL5B,UAAU,CAAC+E,IAAI,CAAC,8BAA8B,EAAEC,WAAW,CAAC6C,QAAQ,CAAC;MACvE;IACF;IAEA,OAAO;MACLH,KAAK;MACLC,IAAI;MACJE;IACF,CAAC;EACH;EAEA,MAAchC,kBAAkBA,CAAC/B,IAAyB,EAAiB;IACzE,IAAI;MACF,MAAMkB,WAAW,GAAG,IAAI,CAACC,gBAAgB,CAACnB,IAAI,CAAC;MAC/C,IAAIkB,WAAW,EAAE;QACf,MAAM,IAAI,CAAC+E,cAAc,CAAC,4BAA4B,EAAE/E,WAAW,CAAC;MACtE;MACAhF,UAAU,CAAC4B,KAAK,CAAC,0CAA0C,CAAC;IAC9D,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd/B,UAAU,CAAC+B,KAAK,CAAC,gCAAgC,EAAEA,KAAK,CAAC;IAC3D;EACF;EAEA,MAAciI,gBAAgBA,CAAClG,IAAyB,EAAiB;IACvE,IAAI;MACF,MAAMkB,WAAW,GAAG,IAAI,CAACC,gBAAgB,CAACnB,IAAI,CAAC;MAC/C,IAAIkB,WAAW,EAAE;QACf,MAAM,IAAI,CAAC+E,cAAc,CAAC,0BAA0B,EAAE/E,WAAW,CAAC;MACpE;MACA,IAAI,IAAI,CAAC9D,oBAAoB,EAAE;QAC7B,MAAM,IAAI,CAAC+I,mBAAmB,CAACnG,IAAI,CAAC;MACtC;MACA9D,UAAU,CAAC4B,KAAK,CAAC,wCAAwC,CAAC;IAC5D,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd/B,UAAU,CAAC+B,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;IACzD;EACF;EAEA,MAAcgC,qBAAqBA,CACjCD,IAAyB,EACV;IACf,IAAI;MACF,MAAM,IAAI,CAAChB,aAAa,GAAGgB,IAAI,CAAC;IAClC,CAAC,CAAC,OAAO/B,KAAK,EAAE;MACd/B,UAAU,CAAC+B,KAAK,CAAC,mCAAmC,EAAEA,KAAK,CAAC;IAC9D;IAEA,IAAI;MACF,MAAM,IAAI,CAACiI,gBAAgB,CAAClG,IAAI,CAAC;IACnC,CAAC,CAAC,OAAO/B,KAAK,EAAE;MACd/B,UAAU,CAAC+B,KAAK,CAAC,mCAAmC,EAAEA,KAAK,CAAC;IAC9D;EACF;EAEA,MAAckI,mBAAmBA,CAACnG,IAAyB,EAAiB;IAC1E,IAAI;MACF,IAAIiF,GAAuB;MAC3B,MAAM/D,WAAW,GAAG,IAAI,CAACC,gBAAgB,CAACnB,IAAI,CAAC;MAC/C,IAAIkB,WAAW,EAAE;QACf+D,GAAG,GAAG/D,WAAW,CAACkF,UAAU;MAC9B;MACAnB,GAAG,GACDA,GAAG,IAAIjF,IAAI,CAACqG,WAAW,IAAIrG,IAAI,CAACiF,GAAG,IAAIjF,IAAI,CAACsG,IAAI,IAAItG,IAAI,CAACuG,YAAY;MACvE,IAAItB,GAAG,EAAE;QACP/I,UAAU,CAAC4B,KAAK,CAAC,gCAAgC,EAAEmH,GAAG,CAAC;QACvD,IAAI;UACF,MAAMuB,SAAS,GAAG,MAAMzK,OAAO,CAAC0K,UAAU,CAACxB,GAAG,CAAC;UAC/C/I,UAAU,CAAC4B,KAAK,CAAC,eAAe,EAAE0I,SAAS,CAAC;UAC5C,IAAIA,SAAS,EAAE;YACb,MAAMzK,OAAO,CAAC2K,OAAO,CAACzB,GAAG,CAAC;YAC1B/I,UAAU,CAAC4B,KAAK,CAAC,0BAA0B,EAAEmH,GAAG,CAAC;UACnD,CAAC,MAAM;YACL/I,UAAU,CAAC+E,IAAI,CAAC,kBAAkB,EAAEgE,GAAG,CAAC;YACxC,MAAMlJ,OAAO,CAAC2K,OAAO,CAACzB,GAAG,CAAC;UAC5B;QACF,CAAC,CAAC,OAAOhH,KAAK,EAAE;UACd/B,UAAU,CAAC+B,KAAK,CAAC,oBAAoB,EAAEA,KAAK,CAAC;QAC/C;MACF;IACF,CAAC,CAAC,OAAOA,KAAK,EAAE;MACd/B,UAAU,CAAC+B,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;IAC5D;EACF;EAEQkD,gBAAgBA,CACtBwF,QAA6B,EACO;IACpC,IAAI;MACF,IAAIC,OAAY,GAAGD,QAAQ;MAC3B,IAAIA,QAAQ,CAACE,IAAI,EAAE;QACjB,IAAI,OAAOF,QAAQ,CAACE,IAAI,KAAK,QAAQ,EAAE;UACrCD,OAAO,GAAGD,QAAQ,CAACE,IAAI;QACzB,CAAC,MAAM,IAAI,OAAOF,QAAQ,CAACE,IAAI,KAAK,QAAQ,EAAE;UAC5CD,OAAO,GAAGE,IAAI,CAACC,KAAK,CAACJ,QAAQ,CAACE,IAAI,CAAC;QACrC;MACF;MACA,MAAMG,OAAO,GAAIC,CAAS,IACxBA,CAAC,CAACC,OAAO,CAAC,WAAW,EAAGC,CAAC,IAAK,CAACA,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAEC,WAAW,CAAC,CAAC,CAAC;MAC3D,MAAMC,MAAW,GAAG,CAAC,CAAC;MACtB,IAAI,CAACT,OAAO,EAAE,OAAO,IAAI;MACzB,KAAK,MAAMU,GAAG,IAAIV,OAAO,EAAE;QACzBS,MAAM,CAACL,OAAO,CAACM,GAAG,CAAC,CAAC,GAAGV,OAAO,CAACU,GAAG,CAAC;MACrC;MAEApL,UAAU,CAAC4B,KAAK,CAAC,6BAA6B,EAAEuJ,MAAM,CAAC;MAEvD,IAAI,CAACA,MAAM,CAACrG,SAAS,EAAE,OAAO,IAAI;;MAElC;MACA,MAAMsE,gBAAqC,GAAG,CAAC,CAAC;MAChD,IAAI+B,MAAM,CAACzD,KAAK,EAAE0B,gBAAgB,CAAC1B,KAAK,GAAGyD,MAAM,CAACzD,KAAK;MACvD,IAAIyD,MAAM,CAACxD,IAAI,EAAEyB,gBAAgB,CAACzB,IAAI,GAAGwD,MAAM,CAACxD,IAAI;MAEpD,MAAM0D,WAAW,GAAG;QAClB,GAAGF,MAAM;QACT/B,gBAAgB,EACdkC,MAAM,CAACC,IAAI,CAACnC,gBAAgB,CAAC,CAACoC,MAAM,GAAG,CAAC,GACpCpC,gBAAgB,GAChBqC;MACR,CAAC;MAEDzL,UAAU,CAAC4B,KAAK,CAAC,4BAA4B,EAAEyJ,WAAW,CAAC;MAE3D,OAAO,IAAItL,2BAA2B,CAACsL,WAAW,CAAC;IACrD,CAAC,CAAC,OAAOtJ,KAAK,EAAE;MACd/B,UAAU,CAAC+B,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;MACvD,OAAO,IAAI;IACb;EACF;EAEA,MAAcgI,cAAcA,CAC1B2B,SAAiB,EACjB1G,WAAwC,EACzB;IACf,MAAM2G,UAAU,GAAG,IAAI,CAACC,yBAAyB,CAAC5G,WAAW,CAAC;IAC9D,MAAMF,SAAS,GAAGE,WAAW,CAACF,SAAS;IACvC,MAAM,IAAI,CAACtD,YAAY,CAACqK,UAAU,CAACH,SAAS,EAAEC,UAAU,EAAE7G,SAAS,CAAC;IACpE9E,UAAU,CAAC4B,KAAK,CAAC,GAAG8J,SAAS,WAAW,EAAE5G,SAAS,CAAC;EACtD;EAEQ8G,yBAAyBA,CAC/B5G,WAAwC,EACnB;IACrB,MAAM2G,UAA+B,GAAG,CAAC,CAAC;IAC1C,IAAI3G,WAAW,CAACF,SAAS,EAAE6G,UAAU,CAAC7G,SAAS,GAAGE,WAAW,CAACF,SAAS;IACvE,IAAIE,WAAW,CAACO,UAAU,EAAEoG,UAAU,CAACpG,UAAU,GAAGP,WAAW,CAACO,UAAU;IAC1E,IAAIP,WAAW,CAACQ,UAAU,EAAEmG,UAAU,CAACnG,UAAU,GAAGR,WAAW,CAACQ,UAAU;IAC1E,OAAOmG,UAAU;EACnB;EAEA,MAAclG,sBAAsBA,CAClCT,WAAwC,EACzB;IACf,MAAMF,SAAS,GAAGE,WAAW,CAACF,SAAS;IACvC,IAAI,CAACA,SAAS,EAAE;MACd9E,UAAU,CAAC+E,IAAI,CAAC,wDAAwD,CAAC;MACzE;IACF;IACA,IAAI;MACF,MAAM+G,UAAU,GACd,IAAI,CAACrK,cAAc,CAACsK,GAAG,CAAsB,aAAa,CAAC;MAC7D,IAAI,CAACD,UAAU,EAAE;QACf9L,UAAU,CAAC+B,KAAK,CAAC,iCAAiC,CAAC;QACnD;MACF;MACA,IAAIiK,QAAQ,GAAG,IAAI,CAACvK,cAAc,CAACsK,GAAG,CAAS,gBAAgB,CAAC;MAChE,IAAI,CAACC,QAAQ,EAAE;QACbhM,UAAU,CAAC+E,IAAI,CACb,yDACF,CAAC;QACDiH,QAAQ,GAAG/L,IAAI,CAACgM,QAAQ,CAAC,CAAC;QAC1B,IAAI,CAACxK,cAAc,CAACyD,GAAG,CAAC,gBAAgB,EAAE8G,QAAQ,CAAC;MACrD;MAEA,MAAML,UAAU,GAAG,IAAI,CAACC,yBAAyB,CAAC5G,WAAW,CAAC;MAC9D,MAAM,IAAI,CAACxD,YAAY,CAACqK,UAAU,CAChC,4BAA4B,EAC5BF,UAAU,EACV7G,SACF,CAAC;MACD9E,UAAU,CAAC4B,KAAK,CACd,wDACF,CAAC;IACH,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd/B,UAAU,CAAC+B,KAAK,CAAC,oCAAoC,EAAEA,KAAK,CAAC;IAC/D;EACF;EAEA,MAAc+D,mCAAmCA,CAC/ChC,IAAyB,EACP;IAClB,IAAI;MACF,MAAMqH,MAAM,GAAG,MAAM,IAAI,CAACzI,cAAc,GAAGoB,IAAI,CAAC;MAChD,OAAOqH,MAAM,KAAK,KAAK;IACzB,CAAC,CAAC,OAAOpJ,KAAK,EAAE;MACd/B,UAAU,CAAC+E,IAAI,CACb,uEAAuE,EACvEhD,KACF,CAAC;MACD,OAAO,IAAI;IACb;EACF;EAEA,MAAcG,mBAAmBA,CAACH,KAAU,EAAiB;IAC3D,IAAI;MACF,MAAMmK,aAAa,GACjBnK,KAAK,YAAYiG,KAAK,GAAGjG,KAAK,GAAG,IAAIiG,KAAK,CAACmE,MAAM,CAACpK,KAAK,CAAC,CAAC;MAC3D,MAAM,IAAI,CAACiB,oBAAoB,GAAGkJ,aAAa,CAAC;IAClD,CAAC,CAAC,OAAOE,YAAY,EAAE;MACrBpM,UAAU,CAAC+E,IAAI,CAAC,gCAAgC,EAAEqH,YAAY,CAAC;IACjE;EACF;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["notifee","AndroidCategory","AndroidGroupAlertBehavior","AndroidImportance","AndroidStyle","AndroidVisibility","AuthorizationStatus","EventType","messaging","Linking","Platform","ClixPushNotificationPayload","ClixLogger","UUID","NotificationService","instance","DEFAULT_CHANNEL","id","name","description","importance","HIGH","sound","vibration","lights","ANDROID_GROUP_ID","messagingService","isInitialized","currentPushToken","processedMessageIds","Set","autoHandleLandingUrl","constructor","getInstance","resetInstance","cleanup","initialize","eventService","storageService","deviceService","tokenService","debug","initializeMessageService","initializeNotificationDisplayService","error","getCurrentToken","getOrFetchToken","handleFcmTokenError","unsubscribeForegroundMessage","unsubscribeNotificationOpened","unsubscribeTokenRefresh","unsubscribeNotificationEvents","clear","setMessageHandler","handler","messageHandler","setBackgroundMessageHandler","backgroundMessageHandler","setNotificationOpenedHandler","openedHandler","setFcmTokenErrorHandler","fcmTokenErrorHandler","setAutoHandleLandingUrl","enable","OS","createNotificationChannels","setupNotificationEventListeners","createChannel","onForegroundEvent","event","handleNotificationEvent","onBackgroundEvent","type","detail","PRESS","notification","data","handleNotificationTap","ACTION_PRESS","pressAction","handleActionPress","DISMISSED","actionId","setupMessageHandlers","getAndUpdateToken","setupTokenRefreshListener","remoteMessage","handleBackgroundMessage","onMessage","handleForegroundMessage","onNotificationOpenedApp","messageId","checkInitialNotification","warn","clixPayload","parseClixPayload","set","timestamp","Date","now","clixMessageId","campaignId","trackingId","trackEventInBackground","displayNotification","has","add","handlePushReceived","shouldDisplayForegroundNotification","requestPermission","settings","alert","badge","provisional","announcement","carPlay","criticalAlert","isGranted","authorizationStatus","AUTHORIZED","PROVISIONAL","setPermissionGranted","upsertIsPushPermissionGranted","onTokenRefresh","token","saveAndRegisterToken","initialNotification","getInitialNotification","registerTokenWithServer","savedToken","getToken","substring","saveToken","upsertToken","notificationContent","extractNotificationContent","title","body","hasImage","imageUrl","notificationConfig","createNotificationConfig","Error","message","stack","channelId","config","toString","android","category","MESSAGE","visibility","PUBLIC","groupId","groupSummary","groupAlertBehavior","CHILDREN","ticker","actions","createNotificationActions","style","BIGTEXT","text","ios","foregroundPresentationOptions","banner","list","largeIcon","push","customProperties","customActions","Array","isArray","forEach","action","isValidImageUrl","url","trim","startsWith","fcmNotification","fcmTitle","fcmBody","trackPushEvent","handlePushTapped","handleUrlNavigation","landingUrl","landing_url","link","click_action","supported","canOpenURL","openURL","userInfo","payload","clix","JSON","parse","toCamel","s","replace","g","toUpperCase","result","key","finalResult","Object","keys","length","undefined","eventType","properties","extractTrackingProperties","trackEvent","configData","get","deviceId","generate","errorInstance","String","handlerError"],"sourceRoot":"../../../src","sources":["services/NotificationService.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,6 +11,7 @@ export type FcmTokenErrorHandler = (error: Error) => Promise<void> | void;
|
|
|
11
11
|
export declare class NotificationService {
|
|
12
12
|
private static instance;
|
|
13
13
|
private static readonly DEFAULT_CHANNEL;
|
|
14
|
+
private static readonly ANDROID_GROUP_ID;
|
|
14
15
|
private messagingService;
|
|
15
16
|
private isInitialized;
|
|
16
17
|
private currentPushToken;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationService.d.ts","sourceRoot":"","sources":["../../../../src/services/NotificationService.ts"],"names":[],"mappings":"AAAA,OAAgB,
|
|
1
|
+
{"version":3,"file":"NotificationService.d.ts","sourceRoot":"","sources":["../../../../src/services/NotificationService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import notifee, {
|
|
2
|
+
AndroidCategory,
|
|
3
|
+
AndroidGroupAlertBehavior,
|
|
2
4
|
AndroidImportance,
|
|
3
5
|
AndroidStyle,
|
|
6
|
+
AndroidVisibility,
|
|
4
7
|
AuthorizationStatus,
|
|
5
8
|
EventType,
|
|
6
9
|
type AndroidChannel,
|
|
7
10
|
type Event,
|
|
11
|
+
type Notification,
|
|
8
12
|
type NotificationSettings,
|
|
9
13
|
} from '@notifee/react-native';
|
|
10
14
|
import messaging, {
|
|
@@ -42,7 +46,7 @@ export class NotificationService {
|
|
|
42
46
|
private static instance: NotificationService | null = null;
|
|
43
47
|
|
|
44
48
|
private static readonly DEFAULT_CHANNEL: AndroidChannel = {
|
|
45
|
-
id: '
|
|
49
|
+
id: 'clix_channel',
|
|
46
50
|
name: 'Clix Notifications',
|
|
47
51
|
description: 'Default notifications from Clix',
|
|
48
52
|
importance: AndroidImportance.HIGH,
|
|
@@ -50,6 +54,7 @@ export class NotificationService {
|
|
|
50
54
|
vibration: true,
|
|
51
55
|
lights: true,
|
|
52
56
|
};
|
|
57
|
+
private static readonly ANDROID_GROUP_ID = 'clix_notification_group';
|
|
53
58
|
|
|
54
59
|
private messagingService = messaging();
|
|
55
60
|
private isInitialized = false;
|
|
@@ -109,8 +114,8 @@ export class NotificationService {
|
|
|
109
114
|
this.deviceService = deviceService;
|
|
110
115
|
this.tokenService = tokenService;
|
|
111
116
|
|
|
112
|
-
await this.initializeNotificationDisplayService();
|
|
113
117
|
await this.initializeMessageService();
|
|
118
|
+
await this.initializeNotificationDisplayService();
|
|
114
119
|
|
|
115
120
|
this.isInitialized = true;
|
|
116
121
|
ClixLogger.debug('Notification service initialized successfully');
|
|
@@ -184,6 +189,9 @@ export class NotificationService {
|
|
|
184
189
|
await this.handleNotificationEvent(event);
|
|
185
190
|
}
|
|
186
191
|
);
|
|
192
|
+
notifee.onBackgroundEvent(async (event: Event) => {
|
|
193
|
+
await this.handleNotificationEvent(event);
|
|
194
|
+
});
|
|
187
195
|
}
|
|
188
196
|
|
|
189
197
|
private async handleNotificationEvent(event: Event): Promise<void> {
|
|
@@ -241,6 +249,10 @@ export class NotificationService {
|
|
|
241
249
|
this.unsubscribeNotificationOpened =
|
|
242
250
|
this.messagingService.onNotificationOpenedApp(
|
|
243
251
|
async (remoteMessage: FirebaseMessagingTypes.RemoteMessage) => {
|
|
252
|
+
ClixLogger.debug('Notification opened from background state:', {
|
|
253
|
+
messageId: remoteMessage.messageId,
|
|
254
|
+
data: remoteMessage.data,
|
|
255
|
+
});
|
|
244
256
|
await this.handleNotificationTap(remoteMessage.data ?? {});
|
|
245
257
|
}
|
|
246
258
|
);
|
|
@@ -492,17 +504,32 @@ export class NotificationService {
|
|
|
492
504
|
notificationContent: NotificationContent,
|
|
493
505
|
channelId: string
|
|
494
506
|
) {
|
|
495
|
-
const
|
|
507
|
+
const imageUrl = notificationContent.imageUrl;
|
|
508
|
+
|
|
509
|
+
const config: Notification &
|
|
510
|
+
Required<Pick<Notification, 'android' | 'ios'>> = {
|
|
496
511
|
id: remoteMessage.messageId || Date.now().toString(),
|
|
497
512
|
title: notificationContent.title,
|
|
498
513
|
body: notificationContent.body,
|
|
499
514
|
data: remoteMessage.data ?? {},
|
|
500
515
|
android: {
|
|
501
516
|
channelId,
|
|
517
|
+
importance: AndroidImportance.HIGH,
|
|
518
|
+
category: AndroidCategory.MESSAGE,
|
|
519
|
+
visibility: AndroidVisibility.PUBLIC,
|
|
520
|
+
groupId: NotificationService.ANDROID_GROUP_ID,
|
|
521
|
+
groupSummary: false,
|
|
522
|
+
groupAlertBehavior: AndroidGroupAlertBehavior.CHILDREN,
|
|
523
|
+
sound: 'default',
|
|
524
|
+
ticker: notificationContent.body,
|
|
525
|
+
actions: this.createNotificationActions(clixPayload),
|
|
526
|
+
style: {
|
|
527
|
+
type: AndroidStyle.BIGTEXT,
|
|
528
|
+
text: notificationContent.body ?? '',
|
|
529
|
+
},
|
|
502
530
|
pressAction: {
|
|
503
531
|
id: 'default',
|
|
504
532
|
},
|
|
505
|
-
actions: this.createNotificationActions(clixPayload),
|
|
506
533
|
},
|
|
507
534
|
ios: {
|
|
508
535
|
foregroundPresentationOptions: {
|
|
@@ -514,35 +541,11 @@ export class NotificationService {
|
|
|
514
541
|
},
|
|
515
542
|
};
|
|
516
543
|
|
|
517
|
-
if (
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
'Adding image attachment to notification:',
|
|
521
|
-
notificationContent.imageUrl
|
|
522
|
-
);
|
|
523
|
-
if (Platform.OS === 'ios') {
|
|
524
|
-
try {
|
|
525
|
-
config.ios.attachments = [
|
|
526
|
-
{
|
|
527
|
-
url: notificationContent.imageUrl,
|
|
528
|
-
},
|
|
529
|
-
];
|
|
530
|
-
} catch (error) {
|
|
531
|
-
ClixLogger.warn('Failed to download image attachment:', error);
|
|
532
|
-
}
|
|
533
|
-
} else {
|
|
534
|
-
config.android.style = {
|
|
535
|
-
type: AndroidStyle.BIGPICTURE,
|
|
536
|
-
picture: notificationContent.imageUrl,
|
|
537
|
-
};
|
|
538
|
-
}
|
|
539
|
-
} else {
|
|
540
|
-
ClixLogger.warn(
|
|
541
|
-
'Skipping attachment due to invalid URL:',
|
|
542
|
-
notificationContent.imageUrl
|
|
543
|
-
);
|
|
544
|
-
}
|
|
544
|
+
if (imageUrl) {
|
|
545
|
+
ClixLogger.debug('Adding image attachment to notification:', imageUrl);
|
|
546
|
+
config.android.largeIcon = imageUrl;
|
|
545
547
|
}
|
|
548
|
+
|
|
546
549
|
return config;
|
|
547
550
|
}
|
|
548
551
|
|