@chat21/chat21-ionic 3.4.30-rc2 → 3.4.30

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.
Files changed (75) hide show
  1. package/CHANGELOG.md +4 -119
  2. package/angular.json +0 -1
  3. package/package.json +1 -1
  4. package/src/app/app.component.html +1 -3
  5. package/src/app/app.component.ts +16 -71
  6. package/src/app/chatlib/conversation-detail/message/image/image.component.html +0 -1
  7. package/src/app/chatlib/conversation-detail/message/image/image.component.ts +0 -19
  8. package/src/app/components/canned-response/canned-response.component.html +23 -26
  9. package/src/app/components/canned-response/canned-response.component.scss +2 -0
  10. package/src/app/components/canned-response/canned-response.component.ts +1 -3
  11. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +1 -24
  12. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +0 -30
  13. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +9 -39
  14. package/src/app/components/conversation-info/info-content/info-content.component.ts +2 -2
  15. package/src/app/components/conversation-info/info-group/info-group.component.ts +21 -23
  16. package/src/app/components/conversations-list/header-conversations-list/header-conversations-list.component.html +1 -1
  17. package/src/app/components/conversations-list/header-conversations-list/header-conversations-list.component.ts +1 -5
  18. package/src/app/components/navbar/navbar.component.html +3 -3
  19. package/src/app/components/navbar/navbar.component.ts +38 -29
  20. package/src/app/components/project-item/project-item.component.ts +11 -11
  21. package/src/app/components/sidebar/sidebar.component.html +45 -65
  22. package/src/app/components/sidebar/sidebar.component.ts +117 -110
  23. package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +2 -2
  24. package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +7 -10
  25. package/src/app/modals/create-ticket/create-ticket.page.ts +2 -4
  26. package/src/app/pages/conversation-detail/conversation-detail.page.html +3 -7
  27. package/src/app/pages/conversation-detail/conversation-detail.page.ts +7 -95
  28. package/src/app/pages/conversations-list/conversations-list.page.html +0 -2
  29. package/src/app/pages/conversations-list/conversations-list.page.ts +2 -40
  30. package/src/app/services/global-settings/global-settings.service.ts +3 -11
  31. package/src/app/services/nav-proxy.service.ts +1 -0
  32. package/src/app/services/tiledesk/tiledesk.service.ts +16 -0
  33. package/src/app/services/triggerEvents/triggerEvents.ts +0 -28
  34. package/src/app/services/websocket/websocket-js.ts +534 -59
  35. package/src/app/services/websocket/websocket.service.ts +10 -9
  36. package/src/app/shared/shared.module.ts +2 -11
  37. package/src/app/utils/globals.ts +0 -2
  38. package/src/app/utils/project-utils.ts +2 -2
  39. package/src/app/utils/utils.ts +1 -18
  40. package/src/assets/i18n/ar.json +1 -11
  41. package/src/assets/i18n/az.json +1 -11
  42. package/src/assets/i18n/de.json +1 -11
  43. package/src/assets/i18n/en.json +1 -11
  44. package/src/assets/i18n/es.json +1 -11
  45. package/src/assets/i18n/fr.json +1 -11
  46. package/src/assets/i18n/it.json +3 -13
  47. package/src/assets/i18n/kk.json +1 -11
  48. package/src/assets/i18n/pt.json +1 -11
  49. package/src/assets/i18n/ru.json +1 -11
  50. package/src/assets/i18n/sr.json +1 -11
  51. package/src/assets/i18n/sv.json +1 -11
  52. package/src/assets/i18n/tr.json +1 -11
  53. package/src/assets/i18n/uk.json +1 -11
  54. package/src/assets/i18n/uz.json +1 -12
  55. package/src/assets/js/chat21client.js +0 -36
  56. package/src/assets/test.html +2 -5
  57. package/src/chat-config-template.json +0 -1
  58. package/src/chat-config.json +0 -1
  59. package/src/chat21-core/providers/abstract/upload.service.ts +1 -5
  60. package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +1 -1
  61. package/src/chat21-core/providers/firebase/firebase-upload.service.ts +9 -136
  62. package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +1 -1
  63. package/src/chat21-core/providers/native/native-image-repo.ts +1 -1
  64. package/src/chat21-core/providers/native/native-upload-service.ts +45 -143
  65. package/src/chat21-core/providers/tiledesk/tiledesk-auth.service.ts +0 -3
  66. package/src/chat21-core/utils/utils.ts +2 -16
  67. package/src/app/services/project_users/project-users.service.spec.ts +0 -16
  68. package/src/app/services/project_users/project-users.service.ts +0 -63
  69. package/src/app/services/websocket/websocket-js_old.ts +0 -578
  70. package/src/app/services/websocket/websocket.worker.ts +0 -242
  71. package/src/app/utils/permissions.constants.ts +0 -138
  72. package/src/assets/img/no_data_found.png +0 -0
  73. package/src/assets/js/agentDesktop-sdk.js +0 -55
  74. package/src/assets/js/mqtt-keepalive-worker.js +0 -53
  75. package/src/chat21-core/models/projectUsers.ts +0 -19
@@ -41,18 +41,18 @@ export class WebsocketService {
41
41
  return new Promise(function (resolve, reject) {
42
42
 
43
43
  self.webSocketJs.ref(path, 'subscriptionToWsCurrentUser_allProject',
44
- function (data) {
44
+ function (data, notification) {
45
45
  // console.log("[WS-SERV] SUBSCR TO WS CURRENT PROJECT-USER AVAILABILITY - CREATE - data ", data);
46
46
  resolve(data)
47
47
  // self.currentUserWsAvailability$.next(data.user_available);
48
48
  self.currentProjectUserAvailability$.next(data)
49
49
 
50
- }, function (data) {
50
+ }, function (data, notification) {
51
51
  resolve(data)
52
52
  // console.log("[WS-SERV] SUBSCR TO WS CURRENT PROJECT-USER AVAILABILITY - UPDATE - data ", data);
53
53
  self.currentProjectUserAvailability$.next(data)
54
54
 
55
- }, function (data) {
55
+ }, function (data, notification) {
56
56
  resolve(data)
57
57
  if (data) {
58
58
  // console.log("[WS-SERV] SUBSCR TO WS CURRENT PROJECT-USER AVAILABILITY - UPDATE - data", data);
@@ -94,7 +94,7 @@ export class WebsocketService {
94
94
 
95
95
  this.webSocketJs.ref('/' + project_id + '/requests', 'getCurrentProjectAndSubscribeTo_WsRequests',
96
96
 
97
- function (data) {
97
+ function (data, notification) {
98
98
  // console.log("[WS-SERV] - CONVS - CREATE DATA ", data);
99
99
  if (data) {
100
100
  // ------------------------------------------------
@@ -183,7 +183,7 @@ export class WebsocketService {
183
183
  // }
184
184
  }
185
185
 
186
- }, function (data) {
186
+ }, function (data, notification) {
187
187
 
188
188
  // console.log("[WS-SERV] - CONVS - UPDATE DATA ", data);
189
189
 
@@ -201,8 +201,9 @@ export class WebsocketService {
201
201
  self.updateWsRequests(data)
202
202
 
203
203
 
204
- }, function (data) {
204
+ }, function (data, notification) {
205
205
  self.logger.log("[WS-SERV] CHAT - CONVS - ON-DATA - DATA ", data);
206
+ self.logger.log("[WS-SERV] CHAT - CONVS - ON-DATA - notification ", notification);
206
207
 
207
208
  // console.log("[WS-SERV] CHAT - CONVS - ON-DATA - DATA notification > event > method ", notification.event.method);
208
209
  // if (notification.event.method === 'CREATE') {
@@ -305,17 +306,17 @@ export class WebsocketService {
305
306
 
306
307
  this.webSocketJs.ref(path, 'subscribeToWS_RequesterPresence',
307
308
 
308
- function (data) {
309
+ function (data, notification) {
309
310
  // this.logger.log("[WS-REQUESTS-SERV] - SUBSCRIBE TO REQUESTER-PRECENCE - CREATE data ", data);
310
311
 
311
312
  self.wsRequesterStatus$.next(data);
312
313
 
313
- }, function (data) {
314
+ }, function (data, notification) {
314
315
  // this.logger.log("[WS-REQUESTS-SERV] - SUBSCRIBE TO REQUESTER-PRECENCE - UPDATE data ", data);
315
316
 
316
317
  self.wsRequesterStatus$.next(data);
317
318
 
318
- }, function (data) {
319
+ }, function (data, notification) {
319
320
 
320
321
  if (data) {
321
322
  // this.logger.log("[WS-REQUESTS-SERV] - SUBSCRIBE TO REQUESTER-PRECENCE - ON-DATA data ", data);
@@ -22,9 +22,8 @@ import { MatTooltipModule } from '@angular/material/tooltip';
22
22
  import { MatSnackBarModule } from '@angular/material/snack-bar';
23
23
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
24
24
  import { SafeHtmlPipe } from '../directives/safe-html.pipe';
25
- import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
26
- import { createTranslateLoader } from 'src/chat21-core/utils/utils';
27
- import { HttpClient } from '@angular/common/http';
25
+
26
+ // import { MessageTextAreaComponent } from '../components/conversation-detail/message-text-area/message-text-area.component'; // MessageTextAreaComponent is part of the declarations ConversationDetailPageModule
28
27
 
29
28
  @NgModule({
30
29
  declarations: [
@@ -141,14 +140,6 @@ import { HttpClient } from '@angular/common/http';
141
140
  NgSelectModule,
142
141
  FormsModule,
143
142
 
144
- TranslateModule.forChild({
145
- loader: {
146
- provide: TranslateLoader,
147
- useFactory: (createTranslateLoader),
148
- deps: [HttpClient]
149
- }
150
- })
151
-
152
143
  ],
153
144
  schemas: [
154
145
  CUSTOM_ELEMENTS_SCHEMA,
@@ -15,7 +15,6 @@ export class Globals {
15
15
  jwt: string;
16
16
  fileUploadAccept: string;
17
17
  projectID: string;
18
- logOut: boolean
19
18
 
20
19
  constructor(
21
20
  ) { }
@@ -37,7 +36,6 @@ export class Globals {
37
36
  this.lang = 'en'
38
37
  this.fileUploadAccept = 'image/*,.pdf,.txt'
39
38
  this.projectID = null;
40
- this.logOut = true;
41
39
 
42
40
  }
43
41
 
@@ -129,9 +129,9 @@ export class ProjectPlanUtils {
129
129
 
130
130
  //case PAYMENT plan
131
131
  if(project && project.isActiveSubscription && project.profile.type=== 'payment'){
132
- check = false
133
- }else if(project && !project.isActiveSubscription && project.profile.type=== 'payment'){
134
132
  check = true
133
+ }else if(project && !project.isActiveSubscription && project.profile.type=== 'payment'){
134
+ check = false
135
135
  }
136
136
 
137
137
  return check
@@ -1,12 +1,10 @@
1
- import { ProjectUser } from "src/chat21-core/models/projectUsers";
2
-
3
1
  export function getOSCode(key: string, token: string): boolean {
4
2
 
5
3
  if (token) {
6
4
  const keys: String[] = token.split("-");
7
5
 
8
6
  let element = keys.find(el => el.includes(key))
9
- // console.log('keys', keys)
7
+ console.log('keys', keys)
10
8
  if(element){
11
9
  element = element.split(":")[1]
12
10
  if(element && element === "F"){
@@ -23,19 +21,4 @@ export function getOSCode(key: string, token: string): boolean {
23
21
  }
24
22
 
25
23
  return false
26
- }
27
-
28
-
29
- export function hasRole(projectUser: ProjectUser, role: string ): boolean {
30
- let roles = ['owner', 'admin', 'agent'];
31
- if(roles.includes(projectUser.role)){
32
- return true
33
- }
34
-
35
- if(Array.isArray(projectUser.rolePermissions) && projectUser.rolePermissions.includes(role)){
36
- return true
37
- }
38
-
39
- return false
40
-
41
24
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "مدير",
226
226
  "agent": "وكيل",
227
227
  "Conversations": "المحادثات",
228
- "Monitor": "شاشة",
229
- "Flows": "التدفّقات",
230
- "Knowledgebases": "قواعد المعرفة",
231
- "Whatsappbroadcasts": "نشرات WhatsApp",
232
228
  "Apps": "تطبيقات",
233
229
  "Analytics": "تحليلات",
234
230
  "Activities": "أنشطة",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"تم إرسال الرسالة أيضًا عبر البريد الإلكتروني 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "الرموز التعبيرية غير مسموح بها",
313
- "DOMAIN_NOT_ALLOWED": "يحتوي الرابط على نطاق غير مسموح",
314
- "TICKET": {
315
- "OPEN_TICKET": "افتح تذكرة",
316
- "DESCRIPTION": "هل تؤكد أنك تريد فتح تذكرة لهذه المحادثة؟",
317
- "CONFIRM": "تأكيد",
318
- "CLOSE": "إغلاق"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "يحتوي الرابط على نطاق غير مسموح"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Administrator",
226
226
  "agent": "Agent",
227
227
  "Conversations": "Söhbətlər",
228
- "Monitor": "Monitor",
229
- "Flows": "Axınlar",
230
- "Knowledgebases": "Bilik bazaları",
231
- "Whatsappbroadcasts": "WhatsApp Yayınları",
232
228
  "Apps": "Proqramlar",
233
229
  "Analytics": "Analitika",
234
230
  "Activities": "Fəaliyyətlər",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Mesaj e-poçt vasitəsilə də göndərilib 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Emoji icazə verilmir",
313
- "DOMAIN_NOT_ALLOWED": "URL icazə verilməyən domeni ehtiva edir",
314
- "TICKET": {
315
- "OPEN_TICKET": "Bilet aç",
316
- "DESCRIPTION": "Bu söhbət üçün bilet açmaq istədiyinizi təsdiqləyirsinizmi?",
317
- "CONFIRM": "Təsdiqlə",
318
- "CLOSE": "Bağla"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "URL icazə verilməyən domeni ehtiva edir"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Administrator",
226
226
  "agent": "Agent",
227
227
  "Conversations": "Gespräche",
228
- "Monitor": "Monitor",
229
- "Flows": "Flows",
230
- "Knowledgebases": "Wissensdatenbanken",
231
- "Whatsappbroadcasts": "WhatsApp-Broadcasts",
232
228
  "Apps": "Anwendungen",
233
229
  "Analytics": "Analytik",
234
230
  "Activities": "Aktivitäten",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Nachricht auch per E-Mail gesendet 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Emoji nicht erlaubt",
313
- "DOMAIN_NOT_ALLOWED": "Die URL enthält eine nicht erlaubte Domain",
314
- "TICKET": {
315
- "OPEN_TICKET": "Ticket öffnen",
316
- "DESCRIPTION": "Bestätigen Sie, dass Sie ein Ticket für dieses Gespräch eröffnen möchten?",
317
- "CONFIRM": "Bestätigen",
318
- "CLOSE": "Schließen"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "Die URL enthält eine nicht erlaubte Domain"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Administrator",
226
226
  "agent": "Agent",
227
227
  "Conversations": "Conversations",
228
- "Monitor":"Monitor",
229
- "Flows": "Flows",
230
- "Knowledgebases": "Knowledge Bases",
231
- "Whatsappbroadcasts": "WhatsApp Broadcasts",
232
228
  "Apps": "Apps",
233
229
  "Analytics": "Analytics",
234
230
  "Activities": "Activities",
@@ -318,11 +314,5 @@
318
314
  "HOW_CAN_I_HELP_YOU":"How can i help you?"
319
315
  },
320
316
  "EMOJI_NOT_ELLOWED":"Emoji not allowed",
321
- "DOMAIN_NOT_ALLOWED":"URL contains a non-allowed domain",
322
- "TICKET": {
323
- "OPEN_TICKET": "Open Ticket",
324
- "DESCRIPTION": "Do you confirm you want to open a ticket for this conversation?",
325
- "CONFIRM": "Confirm",
326
- "CLOSE": "Close"
327
- }
317
+ "DOMAIN_NOT_ALLOWED":"URL contains a non-allowed domain"
328
318
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Administrador",
226
226
  "agent": "Agente",
227
227
  "Conversations": "Conversaciones",
228
- "Monitor": "Monitor",
229
- "Flows": "Flujos",
230
- "Knowledgebases": "Bases de Conocimiento",
231
- "Whatsappbroadcasts": "Difusiones de WhatsApp",
232
228
  "Apps":"Aplicaciones",
233
229
  "Analytics":"Analíticas",
234
230
  "Activities": "Actividades",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Mensaje también enviado por correo electrónico 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Emoji no permitido",
313
- "DOMAIN_NOT_ALLOWED": "La URL contiene un dominio no permitido",
314
- "TICKET": {
315
- "OPEN_TICKET": "Abrir Ticket",
316
- "DESCRIPTION": "¿Confirmas que deseas abrir un ticket para esta conversación?",
317
- "CONFIRM": "Confirmar",
318
- "CLOSE": "Cerrar"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "La URL contiene un dominio no permitido"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Administrateur",
226
226
  "agent": "Agent",
227
227
  "Conversations": "Conversations",
228
- "Monitor": "Moniteur",
229
- "Flows": "Flux",
230
- "Knowledgebases": "Bases de Connaissances",
231
- "Whatsappbroadcasts": "Diffusions WhatsApp",
232
228
  "Apps":"Applications",
233
229
  "Analytics":"Analytique",
234
230
  "Activities": "Activités",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Message également envoyé par mail 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Emoji non autorisé",
313
- "DOMAIN_NOT_ALLOWED": "L'URL contient un domaine non autorisé",
314
- "TICKET": {
315
- "OPEN_TICKET": "Ouvrir un Ticket",
316
- "DESCRIPTION": "Confirmez-vous vouloir ouvrir un ticket pour cette conversation ?",
317
- "CONFIRM": "Confirmer",
318
- "CLOSE": "Fermer"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "L'URL contient un domaine non autorisé"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Amministratore",
226
226
  "agent": "Agente",
227
227
  "Conversations": "Conversazioni",
228
- "Monitor": "Monitor",
229
- "Flows": "Flussi",
230
- "Knowledgebases": "Basi di Conoscenza",
231
- "Whatsappbroadcasts": "Trasmissioni WhatsApp",
232
228
  "Apps":"App",
233
229
  "Analytics":"Analitica",
234
230
  "Activities": "Attività",
@@ -316,13 +312,7 @@
316
312
  "NO_SUGGESTIONS_PRESENT":"Nessun suggerimento trovato",
317
313
  "INSERT_PROMPT_HERE":"Inserisci un prompt qui",
318
314
  "HOW_CAN_I_HELP_YOU":"Come posso aiutarti?"
319
- },
320
- "EMOJI_NOT_ELLOWED": "Emoji non consentite",
321
- "DOMAIN_NOT_ALLOWED": "L'URL contiene un dominio non consentito",
322
- "TICKET": {
323
- "OPEN_TICKET": "Apri Ticket",
324
- "DESCRIPTION": "Confermi di voler aprire un ticket per questa conversazione?",
325
- "CONFIRM": "Conferma",
326
- "CLOSE": "Chiudi"
327
- }
315
+ },
316
+ "EMOJI_NOT_ELLOWED": "Emoji non consentite",
317
+ "DOMAIN_NOT_ALLOWED": "L'URL contiene un dominio non consentito"
328
318
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Әкімші",
226
226
  "agent": "Агент",
227
227
  "Conversations": "Әңгімелер",
228
- "Monitor": "Монитор",
229
- "Flows": "Ағындар",
230
- "Knowledgebases": "Білім базалары",
231
- "Whatsappbroadcasts": "WhatsApp хабарламалары",
232
228
  "Apps": "Қолданбалар",
233
229
  "Analytics": "Аналитика",
234
230
  "Activities": "Іс-шаралар",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Хабарлама электрондық пошта арқылы да жіберілді 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Эмодзи рұқсат етілмеген",
313
- "DOMAIN_NOT_ALLOWED": "URL рұқсат етілмеген доменді қамтиды",
314
- "TICKET": {
315
- "OPEN_TICKET": "Тапсырма ашу",
316
- "DESCRIPTION": "Осы әңгіме үшін тапсырма ашқыңыз келетінін растайсыз ба?",
317
- "CONFIRM": "Растау",
318
- "CLOSE": "Жабу"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "URL рұқсат етілмеген доменді қамтиды"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Administrador",
226
226
  "agent": "Agente",
227
227
  "Conversations": "Conversas",
228
- "Monitor": "Monitor",
229
- "Flows": "Fluxos",
230
- "Knowledgebases": "Bases de Conhecimento",
231
- "Whatsappbroadcasts": "Transmissões do WhatsApp",
232
228
  "Apps":"Aplicativos",
233
229
  "Analytics":"Análise",
234
230
  "Activities": "Atividades",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Mensagem também enviada por e-mail 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Emoji não permitido",
313
- "DOMAIN_NOT_ALLOWED": "O URL contém um domínio não permitido",
314
- "TICKET": {
315
- "OPEN_TICKET": "Abrir Ticket",
316
- "DESCRIPTION": "Confirma que deseja abrir um ticket para esta conversa?",
317
- "CONFIRM": "Confirmar",
318
- "CLOSE": "Fechar"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "O URL contém um domínio não permitido"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Администратор",
226
226
  "agent": "Агент",
227
227
  "Conversations": "Разговоры",
228
- "Monitor": "Монитор",
229
- "Flows": "Потоки",
230
- "Knowledgebases": "Базы знаний",
231
- "Whatsappbroadcasts": "WhatsApp-рассылки",
232
228
  "Apps":"Приложения",
233
229
  "Analytics":"Аналитика",
234
230
  "Activities": "Виды деятельности",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Сообщение также отправлено по электронной почте 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Эмодзи не разрешены",
313
- "DOMAIN_NOT_ALLOWED": "URL содержит недопустимый домен",
314
- "TICKET": {
315
- "OPEN_TICKET": "Открыть тикет",
316
- "DESCRIPTION": "Вы подтверждаете, что хотите открыть тикет для этого разговора?",
317
- "CONFIRM": "Подтвердить",
318
- "CLOSE": "Закрыть"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "URL содержит недопустимый домен"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Aдминистратор",
226
226
  "agent": "Агент",
227
227
  "Conversations": "Разговори",
228
- "Monitor": "Монитор",
229
- "Flows": "Токови",
230
- "Knowledgebases": "Baze znanja",
231
- "Whatsappbroadcasts": "WhatsApp emitovanja",
232
228
  "Apps":"Аппс",
233
229
  "Analytics":"Аналитика",
234
230
  "Activities": "Активности",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Порука је такође послата е-поштом 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Emodžiji nisu dozvoljeni",
313
- "DOMAIN_NOT_ALLOWED": "URL sadrži nedozvoljenu domenu",
314
- "TICKET": {
315
- "OPEN_TICKET": "Otvori tiket",
316
- "DESCRIPTION": "Da li potvrđujete da želite da otvorite tiket za ovaj razgovor?",
317
- "CONFIRM": "Potvrdi",
318
- "CLOSE": "Zatvori"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "URL sadrži nedozvoljenu domenu"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Administratör",
226
226
  "agent": "Ombud",
227
227
  "Conversations": "Samtal",
228
- "Monitor": "Monitor",
229
- "Flows": "Flöden",
230
- "Knowledgebases": "Kunskapsbaser",
231
- "Whatsappbroadcasts": "WhatsApp-sändningar",
232
228
  "Apps": "Appar",
233
229
  "Analytics": "Analytics",
234
230
  "Activities": "Aktiviteter",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Meddelande skickas även via mail 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Emoji är inte tillåtna",
313
- "DOMAIN_NOT_ALLOWED": "URL:en innehåller en otillåten domän",
314
- "TICKET": {
315
- "OPEN_TICKET": "Öppna Ärende",
316
- "DESCRIPTION": "Bekräftar du att du vill öppna ett ärende för den här konversationen?",
317
- "CONFIRM": "Bekräfta",
318
- "CLOSE": "Stäng"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "URL:en innehåller en otillåten domän"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Yönetici",
226
226
  "agent": "Ajan",
227
227
  "Conversations": "Konuşmalar",
228
- "Monitor": "Monitör",
229
- "Flows": "Akışlar",
230
- "Knowledgebases": "Bilgi Tabanları",
231
- "Whatsappbroadcasts": "WhatsApp Yayınları",
232
228
  "Apps":"Uygulamalar",
233
229
  "Analytics":"Analitik",
234
230
  "Activities": "Faaliyetler",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Mesaj ayrıca e-posta ile gönderilir 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Emoji'ye izin verilmiyor",
313
- "DOMAIN_NOT_ALLOWED": "URL izin verilmeyen bir alan adı içeriyor",
314
- "TICKET": {
315
- "OPEN_TICKET": "Bilet Aç",
316
- "DESCRIPTION": "Bu görüşme için bir bilet açmak istediğinizi onaylıyor musunuz?",
317
- "CONFIRM": "Onayla",
318
- "CLOSE": "Kapat"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "URL izin verilmeyen bir alan adı içeriyor"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Адміністратор",
226
226
  "agent": "Агент",
227
227
  "Conversations": "Бесіди",
228
- "Monitor": "Монітор",
229
- "Flows": "Потоки",
230
- "Knowledgebases": "Бази знань",
231
- "Whatsappbroadcasts": "WhatsApp-розсилки",
232
228
  "Apps": "Програми",
233
229
  "Analytics": "Аналітика",
234
230
  "Activities": "Діяльність",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Повідомлення також надіслано електронною поштою 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Емодзі не дозволені",
313
- "DOMAIN_NOT_ALLOWED": "URL містить недозволений домен",
314
- "TICKET": {
315
- "OPEN_TICKET": "Відкрити тікет",
316
- "DESCRIPTION": "Підтверджуєте, що хочете відкрити тікет для цієї розмови?",
317
- "CONFIRM": "Підтвердити",
318
- "CLOSE": "Закрити"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "URL містить недозволений домен"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Administrator",
226
226
  "agent": "Agent",
227
227
  "Conversations": "Suhbatlar",
228
- "Monitor": "Monitor",
229
- "Flows": "Oqimlar",
230
- "Knowledgebases": "Bilim bazalari",
231
- "Whatsappbroadcasts": "WhatsApp efirlarini yuborish",
232
228
  "Apps": "Ilovalar",
233
229
  "Analytics": "Analitika",
234
230
  "Activities": "Faoliyatlar",
@@ -310,12 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Xabar elektron pochta orqali ham yuborildi 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Emoji'ga ruxsat berilmagan",
313
- "DOMAIN_NOT_ALLOWED": "URL ruxsat etilmagan domenni o'z ichiga oladi",
314
- "TICKET": {
315
- "OPEN_TICKET": "Chiptani ochish",
316
- "DESCRIPTION": "Ushbu suhbat uchun chipta ochmoqchi ekanligingizni tasdiqlaysizmi?",
317
- "CONFIRM": "Tasdiqlash",
318
- "CLOSE": "Yopish"
319
- }
320
-
309
+ "DOMAIN_NOT_ALLOWED": "URL ruxsat etilmagan domenni o'z ichiga oladi"
321
310
  }
@@ -1010,7 +1010,6 @@ class Chat21Client {
1010
1010
  this.start( () => {
1011
1011
  // callback();
1012
1012
  });
1013
- this.initKeepAliveWorker()
1014
1013
  }
1015
1014
  this.client.publish(
1016
1015
  this.presence_topic,
@@ -1028,36 +1027,6 @@ class Chat21Client {
1028
1027
  console.error("Chat client error event", error);
1029
1028
  }
1030
1029
  );
1031
-
1032
-
1033
- }
1034
-
1035
-
1036
- initKeepAliveWorker(){
1037
- this.worker= new Worker('assets/js/mqtt-keepalive-worker.js');
1038
- if (this.log) {
1039
- console.log("Chat21Client - initKeepAliveWorker() - worker created", this.worker);
1040
- }
1041
- // this.worker.postMessage({
1042
- // action: 'start',
1043
- // user_id: this.user_id,
1044
- // client_id: this.client_id,
1045
- // jwt: this.jwt,
1046
- // endpoint: this.endpoint
1047
- // });
1048
- this.worker.onmessage = (event) => {
1049
- if (event.data.action === 'ping') {
1050
- if (this.client && this.client.connected) {
1051
- // questo non causa refresh di niente
1052
- this.client.publish(
1053
- `apps/tilechat/users/${this.user_id}/keepalive`,
1054
- JSON.stringify({ ts: Date.now() })
1055
- );
1056
- }
1057
- }
1058
- };
1059
-
1060
- this.worker.postMessage({ action: 'ping' });
1061
1030
  }
1062
1031
 
1063
1032
  onDisconnect(callback){
@@ -1072,11 +1041,6 @@ class Chat21Client {
1072
1041
  this.connected = false
1073
1042
  if (this.log) {console.log("Chat client close event");}
1074
1043
  callback('close')
1075
- if (this.worker) {
1076
- this.worker.postMessage({ action: 'stop' });
1077
- this.worker.terminate();
1078
- this.worker = null;
1079
- }
1080
1044
  }
1081
1045
  );
1082
1046
  this.client.on('offline',
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="utf-8">
6
6
  <meta name="viewport" content="width=device-width">
7
- <title>Iframe test</title>
7
+ <title>replit</title>
8
8
  </head>
9
9
 
10
10
  <body style="height: 100%;">
@@ -20,10 +20,7 @@
20
20
  </div>
21
21
 
22
22
  <iframe id="myIFrame" frameBorder="0" width="100%" style="display: flex; height: 95vh" onload="onLoad()"
23
- src="http://localhost:8080/#/conversation-detail?tiledesk_supportMode=true&jwt=JWT eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NWM1ZjM1OTlmYWYyZDA0Y2Q3ZGE1MjgiLCJlbWFpbCI6Imdpb3Zhbm5pQHRpbGVkZXNrLmNvbSIsImZpcnN0bmFtZSI6Ikdpb3Zhbm5pIiwibGFzdG5hbWUiOiJUcm9pc2kgQWRtIiwiZW1haWx2ZXJpZmllZCI6dHJ1ZSwiaWF0IjoxNzY0NjAyMTQxLCJhdWQiOiJodHRwczovL3RpbGVkZXNrLmNvbSIsImlzcyI6Imh0dHBzOi8vdGlsZWRlc2suY29tIiwic3ViIjoidXNlciIsImp0aSI6IjIwNzZjYmMxLTI0NzgtNGU4MC1iZjFmLTBiZTA3MTQ3MjQ3MSJ9.R60xZC5M2n-hc-mRIMpA9KaUFxnBQHA_FrLyL9cCiqxeCitfCfbfA3_EKXWbWg3rDztmOR7SVjEO8Gyw_hdhKyjpx-OpaDAILw0dSsuBHB0R4h0F4fN2J_JJ60UIItXxoAq1AI9ML2cRGoRNAtfl6PMjpHXdbpdBAGcBYoGqGv3xWPlM7wOdIhGasnWT932DiscF3I_ltcFkS3naebQQfsgztlbU-UF7EcFjDc-mMzMxqnE1MYKzyqUAR9J9zFmqiUlCsl_J0TNhAjqUw-0GHXpzLQJN9dutVyH4y_MZxt_p6qAIzNo9LpMi-a5bfvQvpJjSuc9POvmlmWFAmwoQGw"
24
- allow="autoplay; fullscreen; geolocation; microphone; camera; display-capture; encrypted-media; clipboard-read; clipboard-write;"
25
- loading="eager" importance="high">
26
- </iframe>
23
+ src="http://localhost:8080/#/conversation-detail?tiledesk_supportMode=true&jwt=JWT eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1ZmQzNGU0MjQ5NjEwZTAwMzQ5ODUwNzgiLCJlbWFpbCI6ImdhYnJpZWxlLnBhbmljb0Bmcm9udGllcmUyMS5pdCIsImZpcnN0bmFtZSI6IkdhYnJpZWxlMiIsImxhc3RuYW1lIjoiUGFuaWNvIC1wcmUiLCJlbWFpbHZlcmlmaWVkIjp0cnVlLCJpYXQiOjE2OTgzMzYyMTMsImF1ZCI6Imh0dHBzOi8vdGlsZWRlc2suY29tIiwiaXNzIjoiaHR0cHM6Ly90aWxlZGVzay5jb20iLCJzdWIiOiJ1c2VyIiwianRpIjoiNjAzZGY3NDQtZWY0OS00Mjg2LWJlMWQtYWM5OGYyYTNkMTJiIn0.bof5QPQP262yCQfpeSjqyoYPkSCttg5NQFkcV8d634xzeq7wJBdhtiO7IJY6hS81a1YyXrAsxlK7RiNS-UZdYiTXR81UXurQd1fnE9jtaggB82tyNL8vmiZEOs6xh4TqO3-kkBzRxQIp74bY53fk_mu5RmNbAjIgUWEufaNDiv8"></iframe>
27
24
 
28
25
  <script>
29
26
  // window.addEventListener('message', event => {
@@ -37,7 +37,6 @@
37
37
  "wsUrlRel": "${WS_URL_RELATIVE}",
38
38
  "storage_prefix": "${CHAT_STORAGE_PREFIX}",
39
39
  "emailSection": "${EMAIL_SECTION}",
40
- "ticketSection": "${TICKET_SECTION}",
41
40
  "whatsappTemplatesSection":"${WHATSAPP_TEMPLATES_SECTION}",
42
41
  "googleMapsApiKey":"${GOOGLE_MAPS_APIKEY}"
43
42
  }
@@ -37,7 +37,6 @@
37
37
  "writeToButton": false,
38
38
  "archivedButton": false,
39
39
  "emailSection": true,
40
- "ticketSection": false,
41
40
  "whatsappTemplatesSection":true,
42
41
  "googleMapsApiKey":"CHANGEIT"
43
42
  }
@@ -34,13 +34,9 @@ export abstract class UploadService {
34
34
  // abstract tenant = environment.tenant;
35
35
 
36
36
  // functions
37
- abstract initialize(projectId?: string): void;
37
+ abstract initialize(): void;
38
38
  abstract upload(userId: string, upload: UploadModel): Promise<{downloadURL: string, src: string}>;
39
- abstract uploadFile(userId: string, upload: UploadModel): Promise<{downloadURL: string, src: string}>;
40
- abstract uploadAsset(userId: string, upload: UploadModel, expiration?: number): Promise<{downloadURL: string, src: string}>;
41
39
  abstract uploadProfile(userId: string, upload: UploadModel): Promise<any>;
42
40
  abstract delete(userId: string, path: string): Promise<any>;
43
- abstract deleteFile(userId: string, path: string): Promise<any>;
44
- abstract deleteAsset(userId: string, path: string): Promise<any>
45
41
  abstract deleteProfile(userId: string, path: string): Promise<any>
46
42
  }