From 8d6a9f5cf8df220131d9ae09e1a378379535d2df Mon Sep 17 00:00:00 2001 From: Nicholas Valbusa Date: Fri, 9 Jun 2023 17:55:53 +0200 Subject: [PATCH 01/12] enable studio notifications --- js/notifications.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/js/notifications.js b/js/notifications.js index 190de59..112df8d 100644 --- a/js/notifications.js +++ b/js/notifications.js @@ -56,10 +56,11 @@ Fliplet.Widget.register('PushNotifications', function () { * and add the event handlers on it */ var push = Fliplet.User.getPushNotificationInstance(data); + if (push) { if (subscriptionId) { if (subscriptionDetails.token) { - push.on('registration', function(data) { + push.on('registration', function (data) { if (data.registrationId === subscriptionDetails.token) { return; // token hasn't changed } @@ -95,8 +96,10 @@ Fliplet.Widget.register('PushNotifications', function () { if (data.additionalData) { if (data.additionalData.foreground) { handleForegroundNotification(data); + return; } + /** * background notifications seem to open the application quite fast * and sometimes the transition is not applied @@ -113,6 +116,7 @@ Fliplet.Widget.register('PushNotifications', function () { }); } } + return push; } @@ -141,11 +145,10 @@ Fliplet.Widget.register('PushNotifications', function () { }); } - if (Fliplet.Env.get('interact') - || (Fliplet.Env.is('web') && Fliplet.Env.get('mode') === 'preview')) { + if (Fliplet.Env.get('interact')) { return Promise.reject({ code: -1, - message: 'Push notifications are not supported in Fliplet Studio.' + message: 'Push notifications are not supported in Fliplet Studio while in edit mode.' }); } @@ -180,8 +183,9 @@ Fliplet.Widget.register('PushNotifications', function () { }); }).then(function (displayPopup) { if (!displayPopup) { - return subscribeUser().then(function(subscriptionId) { + return subscribeUser().then(function (subscriptionId) { initPushNotifications(subscriptionId); + return subscriptionId; }); } @@ -194,6 +198,7 @@ Fliplet.Widget.register('PushNotifications', function () { return subscribeUser(); }).then(function (subscriptionId) { initPushNotifications(subscriptionId); + return subscriptionId; }).then(resolve).catch(function (err) { console.error(err); @@ -262,16 +267,17 @@ Fliplet.Widget.register('PushNotifications', function () { ask: ask, reset: function () { askPromise = undefined; + return Fliplet.Storage.remove(key); }, isConfigured: isConfigured }; }); -Fliplet.Widget.instance('push-notification', function() { +Fliplet.Widget.instance('push-notification', function () { var $container = $(this); - Fliplet().then(function() { + Fliplet().then(function () { $container.translate(); }); }); From 6a3a0f61dee5ddaf0600e1ff213bb6a27fcc6b3e Mon Sep 17 00:00:00 2001 From: NikitaJadhavXoriant <108272606+NikitaJadhavXoriant@users.noreply.github.com> Date: Tue, 22 Aug 2023 14:09:54 +0530 Subject: [PATCH 02/12] code changes for moment.js upgradation to 2.29.4 (#179) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index df81bfc..f01b8ce 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "dependencies": { "core-js": "^3.16.0", "js-cookie": "^2.2.1", - "moment": "^2.29.1", + "moment": "^2.29.4", "regenerator-runtime": "^0.13.9", "vuejs-datepicker": "^1.6.2", "vuejs-paginate": "^2.1.0" From dfa346cd854940cd0ef3beb477d94484859bddf8 Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Fri, 6 Oct 2023 18:17:01 +0200 Subject: [PATCH 03/12] Avoid caching notifications to storage when loading notifications (#180) --- dist/app.js | 80 ++++++++++++++++------------- src/components/NotificationList.vue | 17 +++--- 2 files changed, 54 insertions(+), 43 deletions(-) diff --git a/dist/app.js b/dist/app.js index 41c2733..2a3c2eb 100644 --- a/dist/app.js +++ b/dist/app.js @@ -129,7 +129,7 @@ var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_ null, null, null - + ) /* hot reload */ @@ -194,7 +194,7 @@ render._withStripped = true "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Application_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5); -/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Application_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); +/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Application_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /* 5 */ @@ -274,7 +274,7 @@ var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_ null, null, null - + ) /* hot reload */ @@ -567,7 +567,7 @@ var render = function () { ? [_vm._v("push")] : _vm._e(), _vm._v( - "\n notifications" + "\n notifications" ), ], 2 @@ -889,7 +889,7 @@ render._withStripped = true "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NotificationList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10); -/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NotificationList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); +/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NotificationList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /* 10 */ @@ -1015,6 +1015,10 @@ __webpack_require__.r(__webpack_exports__); // // // +// +// +// +// @@ -1290,7 +1294,9 @@ var defaultScope = []; includeLogs: true, offset: this.offset, limit: this.batchSize, - includeAllScopes: true + includeAllScopes: true, + publishToStream: false // Avoid saving the notification to storage + }).then(function (response) { if (!response.entries.length && _this3.pageNumber > response.pageCount) { // Load last page @@ -1336,7 +1342,7 @@ var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_ null, null, null - + ) /* hot reload */ @@ -1425,7 +1431,7 @@ render._withStripped = true "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NotificationLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); -/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NotificationLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); +/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NotificationLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /* 15 */ @@ -1934,7 +1940,7 @@ var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_ null, null, null - + ) /* hot reload */ @@ -2094,7 +2100,7 @@ render._withStripped = true "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NotificationNotes_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23); -/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NotificationNotes_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); +/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NotificationNotes_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /* 23 */ @@ -2235,7 +2241,7 @@ var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_ null, null, null - + ) /* hot reload */ @@ -2293,7 +2299,7 @@ render._withStripped = true "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Tooltip_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30); -/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Tooltip_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); +/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Tooltip_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /* 30 */ @@ -2352,7 +2358,7 @@ var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_ null, null, null - + ) /* hot reload */ @@ -2412,7 +2418,7 @@ render._withStripped = true "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35); -/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); +/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /* 35 */ @@ -2910,7 +2916,7 @@ var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_ null, null, null - + ) /* hot reload */ @@ -4459,7 +4465,7 @@ render._withStripped = true "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NotificationForm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43); -/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NotificationForm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); +/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_NotificationForm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /* 43 */ @@ -5426,7 +5432,7 @@ var defaultSendLabel = 'Send notification'; if (_this4.notificationHasChannel('push') && status !== 'draft') { // Do not assign push notification payload when saving a draft. - // The backend will send a push notifcation to users. + // The backend will send a push notification to users. var pushNotification = { payload: { title: _this4.notification.data.title, @@ -5772,7 +5778,7 @@ var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_ null, null, null - + ) /* hot reload */ @@ -5858,7 +5864,7 @@ render._withStripped = true "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FilterValue_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49); -/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FilterValue_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); +/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FilterValue_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /* 49 */ @@ -5917,7 +5923,7 @@ var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_ null, null, null - + ) /* hot reload */ @@ -5987,7 +5993,7 @@ render._withStripped = true "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TokenField_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(54); -/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TokenField_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); +/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TokenField_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /* 54 */ @@ -6081,7 +6087,7 @@ var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_ null, null, null - + ) /* hot reload */ @@ -6300,7 +6306,7 @@ render._withStripped = true "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Timepicker_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(59); -/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Timepicker_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); +/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_3_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Timepicker_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); /***/ }), /* 59 */ @@ -7170,11 +7176,11 @@ __vue_render__._withStripped = true; /* functional template */ const __vue_is_functional_template__ = false; /* style inject */ - + /* style inject SSR */ + - - + var DateInput = normalizeComponent_1( { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ }, __vue_inject_styles__, @@ -7682,11 +7688,11 @@ __vue_render__$1._withStripped = true; /* functional template */ const __vue_is_functional_template__$1 = false; /* style inject */ - + /* style inject SSR */ + - - + var PickerDay = normalizeComponent_1( { render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 }, __vue_inject_styles__$1, @@ -7982,11 +7988,11 @@ __vue_render__$2._withStripped = true; /* functional template */ const __vue_is_functional_template__$2 = false; /* style inject */ - + /* style inject SSR */ + - - + var PickerMonth = normalizeComponent_1( { render: __vue_render__$2, staticRenderFns: __vue_staticRenderFns__$2 }, __vue_inject_styles__$2, @@ -8250,11 +8256,11 @@ __vue_render__$3._withStripped = true; /* functional template */ const __vue_is_functional_template__$3 = false; /* style inject */ - + /* style inject SSR */ + - - + var PickerYear = normalizeComponent_1( { render: __vue_render__$3, staticRenderFns: __vue_staticRenderFns__$3 }, __vue_inject_styles__$3, @@ -8886,9 +8892,9 @@ __vue_render__$4._withStripped = true; /* functional template */ const __vue_is_functional_template__$4 = false; /* style inject SSR */ + - - + var Datepicker = normalizeComponent_1( { render: __vue_render__$4, staticRenderFns: __vue_staticRenderFns__$4 }, __vue_inject_styles__$4, diff --git a/src/components/NotificationList.vue b/src/components/NotificationList.vue index e4c86c8..ed5d0f6 100644 --- a/src/components/NotificationList.vue +++ b/src/components/NotificationList.vue @@ -1,8 +1,12 @@