@chat21/chat21-ionic 3.0.57 → 3.0.59-rc12
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/CHANGELOG.md +67 -0
- package/README.md +9 -0
- package/config.xml +11 -2
- package/env.sample +2 -0
- package/package.json +1 -1
- package/resources/Android/splash/drawable-land-hdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-land-ldpi-screen.png +0 -0
- package/resources/Android/splash/drawable-land-mdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-land-xhdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-land-xxhdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-land-xxxhdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-port-hdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-port-ldpi-screen.png +0 -0
- package/resources/Android/splash/drawable-port-mdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-port-xhdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-port-xxhdpi-screen.png +0 -0
- package/resources/Android/splash/drawable-port-xxxhdpi-screen.png +0 -0
- package/resources/Android/splash.png +0 -0
- package/src/app/app-routing.module.ts +21 -17
- package/src/app/app.component.html +6 -3
- package/src/app/app.component.ts +264 -75
- package/src/app/app.module.ts +16 -8
- package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.html +1 -1
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +4 -4
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.scss +8 -2
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +6 -1
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +7 -2
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +48 -3
- package/src/app/chatlib/conversation-detail/message/image/image.component.html +7 -6
- package/src/app/chatlib/conversation-detail/message/image/image.component.ts +20 -1
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +39 -9
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.scss +8 -144
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +14 -17
- package/src/app/chatlib/list-conversations-component/list-conversations/list-conversations.component.html +1 -1
- package/src/app/components/authentication/login/login.component.html +10 -10
- package/src/app/components/authentication/login/login.component.ts +2 -1
- package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.ts +1 -1
- package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.ts +1 -1
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +17 -12
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +12 -0
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +21 -5
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +3 -2
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +22 -17
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +46 -5
- package/src/app/components/ddp-header/ddp-header.component.html +1 -1
- package/src/app/components/ddp-header/ddp-header.component.ts +4 -2
- package/src/app/components/image-viewer/image-viewer.component.html +23 -0
- package/src/app/components/image-viewer/image-viewer.component.scss +107 -0
- package/src/app/components/image-viewer/image-viewer.component.spec.ts +24 -0
- package/src/app/components/image-viewer/image-viewer.component.ts +38 -0
- package/src/app/components/project-item/project-item.component.html +147 -0
- package/src/app/components/project-item/project-item.component.scss +669 -0
- package/src/app/components/project-item/project-item.component.spec.ts +24 -0
- package/src/app/components/project-item/project-item.component.ts +317 -0
- package/src/app/components/utils/avatar-profile/avatar-profile.component.html +7 -0
- package/src/app/components/utils/avatar-profile/avatar-profile.component.ts +22 -5
- package/src/app/pages/authentication/login/login.page.html +1 -2
- package/src/app/pages/authentication/login/login.page.ts +2 -2
- package/src/app/pages/conversation-detail/conversation-detail.page.html +5 -3
- package/src/app/pages/conversation-detail/conversation-detail.page.ts +122 -30
- package/src/app/pages/conversations-list/conversations-list.page.html +44 -23
- package/src/app/pages/conversations-list/conversations-list.page.scss +290 -127
- package/src/app/pages/conversations-list/conversations-list.page.ts +131 -8
- package/src/app/pages/unassigned-conversations/unassigned-conversations-routing.module.ts +17 -0
- package/src/app/pages/unassigned-conversations/unassigned-conversations.module.ts +22 -0
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.html +22 -0
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.scss +79 -0
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.spec.ts +24 -0
- package/src/app/pages/unassigned-conversations/unassigned-conversations.page.ts +108 -0
- package/src/app/services/nav-proxy.service.ts +1 -1
- package/src/app/services/tiledesk/tiledesk.service.ts +22 -1
- package/src/app/services/websocket/websocket-js.ts +557 -0
- package/src/app/services/websocket/websocket.service.spec.ts +12 -0
- package/src/app/services/websocket/websocket.service.ts +274 -0
- package/src/app/shared/shared.module.ts +7 -1
- package/src/assets/i18n/en.json +9 -1
- package/src/assets/i18n/it.json +10 -2
- package/src/assets/js/chat21client.js +141 -67
- package/src/assets/transparent.png +0 -0
- package/src/chat-config-pre-test.json +4 -2
- package/src/chat-config-template.json +3 -1
- package/src/chat-config.json +3 -1
- package/src/chat21-core/providers/chat-manager.ts +3 -3
- package/src/chat21-core/providers/firebase/firebase-archivedconversations-handler.ts +1 -1
- package/src/chat21-core/providers/firebase/firebase-auth-service.ts +50 -42
- package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +1 -1
- package/src/chat21-core/providers/firebase/firebase-notifications.ts +1 -1
- package/src/chat21-core/providers/firebase/firebase-presence.service.ts +2 -2
- package/src/chat21-core/providers/firebase/firebase-typing.service.ts +1 -1
- package/src/chat21-core/providers/firebase/firebase-upload.service.ts +1 -1
- package/src/chat21-core/providers/mqtt/mqtt-auth-service.ts +27 -27
- package/src/chat21-core/providers/mqtt/mqtt-conversations-handler.ts +13 -5
- package/src/chat21-core/providers/mqtt/mqtt-notifications.ts +101 -11
- package/src/chat21-core/providers/tiledesk/tiledesk-auth.service.ts +13 -4
- package/src/chat21-core/utils/utils.ts +1 -1
- package/src/global.scss +2 -7
- package/src/index.html +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,72 @@
|
|
|
1
1
|
# chat21-ionic ver 3.0
|
|
2
2
|
|
|
3
|
+
### 3.0.59-rc12
|
|
4
|
+
- Fixes the bug: Cannot read properties of undefined (reading 'get') when "translationMap" in not yet defined
|
|
5
|
+
- Fixes the bug: when the log out is performed, the item with the number of new conversations remains visible in the left side panel of the conversations list
|
|
6
|
+
|
|
7
|
+
### 3.0.59-rc11
|
|
8
|
+
- Fixed bug: the item in the left side panel showing the number of new conversations is not displayed if there are no conversations
|
|
9
|
+
- Removes the "last_project" object and the "contacts" object on logout from local storage
|
|
10
|
+
|
|
11
|
+
### 3.0.59-rc10
|
|
12
|
+
- Changes in config.xml the site URL of the author
|
|
13
|
+
- Changes the splash screen images
|
|
14
|
+
- Adds the "browser" platform configuration in config.xml
|
|
15
|
+
- Initialize in app.module.ts firebase to handle push notifications if chatEngine is "mqtt"
|
|
16
|
+
|
|
17
|
+
### 3.0.59-rc9
|
|
18
|
+
- Changes in the archived conversations the date format if the browser language is English
|
|
19
|
+
- Displays the button to open the contact list for direct conversations and the entry at the top of the conversation list showing the number of unassigned conversations for a selected project if the "supportMode" configuration property is set to true
|
|
20
|
+
- Adds a style rule on the unassigned conversations page that changes the background of the "ion-content" if the project list is displayed in the iframe
|
|
21
|
+
- Adds "supportMode" property to env.sample, chat-config-template.json and chat-config.json
|
|
22
|
+
|
|
23
|
+
### 3.0.59-rc8
|
|
24
|
+
- Changes the title of the modal window showing unassigned conversations from "Unassigned Conversations" to "New Conversations"
|
|
25
|
+
- Fixes the bug: if the "chatEngine" property value is set to "mqtt" the login modal window does not disappear even if the agent is logged in
|
|
26
|
+
- Fixed the value of the configuration property "dashboardUrl"
|
|
27
|
+
|
|
28
|
+
### 3.0.59-rc7
|
|
29
|
+
- Fixes the bug "Cannot read properties of undefined (reading 'get')" in component template showing the number of new conversations
|
|
30
|
+
- Fixes the bug: the value of the "supportMode" property is passed hard-coded
|
|
31
|
+
|
|
32
|
+
### 3.0.59-rc6
|
|
33
|
+
- Outsources the websocket URL to environments
|
|
34
|
+
- Improves the graphic of the element, positioned at the top of the conversation list, which displays the number of new conversations
|
|
35
|
+
- Adds "wsUrl" property to env.sample, chat-config-template.json and chat-config.json
|
|
36
|
+
- Updates environments with "wsUrl" property
|
|
37
|
+
|
|
38
|
+
### 3.0.59-rc5
|
|
39
|
+
- Display a "toast message" of success after that the agent has joined to an unassigned conversation and other minor improvements
|
|
40
|
+
|
|
41
|
+
### 3.0.59-rc4
|
|
42
|
+
- Adds an item to the top of the conversation list that shows the number of unassigned conversations for a selected project
|
|
43
|
+
- Adds the ability, by clicking on the element that displays the number of unassigned conversations, to view the unassigned conversations and to join to them or archive them
|
|
44
|
+
|
|
45
|
+
### 3.0.59-rc3
|
|
46
|
+
- Improves the method that allows to chain multiple canned responses
|
|
47
|
+
|
|
48
|
+
### 3.0.59-rc2
|
|
49
|
+
- Fixes the bug: on small windows, images and iframes are not the same size as the bubble message that contains them
|
|
50
|
+
- Adds in the "bubble-message" component a check if the metadata is an object before calling the getMetadataSize() method
|
|
51
|
+
- Hides the "canned responses" if there are whitespace after the forward slash "/" or if there are no whitespace before the forward slash "/"
|
|
52
|
+
- Fixes the bug: if the "canned responses" are selected with the mouse, the "send message" text area does not have focus
|
|
53
|
+
- Adds the image viewer and the ability to download an image from it
|
|
54
|
+
- Fixes the position of the "archive" button when the app runs on mobile devices
|
|
55
|
+
- Updates Android splash screen .png image
|
|
56
|
+
|
|
57
|
+
### 3.0.59-rc1
|
|
58
|
+
- Fixes the bug: the "send message" button remains in the "disabled" state even if it is active
|
|
59
|
+
- Changes the format of the date displayed in the message tooltips
|
|
60
|
+
- Fixes the bug: the sender's avatar is not always displayed in the messages header
|
|
61
|
+
- Fixes the bug: the sender's name is not always displayed in the messages header
|
|
62
|
+
- Fixes the bug: in the avatar-profile component the properties 'avatarUrl', 'color' and 'avatar' are private and accessible only within the class
|
|
63
|
+
- Fixes the bug: on ios platforms the back button in the conversation details header overlaps the avatar
|
|
64
|
+
|
|
65
|
+
### 3.0.58
|
|
66
|
+
- Changes the logic with which the 'online' / 'offline' event is published (done before by the onAuthStateChanged() method)
|
|
67
|
+
- Removes the setTimeout set for displaying the login window
|
|
68
|
+
- Executes the "goOffline" method without checking whether the token exists in memory or not
|
|
69
|
+
|
|
3
70
|
### 3.0.57
|
|
4
71
|
- Review of the "login" code
|
|
5
72
|
|
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
[](https://badge.fury.io/js/%40chat21%2Fchat21-ionic)
|
|
2
2
|
|
|
3
|
+
> ***🚀 Do you want to install Tiledesk on your server with just one click?***
|
|
4
|
+
>
|
|
5
|
+
> ***Use [Docker Compose Tiledesk installation](https://github.com/Tiledesk/tiledesk-deployment/blob/master/docker-compose/README.md) guide***
|
|
6
|
+
|
|
3
7
|
Chat21 is the core of the open source live chat platform [Tiledesk.com](http://www.tiledesk.com).
|
|
4
8
|
|
|
5
9
|
# Features #
|
|
@@ -56,6 +60,7 @@ In progress git
|
|
|
56
60
|
pushEngine:"none", // OR YOUR CUSTOM PUSH ENGINE
|
|
57
61
|
fileUploadAccept:"*/*",
|
|
58
62
|
logLevel":"<YOUR-PREFERRED-LOG-LEVEL>",
|
|
63
|
+
supportMode: false,
|
|
59
64
|
firebaseConfig: {
|
|
60
65
|
tenant:"tilechat",
|
|
61
66
|
apiKey: '123ABC..',
|
|
@@ -75,6 +80,7 @@ In progress git
|
|
|
75
80
|
"apiUrl": "https://<YOUR-TILEDESK-API-URL>",
|
|
76
81
|
"baseImageUrl": "https://<YOUR-BASE-IMAGE-URL>",
|
|
77
82
|
"dashboardUrl": "https://<YOUR-DASHBOARD-URL>"
|
|
83
|
+
"wsUrl": 'ws://' + window.location.hostname + '/ws/',
|
|
78
84
|
}
|
|
79
85
|
};
|
|
80
86
|
```
|
|
@@ -84,6 +90,9 @@ In progress git
|
|
|
84
90
|
|
|
85
91
|
* `fileUploadAccept`: The Chat21-ionic allows you to manage the type of files that can be uploaded. By default, all file types are accepted.
|
|
86
92
|
|
|
93
|
+
* `wsUrl`: allows you to know in real time the agent's availability status, the agent's busy status and the number of unassigned conversations for a selected project
|
|
94
|
+
|
|
95
|
+
* `supportMode`: if set to true it allows you to view the list of contacts from which you can make direct conversations and the item at the top of the list of conversations that shows the number of unassigned conversations of a selected project and that the agent can view and take over by clicking on it
|
|
87
96
|
|
|
88
97
|
### Push notification
|
|
89
98
|
* open `/src/firebase-messaging-sw.js` and replace messagingSenderId: with < your messagingSenderId >
|
package/config.xml
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<widget id="chat.tiledesk" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
|
3
3
|
<name>Chat21</name>
|
|
4
4
|
<description>Chat21 is the core of the open source live chat platform</description>
|
|
5
|
-
<author email="
|
|
5
|
+
<author email="" href="https://tiledesk.com/">Tiledesk Team</author>
|
|
6
6
|
<content src="index.html" />
|
|
7
7
|
<access origin="*" />
|
|
8
8
|
<allow-navigation href="*" />
|
|
@@ -18,8 +18,17 @@
|
|
|
18
18
|
<preference name="SplashMaintainAspectRatio" value="true" />
|
|
19
19
|
<preference name="FadeSplashScreenDuration" value="300" />
|
|
20
20
|
<preference name="SplashShowOnlyFirstTime" value="false" />
|
|
21
|
-
<preference name="SplashScreen" value="
|
|
21
|
+
<preference name="SplashScreen" value="assets/splash_white.jpg" />
|
|
22
22
|
<preference name="SplashScreenDelay" value="3000" />
|
|
23
|
+
<platform name="browser">
|
|
24
|
+
<preference name="SplashScreen" value="assets/transparent.png" />
|
|
25
|
+
<preference name="AutoHideSplashScreen" value="true" />
|
|
26
|
+
<preference name="SplashScreenDelay" value="3000" />
|
|
27
|
+
<preference name="SplashScreenBackgroundColor" value="white" />
|
|
28
|
+
<preference name="ShowSplashScreen" value="false" />
|
|
29
|
+
<preference name="SplashScreenWidth" value="600" />
|
|
30
|
+
<preference name="SplashScreenHeight" value="300" />
|
|
31
|
+
</platform>
|
|
23
32
|
<platform name="android">
|
|
24
33
|
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
|
|
25
34
|
<application android:networkSecurityConfig="@xml/network_security_config" />
|
package/env.sample
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
API_BASEIMAGE_URL=CHANGEIT
|
|
2
2
|
DASHBOARD_URL=https://YOUR_DASHBOARD_URL
|
|
3
|
+
WS_URL=wss://YOUR_TILEDESK_SERVER_URL?token=
|
|
3
4
|
|
|
4
5
|
SERVER_BASE_URL=http://localhost:3000/
|
|
5
6
|
|
|
@@ -9,6 +10,7 @@ PUSH_ENGINE=none
|
|
|
9
10
|
FILE_UPLOAD_ACCEPT=*/*
|
|
10
11
|
TENANT=tilechat
|
|
11
12
|
LOG_LEVEL=INFO
|
|
13
|
+
SUPPORT_MODE=false
|
|
12
14
|
|
|
13
15
|
# For MQTT Chat Engine
|
|
14
16
|
MQTT_APPID=tilechat
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -29,6 +29,27 @@ const routes: Routes = [
|
|
|
29
29
|
loadChildren: './pages/conversation-detail/conversation-detail.module#ConversationDetailPageModule'
|
|
30
30
|
|
|
31
31
|
},
|
|
32
|
+
{
|
|
33
|
+
path: 'contacts-directory',
|
|
34
|
+
loadChildren: () => import('./pages/contacts-directory/contacts-directory.module').then( m => m.ContactsDirectoryPageModule)
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
path: 'login',
|
|
38
|
+
loadChildren: () => import('./pages/authentication/login/login.module').then( m => m.LoginPageModule)
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
path: 'profile-info',
|
|
42
|
+
loadChildren: () => import('./pages/profile-info/profile-info.module').then( m => m.ProfileInfoPageModule)
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
path: 'loader-preview',
|
|
46
|
+
loadChildren: () => import('./pages/loader-preview/loader-preview.module').then( m => m.LoaderPreviewPageModule)
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
path: 'unassigned-conversations',
|
|
50
|
+
loadChildren: () => import('./pages/unassigned-conversations/unassigned-conversations.module').then( m => m.UnassignedConversationsPageModule)
|
|
51
|
+
}
|
|
52
|
+
|
|
32
53
|
|
|
33
54
|
// {
|
|
34
55
|
// path: 'conversation-detail/:IDConv',
|
|
@@ -50,23 +71,6 @@ const routes: Routes = [
|
|
|
50
71
|
// // loadChildren: () => import('./pages/details/details.module').then( m => m.DetailsPageModule),
|
|
51
72
|
// // loadChildren: './pages/details/details.module',
|
|
52
73
|
// },
|
|
53
|
-
{
|
|
54
|
-
path: 'contacts-directory',
|
|
55
|
-
loadChildren: () => import('./pages/contacts-directory/contacts-directory.module').then( m => m.ContactsDirectoryPageModule)
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
path: 'login',
|
|
59
|
-
loadChildren: () => import('./pages/authentication/login/login.module').then( m => m.LoginPageModule)
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
path: 'profile-info',
|
|
63
|
-
loadChildren: () => import('./pages/profile-info/profile-info.module').then( m => m.ProfileInfoPageModule)
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
path: 'loader-preview',
|
|
67
|
-
loadChildren: () => import('./pages/loader-preview/loader-preview.module').then( m => m.LoaderPreviewPageModule)
|
|
68
|
-
}
|
|
69
|
-
|
|
70
74
|
|
|
71
75
|
|
|
72
76
|
// {
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
<ion-app>
|
|
2
|
-
<div
|
|
2
|
+
<div>
|
|
3
|
+
<!-- (click)="hideAlert()" -->
|
|
4
|
+
<app-image-viewer></app-image-viewer>
|
|
3
5
|
<ion-split-pane when="md" contentId="main">
|
|
6
|
+
|
|
4
7
|
<ion-nav #sidebarNav [root]="sidebarPage"></ion-nav>
|
|
5
8
|
<!-- our side menu -->
|
|
6
9
|
<!-- <ion-router-outlet id="sidebar" name='sidebar' animated="false" #masterNav> -->
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
<!-- <app-conversations-list></app-conversations-list> -->
|
|
11
|
+
<!-- <app-details></app-details> -->
|
|
9
12
|
<!-- </ion-router-outlet> -->
|
|
10
13
|
<!-- the main content -->
|
|
11
14
|
<ion-router-outlet id="main" #detailNav animated="false">
|