@seamly/web-ui 20.6.0 → 20.8.0-alpha.1
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 +234 -16
- package/build/dist/lib/hooks.js +1 -1
- package/build/dist/lib/hooks.min.js +1 -1
- package/build/dist/lib/index.debug.js +939 -784
- package/build/dist/lib/index.debug.min.js +1 -1
- package/build/dist/lib/index.debug.min.js.LICENSE.txt +186 -130
- package/build/dist/lib/index.js +24828 -19735
- package/build/dist/lib/index.min.js +1 -1
- package/build/dist/lib/index.min.js.LICENSE.txt +38 -4
- package/build/dist/lib/standalone.js +32930 -27053
- package/build/dist/lib/standalone.min.js +1 -1
- package/build/dist/lib/standalone.min.js.LICENSE.txt +39 -0
- package/build/dist/lib/storage.js +2 -2
- package/build/dist/lib/storage.min.js +1 -1
- package/build/dist/lib/style-guide.js +8653 -7885
- package/build/dist/lib/style-guide.min.js +2 -1
- package/build/dist/lib/style-guide.min.js.LICENSE.txt +38 -0
- package/build/dist/lib/styles.css +1 -1
- package/build/dist/lib/utils.js +1 -2
- package/build/dist/lib/utils.min.js +1 -1
- package/package.json +19 -9
- package/src/icons/avatar_agent-32.svg +7 -0
- package/src/icons/avatar_bot-32.svg +6 -1
- package/src/javascripts/api/index.js +1 -1
- package/src/javascripts/{config.js → config.ts} +3 -1
- package/src/javascripts/config.types.ts +95 -0
- package/src/javascripts/domains/app/actions.ts +83 -0
- package/src/javascripts/domains/app/app.types.ts +3 -0
- package/src/javascripts/domains/app/hooks.js +3 -5
- package/src/javascripts/domains/app/selectors.ts +6 -0
- package/src/javascripts/domains/app/slice.ts +30 -0
- package/src/javascripts/domains/config/actions.ts +45 -0
- package/src/javascripts/domains/config/hooks.ts +19 -0
- package/src/javascripts/domains/config/selectors.ts +24 -0
- package/src/javascripts/domains/config/slice.ts +111 -0
- package/src/javascripts/domains/errors/index.js +13 -9
- package/src/javascripts/domains/forms/context.ts +14 -0
- package/src/javascripts/domains/forms/forms.types.ts +24 -0
- package/src/javascripts/domains/forms/{hooks.js → hooks.ts} +23 -26
- package/src/javascripts/domains/forms/{provider.js → provider.tsx} +20 -14
- package/src/javascripts/domains/forms/{selectors.js → selectors.ts} +7 -8
- package/src/javascripts/domains/forms/slice.ts +84 -0
- package/src/javascripts/domains/forms/utils.ts +15 -0
- package/src/javascripts/domains/i18n/actions.ts +24 -0
- package/src/javascripts/domains/i18n/{hooks.js → hooks.ts} +2 -2
- package/src/javascripts/domains/i18n/i18n.types.ts +6 -0
- package/src/javascripts/domains/i18n/selectors.ts +16 -0
- package/src/javascripts/domains/i18n/{reducer.js → slice.ts} +43 -37
- package/src/javascripts/domains/interrupt/{hooks.js → hooks.ts} +2 -2
- package/src/javascripts/domains/interrupt/{middleware.js → middleware.ts} +11 -8
- package/src/javascripts/domains/interrupt/selectors.ts +6 -0
- package/src/javascripts/domains/interrupt/slice.ts +40 -0
- package/src/javascripts/domains/options/middleware.js +9 -6
- package/src/javascripts/domains/redux/redux.types.ts +11 -0
- package/src/javascripts/domains/store/index.ts +53 -0
- package/src/javascripts/domains/store/slice.ts +639 -0
- package/src/javascripts/domains/store/store.types.ts +135 -0
- package/src/javascripts/domains/translations/components/chat-status.js +2 -2
- package/src/javascripts/domains/translations/components/options-button.js +1 -1
- package/src/javascripts/domains/translations/components/options-dialog/form.js +5 -5
- package/src/javascripts/domains/translations/components/options-dialog/index.js +2 -2
- package/src/javascripts/domains/translations/{hooks.js → hooks.ts} +28 -23
- package/src/javascripts/domains/translations/middleware.js +29 -27
- package/src/javascripts/domains/translations/selectors.js +4 -9
- package/src/javascripts/domains/translations/slice.ts +67 -0
- package/src/javascripts/domains/translations/translations.types.ts +12 -0
- package/src/javascripts/domains/visibility/{actions.js → actions.ts} +25 -19
- package/src/javascripts/domains/visibility/{hooks.js → hooks.ts} +13 -10
- package/src/javascripts/domains/visibility/{selectors.js → selectors.ts} +3 -6
- package/src/javascripts/domains/visibility/slice.ts +38 -0
- package/src/javascripts/domains/visibility/utils.js +0 -9
- package/src/javascripts/domains/visibility/visibility.types.ts +6 -0
- package/src/javascripts/index.ts +92 -0
- package/src/javascripts/lib/engine/index.js +15 -11
- package/src/javascripts/lib/external-api/initialize-api.js +1 -1
- package/src/javascripts/lib/id.js +5 -8
- package/src/javascripts/lib/mutex.js +3 -1
- package/src/javascripts/lib/store/providers/cookie-storage.js +1 -1
- package/src/javascripts/lib/store/providers/session-storage.js +1 -1
- package/src/javascripts/package/hooks.js +2 -2
- package/src/javascripts/package/utils.js +0 -1
- package/src/javascripts/schema.ts +1455 -0
- package/src/javascripts/style-guide/components/app.js +4 -4
- package/src/javascripts/style-guide/components/static-core.js +87 -65
- package/src/javascripts/style-guide/components/view.js +4 -4
- package/src/javascripts/style-guide/state-helpers/index.js +5 -5
- package/src/javascripts/style-guide/states.js +6 -4
- package/src/javascripts/style-guide.ts +5 -0
- package/src/javascripts/ui/components/app-options/index.js +2 -4
- package/src/javascripts/ui/components/conversation/component-filter.js +1 -1
- package/src/javascripts/ui/components/conversation/conversation.js +5 -5
- package/src/javascripts/ui/components/conversation/event/card-message.js +1 -1
- package/src/javascripts/ui/components/conversation/event/carousel-component/components/controls.js +1 -1
- package/src/javascripts/ui/components/conversation/event/carousel-message/components/slide.js +1 -1
- package/src/javascripts/ui/components/conversation/event/carousel-message/index.js +1 -1
- package/src/javascripts/ui/components/conversation/event/choice-prompt.js +2 -2
- package/src/javascripts/ui/components/conversation/event/conversation-suggestions.js +11 -14
- package/src/javascripts/ui/components/conversation/event/cta.js +1 -1
- package/src/javascripts/ui/components/conversation/event/divider/variants/default.js +1 -1
- package/src/javascripts/ui/components/conversation/event/divider/variants/new-translation.js +5 -2
- package/src/javascripts/ui/components/conversation/event/event-participant.js +2 -2
- package/src/javascripts/ui/components/conversation/event/hooks/use-formatted-date.js +2 -2
- package/src/javascripts/ui/components/conversation/event/image-lightbox.js +1 -1
- package/src/javascripts/ui/components/conversation/event/image.js +5 -7
- package/src/javascripts/ui/components/conversation/event/participant.js +1 -1
- package/src/javascripts/ui/components/conversation/event/splash.js +3 -3
- package/src/javascripts/ui/components/conversation/event/text.js +1 -1
- package/src/javascripts/ui/components/conversation/event/translation.js +2 -2
- package/src/javascripts/ui/components/conversation/event/upload.js +2 -2
- package/src/javascripts/ui/components/conversation/event/video.js +1 -1
- package/src/javascripts/ui/components/conversation/message-container.js +4 -4
- package/src/javascripts/ui/components/core/seamly-api-context.js +1 -1
- package/src/javascripts/ui/components/core/seamly-core.js +15 -14
- package/src/javascripts/ui/components/core/seamly-event-subscriber.js +96 -91
- package/src/javascripts/ui/components/core/seamly-file-upload.js +20 -24
- package/src/javascripts/ui/components/core/seamly-initializer.js +1 -1
- package/src/javascripts/ui/components/core/seamly-instance-functions-loader.js +5 -4
- package/src/javascripts/ui/components/core/seamly-new-notifications.js +2 -2
- package/src/javascripts/ui/components/core/seamly-read-state.js +10 -17
- package/src/javascripts/ui/components/entry/deprecated-toggle-button.js +3 -3
- package/src/javascripts/ui/components/entry/entry-container.js +4 -6
- package/src/javascripts/ui/components/entry/text-entry/hooks.js +3 -3
- package/src/javascripts/ui/components/entry/text-entry/index.js +3 -2
- package/src/javascripts/ui/components/entry/text-entry/text-entry-form.js +6 -10
- package/src/javascripts/ui/components/entry/upload/file-upload-form.js +2 -2
- package/src/javascripts/ui/components/entry/upload/index.js +10 -9
- package/src/javascripts/ui/components/entry/upload-toggle.js +2 -2
- package/src/javascripts/ui/components/faq/faq.js +6 -6
- package/src/javascripts/ui/components/form-controls/file-input.js +1 -1
- package/src/javascripts/ui/components/form-controls/form.js +1 -1
- package/src/javascripts/ui/components/form-controls/input.js +1 -1
- package/src/javascripts/ui/components/form-controls/select.js +1 -1
- package/src/javascripts/ui/components/layout/agent-info.js +4 -4
- package/src/javascripts/ui/components/layout/chat-frame.js +3 -3
- package/src/javascripts/ui/components/layout/chat.js +11 -12
- package/src/javascripts/ui/components/layout/deprecated-app-frame.js +10 -9
- package/src/javascripts/ui/components/layout/header.js +1 -1
- package/src/javascripts/ui/components/layout/interrupt.js +23 -24
- package/src/javascripts/ui/components/layout/pre-chat-messages.js +11 -11
- package/src/javascripts/ui/components/layout/privacy-disclaimer.js +2 -2
- package/src/javascripts/ui/components/options/options-button.js +12 -10
- package/src/javascripts/ui/components/options/transcript/index.js +2 -2
- package/src/javascripts/ui/components/options/transcript/transcript-form.js +1 -1
- package/src/javascripts/ui/components/suggestions/index.js +39 -27
- package/src/javascripts/ui/components/view/deprecated-view.js +19 -16
- package/src/javascripts/ui/components/view/index.js +12 -12
- package/src/javascripts/ui/components/view/inline-view.js +2 -2
- package/src/javascripts/ui/components/view/window-view/collapse-button.js +3 -3
- package/src/javascripts/ui/components/view/window-view/index.js +13 -13
- package/src/javascripts/ui/components/view/window-view/window-open-button.js +13 -13
- package/src/javascripts/ui/components/warnings/idle-detach-warning.js +1 -1
- package/src/javascripts/ui/components/warnings/resume-conversation-prompt.js +1 -1
- package/src/javascripts/ui/components/widgets/lightbox.js +2 -2
- package/src/javascripts/ui/components/widgets/upload-progress.js +1 -1
- package/src/javascripts/ui/hooks/component-helper-hooks.js +1 -1
- package/src/javascripts/ui/hooks/file-upload-hooks.js +4 -6
- package/src/javascripts/ui/hooks/focus-helper-hooks.js +14 -12
- package/src/javascripts/ui/hooks/live-region-hooks.js +2 -0
- package/src/javascripts/ui/hooks/seamly-api-hooks.js +8 -3
- package/src/javascripts/ui/hooks/seamly-entry-hooks.js +28 -25
- package/src/javascripts/ui/hooks/seamly-hooks.js +25 -25
- package/src/javascripts/ui/hooks/seamly-option-hooks.js +17 -19
- package/src/javascripts/ui/hooks/seamly-state-hooks.js +14 -13
- package/src/javascripts/ui/hooks/use-seamly-chat.js +15 -25
- package/src/javascripts/ui/hooks/use-seamly-commands.js +46 -63
- package/src/javascripts/ui/hooks/use-seamly-idle-detach-countdown.js +22 -24
- package/src/javascripts/ui/hooks/use-seamly-resume-conversation-prompt.js +8 -9
- package/src/javascripts/ui/hooks/use-single-file-upload.js +4 -6
- package/src/javascripts/ui/hooks/utility-hooks.js +4 -4
- package/src/javascripts/ui/utils/form-utils.js +0 -145
- package/src/javascripts/ui/utils/general-utils.js +3 -4
- package/src/javascripts/ui/utils/seamly-utils.ts +73 -0
- package/src/stylesheets/5-components/_suggestions.scss +3 -3
- package/webpack/config.common.js +16 -0
- package/webpack/config.dev.js +1 -0
- package/webpack/config.package.js +26 -5
- package/webpack/defaults.js +7 -2
- package/webpack/parts/babel-loader-browser-plugins.js +1 -0
- package/webpack/parts/dev-server.js +4 -3
- package/src/javascripts/domains/app/actions.js +0 -112
- package/src/javascripts/domains/app/index.js +0 -7
- package/src/javascripts/domains/app/reducer.js +0 -16
- package/src/javascripts/domains/app/selectors.js +0 -8
- package/src/javascripts/domains/app/utils.js +0 -4
- package/src/javascripts/domains/config/actions.js +0 -7
- package/src/javascripts/domains/config/hooks.js +0 -23
- package/src/javascripts/domains/config/index.js +0 -7
- package/src/javascripts/domains/config/reducer.js +0 -79
- package/src/javascripts/domains/config/selectors.js +0 -23
- package/src/javascripts/domains/config/utils.js +0 -4
- package/src/javascripts/domains/forms/actions.js +0 -21
- package/src/javascripts/domains/forms/context.js +0 -6
- package/src/javascripts/domains/forms/index.js +0 -8
- package/src/javascripts/domains/forms/reducer.js +0 -84
- package/src/javascripts/domains/forms/utils.js +0 -20
- package/src/javascripts/domains/i18n/actions.js +0 -20
- package/src/javascripts/domains/i18n/index.js +0 -7
- package/src/javascripts/domains/i18n/selectors.js +0 -15
- package/src/javascripts/domains/i18n/utils.js +0 -4
- package/src/javascripts/domains/interrupt/actions.js +0 -4
- package/src/javascripts/domains/interrupt/index.js +0 -9
- package/src/javascripts/domains/interrupt/reducer.js +0 -22
- package/src/javascripts/domains/interrupt/selectors.js +0 -6
- package/src/javascripts/domains/interrupt/utils.js +0 -4
- package/src/javascripts/domains/options/index.js +0 -1
- package/src/javascripts/domains/redux/context.js +0 -6
- package/src/javascripts/domains/redux/create-redux-store.js +0 -21
- package/src/javascripts/domains/redux/hooks.js +0 -80
- package/src/javascripts/domains/redux/index.js +0 -19
- package/src/javascripts/domains/redux/provider.js +0 -5
- package/src/javascripts/domains/redux/utils.js +0 -12
- package/src/javascripts/domains/store/index.js +0 -46
- package/src/javascripts/domains/store/state-reducer.js +0 -56
- package/src/javascripts/domains/translations/actions.js +0 -11
- package/src/javascripts/domains/translations/index.js +0 -10
- package/src/javascripts/domains/translations/reducer.js +0 -69
- package/src/javascripts/domains/translations/utils.js +0 -4
- package/src/javascripts/domains/visibility/index.js +0 -8
- package/src/javascripts/domains/visibility/reducer.js +0 -24
- package/src/javascripts/index.js +0 -153
- package/src/javascripts/lib/redux-helpers/index.js +0 -99
- package/src/javascripts/style-guide.js +0 -5
- package/src/javascripts/ui/hooks/use-seamly-dispatch.js +0 -3
- package/src/javascripts/ui/utils/seamly-utils.js +0 -833
package/CHANGELOG.md
CHANGED
|
@@ -2,35 +2,82 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
### Changes
|
|
6
|
+
|
|
7
|
+
- The `preact` peerDependency has been upgraded to version `10.10.6`. This should also be used in client implementations.
|
|
8
|
+
|
|
9
|
+
### Breaking changes
|
|
10
|
+
|
|
11
|
+
- Added TypeScript support. Clients that do not use TypeScript will not be affected.
|
|
12
|
+
- Redux has been replaced with `redux-toolkit` (RTK). This may have an impact on client implementations. Because `slices` in RTK automatically create `action` functions, it affects how `dispatch` should be called. So instead of;
|
|
13
|
+
```
|
|
14
|
+
dispatch({
|
|
15
|
+
type: "SET_VALUE",
|
|
16
|
+
value: "the value"
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
dispatch({
|
|
20
|
+
type: "SET_NAME",
|
|
21
|
+
firstName: "first name",
|
|
22
|
+
lastName: "last name,
|
|
23
|
+
})
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
It uses a more normalized approach;
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
dispatch(setValue("the value"))
|
|
30
|
+
dispatch(setName({ firstName: "first name", lastName: "last name"}))
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 20.7.0 (14 September 2022)
|
|
34
|
+
|
|
35
|
+
### Bugfixes
|
|
36
|
+
|
|
37
|
+
- Fix an issue where destructuring the `type` of an `entry` would result in an error when the `payload` was `undefined`.
|
|
38
|
+
|
|
39
|
+
### Breaking changes
|
|
40
|
+
|
|
41
|
+
- The sendInfo() Seamly command has been removed.
|
|
42
|
+
|
|
43
|
+
### Changes
|
|
44
|
+
|
|
45
|
+
- Added `.suggestions--aside` class to the suggestions in the inline interface to allow for easier styling.
|
|
46
|
+
|
|
5
47
|
## 20.6.0 (12 August 2022)
|
|
6
48
|
|
|
7
49
|
### Bugfixes
|
|
50
|
+
|
|
8
51
|
- Fix an issue where the interface would not be translated when translation had started before the user had sent a message.
|
|
9
52
|
- Fix an issue where optimistically rendered user messages would re-render after being mutated with the response from the server.
|
|
10
53
|
|
|
11
54
|
## 20.5.0 (29 July 2022)
|
|
12
55
|
|
|
13
56
|
### Changes
|
|
57
|
+
|
|
14
58
|
- When syncing, give incoming events in the history precedence over events in the local state to allow the server to push changes to events.
|
|
15
59
|
- Added links to user messages and the full conversation demo's in the styleguide.
|
|
16
60
|
- The `connect()` and `start()` methods are decoupled to avoid unnecessary chat sessions. The `start()` method will only be called if the `visibility` state is 'open' or if using the inline view if it's 'open' or 'minimized'.
|
|
17
61
|
- Markdown and Mustache rendering have been removed as this is now done server-side. Any implementation that uses `useTextRendering` should be rewritten to directly work on the rendered message body.
|
|
18
62
|
|
|
19
63
|
### Bugfixes
|
|
64
|
+
|
|
20
65
|
- Fix an issue where reconnecting to the api would not happen when a page is loaded from back/forward cache.
|
|
21
66
|
- Fix an issue where the order of appearance was incorrect when there where multiple start events and the suggestions block was used.
|
|
22
67
|
- Fix an issue where `showDisclaimer` would be overwritten by the config in the styleguide.
|
|
23
68
|
- Fix an issue where the FAQ would not immediately disappear after submitting an entry.
|
|
24
69
|
- Fix an issue where the input entry was not showing the correct character limit after an entry with `limit` was received.
|
|
25
70
|
- Fix an issue where the inline interface would not reopen after returning from hibernation or after clearing the session storage. This changes the way `visibilityCallback` is called.
|
|
26
|
-
If the `visibility` state is not present in the storage after returning to a chat session, it will be set once the conversation data is fetched. This results in an extra execution of the `visibilityCallback`.
|
|
71
|
+
If the `visibility` state is not present in the storage after returning to a chat session, it will be set once the conversation data is fetched. This results in an extra execution of the `visibilityCallback`.
|
|
27
72
|
|
|
28
73
|
## 20.4.0 (13 July 2022)
|
|
29
74
|
|
|
30
75
|
### Changes
|
|
76
|
+
|
|
31
77
|
- Added minimized inline interface with limited characters to styleguide.
|
|
32
78
|
|
|
33
79
|
### Bugfixes
|
|
80
|
+
|
|
34
81
|
- Fix an issue where the translation locale would be `undefined` after reopening a session from hibernation.
|
|
35
82
|
- Fix an issue where virtual keyboards would close after submitting a message in the chat.
|
|
36
83
|
- Fix an issue where message count would accidentally show up briefly when collapsing the chat.
|
|
@@ -38,11 +85,13 @@ If the `visibility` state is not present in the storage after returning to a cha
|
|
|
38
85
|
## 20.3.1 (11 July 2022)
|
|
39
86
|
|
|
40
87
|
### Bugfixes
|
|
88
|
+
|
|
41
89
|
- Fix compatibility with existing custom view implementation by allowing passing of `children` to the `<View />` component.
|
|
42
90
|
|
|
43
91
|
## 20.3.0 (22 June 2022)
|
|
44
92
|
|
|
45
93
|
### Changes
|
|
94
|
+
|
|
46
95
|
- The `preact` peerDependency has been upgraded to version `10.7.3`. This should also be used in client implementations.
|
|
47
96
|
- Only load the inline chat interface when scrolled into view. This behaviour can be disabled by setting `connectWhenInView` in `config.js` to `false`.
|
|
48
97
|
- Allow initial topic to be set through configuration or by calling the `setTopic` window API call before initialization.
|
|
@@ -54,6 +103,7 @@ If the `visibility` state is not present in the storage after returning to a cha
|
|
|
54
103
|
```
|
|
55
104
|
|
|
56
105
|
### Bugfixes
|
|
106
|
+
|
|
57
107
|
- Fix scrolling to the bottom of a chat window after an image has fully loaded.
|
|
58
108
|
- Fix support for sending in both an `apiKey` and an `externalId` as query parameter on the demo pages.
|
|
59
109
|
- Fix ensuring conversation suggestions remain hidden in the window variant after user interaction.
|
|
@@ -63,9 +113,11 @@ If the `visibility` state is not present in the storage after returning to a cha
|
|
|
63
113
|
## 20.2.0 (10 May 2022)
|
|
64
114
|
|
|
65
115
|
### Changes
|
|
116
|
+
|
|
66
117
|
- Allow setting the automatic translation of the conversation upon initialization.
|
|
67
118
|
|
|
68
119
|
### Bugfixes
|
|
120
|
+
|
|
69
121
|
- Fix inline interface to be open by default if the user has responded.
|
|
70
122
|
- Fix agent name as subtitle of the header in the `DeprecatedView`.
|
|
71
123
|
- Fix missing variables for the client name and client version.
|
|
@@ -75,6 +127,7 @@ If the `visibility` state is not present in the storage after returning to a cha
|
|
|
75
127
|
## 20.1.0 (26 April 2022)
|
|
76
128
|
|
|
77
129
|
### Changes
|
|
130
|
+
|
|
78
131
|
- The upload component has been rearranged to remove the redundant div container.
|
|
79
132
|
- Expose `SeamlyStaticCore` component from styleguide in package.
|
|
80
133
|
- All components that need disabled states now use aria-disabled for consistency across the board.
|
|
@@ -83,17 +136,19 @@ If the `visibility` state is not present in the storage after returning to a cha
|
|
|
83
136
|
- Expose layoutMode to the server.
|
|
84
137
|
|
|
85
138
|
### Bugfixes
|
|
139
|
+
|
|
86
140
|
- Fix scrolling to top of inline interface in style guide.
|
|
87
141
|
|
|
88
142
|
## 20.0.0 (4 April 2022)
|
|
89
143
|
|
|
90
144
|
### The new interface
|
|
145
|
+
|
|
91
146
|
Version 20.0.0 contains a major upgrade of the look and feel. The most noticeable improvements are:
|
|
92
147
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
148
|
+
- The inline interface now starts in a collapsed state so it uses less screen real-estate on load and allows for a more call-to-action based interaction.
|
|
149
|
+
- The chat button for the window variant shows pre-chat messages which makes it possible to have different call-to-action triggers based on the users need/location.
|
|
150
|
+
- All UI variants have more screen real-estate for chat as the fixed header has been redesigned.
|
|
151
|
+
- FAQ/suggestion handling is now part of the chat-flow in the window and app variants making it a more natural interaction.
|
|
97
152
|
|
|
98
153
|
::: box--important
|
|
99
154
|
**Important**
|
|
@@ -101,6 +156,7 @@ The old UI has been deprecated and will be removed in a future version. New impl
|
|
|
101
156
|
:::
|
|
102
157
|
|
|
103
158
|
### Changes
|
|
159
|
+
|
|
104
160
|
- Add `.cvco-form` class to form component.
|
|
105
161
|
- Add `.cvco-form--submitted`, `.cvco-form--valid`, `.cvco-form--invalid` modifier classes to form component.
|
|
106
162
|
- Add `onError` handler to form component.
|
|
@@ -115,20 +171,22 @@ The old UI has been deprecated and will be removed in a future version. New impl
|
|
|
115
171
|
- Add `context.channelName` to the Seamly initialization configuration options.
|
|
116
172
|
|
|
117
173
|
### Breaking changes
|
|
174
|
+
|
|
118
175
|
- Remove `modal` window variant
|
|
119
176
|
- Non-structural implementation specific styling is now in a separate stylesheet (`src/stylesheets/styles-default-implementation.scss` or pre-built: `styles-default-implementation.css`). If you depend on styling for hover/scrollbars on these you need to load this stylesheet as well.
|
|
120
177
|
- The `inline` and `window` UI has been completely revamped. The old UI can still be used by using the deprecated views. If you wish to retain the old UI when updating you need to:
|
|
178
|
+
|
|
121
179
|
- Add `<DeprecatedView />` as `<CustomView />` to the client.
|
|
122
180
|
|
|
123
|
-
|
|
124
|
-
|
|
181
|
+
```
|
|
182
|
+
import { DeprecatedView } from '@seamly/web-ui'
|
|
125
183
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}
|
|
184
|
+
const config = {
|
|
185
|
+
customComponents: {
|
|
186
|
+
view: DeprecatedView,
|
|
130
187
|
}
|
|
131
|
-
|
|
188
|
+
}
|
|
189
|
+
```
|
|
132
190
|
|
|
133
191
|
- Add deprecated stylesheet and remove the default stylesheet:
|
|
134
192
|
|
|
@@ -144,13 +202,27 @@ The old UI has been deprecated and will be removed in a future version. New impl
|
|
|
144
202
|
isDeprecated: true,
|
|
145
203
|
})
|
|
146
204
|
```
|
|
205
|
+
|
|
147
206
|
- To mark the conversation's connection as ready we used to watch for a message of type `join_conversation_succeeded`, but this has been changed to type `attach_channel_succeeded`. If you depend on messages of type `join_conversation_succeeded` you should switch over to the new type.
|
|
148
207
|
- Replace `defaults.startChatIcon`, `defaults.agentName`, `defaults.agentIcon` in config, with server-side equivalents.
|
|
149
|
-
- Replace `defaults.userName`
|
|
208
|
+
- Replace `defaults.userName` with a translation label, allowing per language labels.
|
|
209
|
+
|
|
210
|
+
## 19.1.6 (14 September 2022)
|
|
211
|
+
|
|
212
|
+
### Bugfixes
|
|
213
|
+
|
|
214
|
+
- Fix an issue where destructuring the `type` of an `entry` would result in an error when the `payload` was `undefined`.
|
|
215
|
+
|
|
216
|
+
## 19.1.5 (17 August 2022)
|
|
217
|
+
|
|
218
|
+
### Bugfixes
|
|
219
|
+
|
|
220
|
+
- Fix an issue where the interface would not be translated when translation had started before the user had sent a message.
|
|
150
221
|
|
|
151
222
|
## 19.1.4 (16 February 2022)
|
|
152
223
|
|
|
153
224
|
### Bug fixes
|
|
225
|
+
|
|
154
226
|
- Fix deep merging of `defaults` key in config when supplied by both implementation and in `init`.
|
|
155
227
|
- Fix carousel sliding in Safari
|
|
156
228
|
- Fix the aria-label of a slide to use the correct index
|
|
@@ -160,25 +232,32 @@ The old UI has been deprecated and will be removed in a future version. New impl
|
|
|
160
232
|
## 19.1.3 (16 February 2022)
|
|
161
233
|
|
|
162
234
|
### Changes
|
|
235
|
+
|
|
163
236
|
- Extended and improved data of `errorCallback`.
|
|
164
237
|
|
|
165
238
|
## 19.1.2 (26 January 2022)
|
|
166
239
|
|
|
167
240
|
### Bug fixes
|
|
241
|
+
|
|
168
242
|
- Fix open/close state in styleguide for window layoutMode.
|
|
169
243
|
|
|
170
244
|
## 19.1.0 (11 January 2022)
|
|
245
|
+
|
|
171
246
|
### Changes
|
|
247
|
+
|
|
172
248
|
- Added an option to monitor errors by passing `errorCallback` to the config.
|
|
173
249
|
|
|
174
250
|
### Bug fixes
|
|
251
|
+
|
|
175
252
|
- Do not display user input as Markdown or Mustache to prevent potential XSS attacks.
|
|
176
253
|
- Add translation dividers to styleguide
|
|
177
254
|
- Add all error types to styleguide
|
|
178
255
|
- Show time-indicators in styleguide
|
|
179
256
|
|
|
180
257
|
## 19.0.0 (19 December 2021)
|
|
258
|
+
|
|
181
259
|
### Breaking Changes
|
|
260
|
+
|
|
182
261
|
- Translation files will be loaded from the back-end and can be managed there. Translations will no longer be provided in this package.
|
|
183
262
|
- `setLocale` window API call has been removed. The locale can only be set at initialisation of a conversation.
|
|
184
263
|
- `setTranslation` now also triggers a translation of the UI
|
|
@@ -186,6 +265,7 @@ The old UI has been deprecated and will be removed in a future version. New impl
|
|
|
186
265
|
- The default locale for a conversation is provided by the server, but can be overridden through `config.context.locale` during `init`.
|
|
187
266
|
|
|
188
267
|
### Changes
|
|
268
|
+
|
|
189
269
|
- Provide representative demo images for card and image messages to be used in styleguides.
|
|
190
270
|
- Increase inline window size. This also changes some of the Sass variables.
|
|
191
271
|
- Determination of `userResponded` has been moved to the server. This also means the key `userResponded` in the Storage is no longer available. If you need to know the state on startup you can use the appstate parameter on the `ui.start` or `ui.beforeStart` events.
|
|
@@ -195,14 +275,19 @@ The old UI has been deprecated and will be removed in a future version. New impl
|
|
|
195
275
|
- The locale for translations of the UI can now be changed to a different locale dynamically
|
|
196
276
|
|
|
197
277
|
## 18.3.1 (22 November 2021)
|
|
278
|
+
|
|
198
279
|
### Changes
|
|
280
|
+
|
|
199
281
|
- Add class for styling to the `activity-monitor` div.
|
|
200
282
|
|
|
201
283
|
## 18.3.0 (20 October 2021)
|
|
284
|
+
|
|
202
285
|
### Changes
|
|
286
|
+
|
|
203
287
|
- Improve entering send_transcript e-mail on mobile and desktop. Especially in combination with autocomplete on mobile.
|
|
204
288
|
|
|
205
289
|
### Bug fixes
|
|
290
|
+
|
|
206
291
|
- Time indicators are properly shown before user messages.
|
|
207
292
|
- Links in messages by users in the default UI are now legible.
|
|
208
293
|
- Fix options dialog `max-height` issue to make implementations easier.
|
|
@@ -211,21 +296,28 @@ The old UI has been deprecated and will be removed in a future version. New impl
|
|
|
211
296
|
- Make card description element a `div` instead of `p` to prevent invalid HTML nesting.
|
|
212
297
|
|
|
213
298
|
## 18.2.0 (17 September 2021)
|
|
299
|
+
|
|
214
300
|
### Changes
|
|
301
|
+
|
|
215
302
|
- Add default `secondary` category to be used with choice prompts
|
|
216
303
|
- ChoicePrompt `<li>`'s now have an additional class based on the choice category to aid styling of choices in client implementations
|
|
217
304
|
- Process card descriptions as markdown
|
|
218
305
|
- Don't process cta descriptions as Mustache templates as we won't ever have any variables
|
|
219
306
|
|
|
220
307
|
### Bug fixes
|
|
308
|
+
|
|
221
309
|
- Remove redundant img alt attribute in cards
|
|
222
310
|
|
|
223
311
|
## 18.1.1 (9 September 2021)
|
|
312
|
+
|
|
224
313
|
### Bug fixes
|
|
314
|
+
|
|
225
315
|
- Fix translation menu automatically closing on focus-out by removing the close-on-focus-out from the Translations-Dialog.
|
|
226
316
|
|
|
227
317
|
## 18.1.0 (8 September 2021)
|
|
318
|
+
|
|
228
319
|
### Changes
|
|
320
|
+
|
|
229
321
|
- Add Carousel message type
|
|
230
322
|
- Add Card message type, the following three card types can be rendered:
|
|
231
323
|
- `ask` which contains a cta that sends a question into the conversation.
|
|
@@ -233,10 +325,13 @@ The old UI has been deprecated and will be removed in a future version. New impl
|
|
|
233
325
|
- `topic` which contains a cta that sets the topic of the conversation.
|
|
234
326
|
|
|
235
327
|
### Bug fixes
|
|
328
|
+
|
|
236
329
|
- Make uploads show correctly as not-deleted if they are still available.
|
|
237
330
|
|
|
238
331
|
## 18.0.0 (30 August 2021)
|
|
332
|
+
|
|
239
333
|
### Changes
|
|
334
|
+
|
|
240
335
|
- Added `Automatic Translation` feature to support live machine translations.
|
|
241
336
|
- Added `setTranslation` added to the window API (only works if the feature is enabled in the account).
|
|
242
337
|
- Added `@seamly/web-ui/index.debug` as a drop-in replacement for `@seamly/web-ui` to enable debug tools in client implementations
|
|
@@ -245,9 +340,11 @@ The old UI has been deprecated and will be removed in a future version. New impl
|
|
|
245
340
|
- Exported `useTranslations`, `useTranslatedEventData` and `useTranslationsContainer` for usage in client implementations
|
|
246
341
|
|
|
247
342
|
### Breaking changes
|
|
343
|
+
|
|
248
344
|
- `useChoicePrompt` now requires the full event as a parameter instead of `event.payload`
|
|
249
345
|
- Drop support for IE11
|
|
250
346
|
- `useTranslation` is renamed to `useI18n` and exports a name function (`t`).
|
|
347
|
+
|
|
251
348
|
```
|
|
252
349
|
// v17.x
|
|
253
350
|
import useTranslation from '@seamly/web-ui`
|
|
@@ -259,7 +356,9 @@ import useI18n from '@seamly/web-ui'
|
|
|
259
356
|
|
|
260
357
|
const { t } = useI18n()
|
|
261
358
|
```
|
|
359
|
+
|
|
262
360
|
- Translation files now use a flattened structure and should be updated.
|
|
361
|
+
|
|
263
362
|
```
|
|
264
363
|
// config.js v17.x
|
|
265
364
|
import nlInformal from '@seamly/web-ui/translations/nl-informal'
|
|
@@ -291,31 +390,41 @@ const translations = {
|
|
|
291
390
|
```
|
|
292
391
|
|
|
293
392
|
### Bug fixes
|
|
294
|
-
|
|
295
|
-
|
|
393
|
+
|
|
394
|
+
- Fix timing issue between clearing entry and changing entry type based on incoming messages.
|
|
395
|
+
- Fix issue in i18n where default object for overrides was provided, but tested against undefined instead of keys.length
|
|
296
396
|
|
|
297
397
|
## 17.2.0 (3 august 2021)
|
|
398
|
+
|
|
298
399
|
### Changes
|
|
400
|
+
|
|
299
401
|
- Added app state information to `ui.beforeStart`, `ui.start` and `ui.visiblity` window.api events. App state contains `hasResponded`, `hasConversation`, `visiblity` and `unreadMessagecount`.
|
|
300
402
|
- Always show time indicator at beginning of conversation when enabled.
|
|
301
403
|
- Always show username/agent name when it is preceded by a time indicator.
|
|
302
404
|
|
|
303
405
|
## 17.1.1 (13 july 2021)
|
|
406
|
+
|
|
304
407
|
### Bug fixes
|
|
408
|
+
|
|
305
409
|
- Expose `useSeamlyConfig` & `useSeamlyVisibility` hooks for customer implementations.
|
|
306
410
|
|
|
307
411
|
## 17.1.0 (29 june 2021)
|
|
412
|
+
|
|
308
413
|
### Changes
|
|
414
|
+
|
|
309
415
|
- Replace default `api.*.seamly.ai` domains with `api.*.seamly-app.com`.
|
|
310
416
|
- Minor dependency updates
|
|
311
417
|
|
|
312
418
|
### Bug fixes
|
|
419
|
+
|
|
313
420
|
- Replace all `/` used for division in SCSS files with fractions. The `/` for division is being deprecated by Sass, as it is technically a seperator in CSS. In future, it will be either `calc()`, `math.div()` or we can use a fraction.
|
|
314
421
|
- Info messages no longer disable choice prompts
|
|
315
422
|
- Server-side triggered idle-timer elapse no longer doubly triggers detach-service action
|
|
316
423
|
|
|
317
424
|
## 17.0.0 (7 june 2021)
|
|
425
|
+
|
|
318
426
|
### Breaking changes
|
|
427
|
+
|
|
319
428
|
- The `system.service_changed` event has been renamed to `system.systemChanged`.
|
|
320
429
|
- For file uploads the following translation keys have been affected and should be changed if overrides or nonstandard translations are used:
|
|
321
430
|
- `srMessageIconText` has been removed.
|
|
@@ -323,6 +432,7 @@ const translations = {
|
|
|
323
432
|
- Keys `srFileUploadedText` and `srFileDownloadText` have been added.
|
|
324
433
|
|
|
325
434
|
### Changes
|
|
435
|
+
|
|
326
436
|
- File download messages without a `url` value are now supported and rendered correctly.
|
|
327
437
|
- Authenticate all conversation requests
|
|
328
438
|
- Now hides all chat content from being shown in the Google Search result snippet by applying the `data-nosnippet` attribute.
|
|
@@ -332,20 +442,27 @@ const translations = {
|
|
|
332
442
|
- Add pre-built `@seamly/web-ui/styles.css` to the package exports.
|
|
333
443
|
|
|
334
444
|
### Bug fixes
|
|
445
|
+
|
|
335
446
|
- Remove `cvco-false` class from the options toggle button.
|
|
336
447
|
- The style guide will no longer display duplicate Preact key console errors.
|
|
337
448
|
- Load scss imports from `node_modules` without deprecated `~`.
|
|
338
449
|
|
|
339
450
|
## 16.0.7 (18 may 2021)
|
|
451
|
+
|
|
340
452
|
### Bug fixes
|
|
453
|
+
|
|
341
454
|
- Add missing styling for time indicators.
|
|
342
455
|
|
|
343
456
|
## 16.0.6 (12 may 2021)
|
|
457
|
+
|
|
344
458
|
### Bug fixes
|
|
459
|
+
|
|
345
460
|
- Add optional chaining to prevent error in time indicator display when locale doesn't match.
|
|
346
461
|
|
|
347
462
|
## 16.0.5 (11 may 2021)
|
|
463
|
+
|
|
348
464
|
### Bug fixes
|
|
465
|
+
|
|
349
466
|
- Export the following exports from the package as required by client implementations to enable upgrade to v16:
|
|
350
467
|
- `useSeamlyCommands`
|
|
351
468
|
- `useSeamlyIdleDetachCountdown`
|
|
@@ -362,24 +479,34 @@ const translations = {
|
|
|
362
479
|
- `Interrupt`
|
|
363
480
|
|
|
364
481
|
## 16.0.4 (10 may 2021)
|
|
482
|
+
|
|
365
483
|
### Bug fixes
|
|
484
|
+
|
|
366
485
|
- Export `useSeamlyEvents` as `useEvents` for the package
|
|
367
486
|
|
|
368
487
|
## 16.0.3 (10 may 2021)
|
|
488
|
+
|
|
369
489
|
### Bug fixes
|
|
490
|
+
|
|
370
491
|
- Fix FAQ overflow on mobile screens with low height (especially an issue when the keyboard is open on Android)
|
|
371
492
|
- Fix image modal not expanding to full height in the inline layoutmode
|
|
372
493
|
|
|
373
494
|
## 16.0.2 (4 may 2021)
|
|
495
|
+
|
|
374
496
|
### Bug fixes
|
|
497
|
+
|
|
375
498
|
- Also export `useSeamlyChat` hook from the package.
|
|
376
499
|
|
|
377
500
|
## 16.0.1 (22 april 2021)
|
|
501
|
+
|
|
378
502
|
### Bug fixes
|
|
503
|
+
|
|
379
504
|
- Properly export all package files so you can use exports like `@seamly/web-ui/storage`
|
|
380
505
|
|
|
381
506
|
## 16.0.0 (20 april 2021)
|
|
507
|
+
|
|
382
508
|
### Changes
|
|
509
|
+
|
|
383
510
|
- Remove loading of `@include-media` in `index.scss` as this is now loaded through the `Web UI`.
|
|
384
511
|
- `FAQ` is now part of `Web UI` and can be deactivated with the `showFaq` setting in the configuration.
|
|
385
512
|
- An `action.click_cta` is now broadcast via the external api when the to action is clicked in a CTA message.
|
|
@@ -392,6 +519,7 @@ const translations = {
|
|
|
392
519
|
- All HTML buttons are now explicitly typed and safe for use inside wrapping forms (mainly classic ASP.NET applications).
|
|
393
520
|
|
|
394
521
|
### Breaking changes
|
|
522
|
+
|
|
395
523
|
- Regardless of whether `FAQ` is activated in `Web UI` or not, the main application is now wrapped in class `cvco-app-wrapper` which reguires styling adjustment in all implementations.
|
|
396
524
|
- All implementations already containing `FAQ` should migrate to the internal implementation. This is mostly the removal of the flex styling on certain breakpoints, and making sure `position: absolute` is possible on the `faqs`.
|
|
397
525
|
- All direct references to `@seamly/web-ui/src/javascript/*` must be updated to reflect the new exports at `@seamly/web-ui`
|
|
@@ -399,18 +527,24 @@ const translations = {
|
|
|
399
527
|
- `preact` is now a peerDependency and must be included from the implementation
|
|
400
528
|
|
|
401
529
|
### Bug fixes
|
|
530
|
+
|
|
402
531
|
- Don't render the skip link when minimized. This fixes the issue where you could focus the skip-link when only the button was visible.
|
|
403
532
|
|
|
404
533
|
## 15.0.1 (11 March 2021)
|
|
534
|
+
|
|
405
535
|
### Changes
|
|
536
|
+
|
|
406
537
|
- `@babel/plugin-transform-react-jsx` now supports automatic transpilation of JSX without the need to import `preact`, `preact.h` or `preact.Fragment`.
|
|
407
538
|
|
|
408
539
|
### Breaking changes
|
|
540
|
+
|
|
409
541
|
- Implementations must upgrade to Preact 10.5.12
|
|
410
542
|
- Implementation must update the **Babel** configuration for `@babel/plugin-transform-react-jsx` to `{ runtime: 'automatic', importSource: 'preact' }` in order to support automatic transpilation.
|
|
411
543
|
|
|
412
544
|
## 15.0.0 (11 March 2021)
|
|
545
|
+
|
|
413
546
|
### Changes
|
|
547
|
+
|
|
414
548
|
- Options, options dialogues, the upload button, as well as the Seamly modal version can now be animated with the same standard transition classes.
|
|
415
549
|
- Add configurable z-index for implementations via config.
|
|
416
550
|
- Add `overscroll-behaviour: contain` to windowed chat so scrolling a windowed chat will not automatically scroll the whole page when the user has reached the bottom of the chat.
|
|
@@ -418,24 +552,33 @@ const translations = {
|
|
|
418
552
|
- Remove cog icon when just one specific option is shown in the bottom bar. Also add classes so the entry can be styled.
|
|
419
553
|
|
|
420
554
|
### Breaking changes
|
|
555
|
+
|
|
421
556
|
- Implementations with options need to update the hide/show of the options menu, and the upload button to use the new transition classes.
|
|
422
557
|
|
|
423
558
|
### Bug fixes
|
|
559
|
+
|
|
424
560
|
- Fix double rendering of upload bubbles on socket reconnect.
|
|
425
561
|
|
|
426
562
|
## 14.0.2 (12 February 2021)
|
|
563
|
+
|
|
427
564
|
### Changes
|
|
565
|
+
|
|
428
566
|
- Send transcript button now has it's own translation and explicitly says `Send`.
|
|
429
567
|
|
|
430
568
|
### Bug fixes
|
|
569
|
+
|
|
431
570
|
- Fix typo in `de-informal` translations.
|
|
432
571
|
|
|
433
572
|
## 14.0.1 (10 February 2021)
|
|
573
|
+
|
|
434
574
|
### Bugfixes
|
|
575
|
+
|
|
435
576
|
- Transcript email validation now also allows capital letters.
|
|
436
577
|
|
|
437
578
|
## 14.0.0 (27 January 2021)
|
|
579
|
+
|
|
438
580
|
### Changes
|
|
581
|
+
|
|
439
582
|
- Build all translations as UJS modules and expose them in the NPM package in `@seamly/web-ui/dist/translations/*`.
|
|
440
583
|
- Use `description` field for rich text in CTA messages.
|
|
441
584
|
- Add `fileUpload.errors.virusFound` translation to indicate an uploaded file contains an unsafe file.
|
|
@@ -447,6 +590,7 @@ const translations = {
|
|
|
447
590
|
- The current agent name is passed to the resume conversation prompt translation.
|
|
448
591
|
|
|
449
592
|
### Breaking changes
|
|
593
|
+
|
|
450
594
|
- Update the `marked` depdendency to 0.8.2, this fixes multiple security issue. Unfortunately this means implementations need to process `marked` by babel as it exports ES6
|
|
451
595
|
- Upgrade webpack to v5. Implementations now have to upgrade to webpack 5 too. Things that need changing:
|
|
452
596
|
- Update `webpack.config.js` to work with Webpack 5
|
|
@@ -464,11 +608,14 @@ const translations = {
|
|
|
464
608
|
- The file upload button will now only show when uploads are available. This may affect the display of the entry container in implementations. Styling needs to be adapted.
|
|
465
609
|
|
|
466
610
|
## 13.0.0 (9 December 2020)
|
|
611
|
+
|
|
467
612
|
### Changes
|
|
613
|
+
|
|
468
614
|
- The entry component can now be set via the `entry` property on messages. Currently this is available for `upload` entry types but this can be extended via the same mechanism for all entry types where required.
|
|
469
615
|
- Validations loaded on entry components can also now be adjusted via server message inside the `entry` property as per the previous point.
|
|
470
616
|
|
|
471
617
|
### Breaking changes
|
|
618
|
+
|
|
472
619
|
- The import path for `EntryContainer` has changed to `@seamly/web-ui/src/javascripts/ui/components/entry/entry_container`. This should be adjusted in all custom views.
|
|
473
620
|
- The structure of the entry block has been changed. All custom views should update the JSX declaration:
|
|
474
621
|
|
|
@@ -483,40 +630,51 @@ const translations = {
|
|
|
483
630
|
|
|
484
631
|
<EntryContainer />
|
|
485
632
|
```
|
|
633
|
+
|
|
486
634
|
- As the entry block has been closed in JSX, custom implementations of the `Entry` component should now use the standard `customComponents` interface in the configuration as described in the documentation.
|
|
487
635
|
- Any custom implementations of `Entry` will need to be recoded to follow the new structure in `Seamly Web UI`.
|
|
488
636
|
- All implementations using the src from the `@seamly/web-ui` package should transpile the `phoenix` package to ES5 if IE11 support is required. If you use webpack, you should make sure `node_modules/phoenix` is not excluded from transpilation in webpack.config.js.
|
|
489
637
|
|
|
490
638
|
### Bugfixes
|
|
639
|
+
|
|
491
640
|
- An edge case existed in the forms system where form element components could re-initialize if the upper application state changed thereby losing preloaded forms data. This has been fixed.
|
|
492
641
|
- Fixed NL translation typo in the screen reader text of a configuration error.
|
|
493
642
|
- The package now uses the source Phoenix file as the dist file contains JavaScript that violates the `unsafe-eval` CSP policy.
|
|
494
643
|
- Send Content-Type header on POST requests to get config and to create a new conversation.
|
|
495
644
|
|
|
496
645
|
## 12.4.0 (27 November 2020)
|
|
646
|
+
|
|
497
647
|
### Changes
|
|
648
|
+
|
|
498
649
|
- Send timezone information to server if it can be determined (only works in modern browsers)
|
|
499
650
|
- Export new ViewWithFaq to use in implementations that use the bundled javascript.
|
|
500
651
|
- Add support for file uploads without a deleteAt.
|
|
501
652
|
|
|
502
653
|
## 12.3.0 (19 November 2020)
|
|
654
|
+
|
|
503
655
|
### Changes
|
|
656
|
+
|
|
504
657
|
- Add support for file upload messages from agents.
|
|
505
658
|
- Add support for securely downloading uploaded files.
|
|
506
659
|
- Clearly mark expired file upload links as such.
|
|
507
660
|
|
|
508
661
|
## 12.2.0 (17 November 2020)
|
|
662
|
+
|
|
509
663
|
### Changes
|
|
664
|
+
|
|
510
665
|
- Add new `api.externalId` configuration option to persist conversations when messaging is enabled.
|
|
511
666
|
- Add new `ResumeConversationPrompt` to ask users to continue or restart a conversation after returning to if after a while (when using messaging).
|
|
512
667
|
|
|
513
668
|
### Bug fixes
|
|
669
|
+
|
|
514
670
|
- Always remove loader when initial events arrive from the server.
|
|
515
671
|
- To avoid multiple instances sending events via the same event bus instance a unique event bus is now used for each chat instance.
|
|
516
672
|
- Don't break on missing activeServiceSettings from a history call.
|
|
517
673
|
|
|
518
674
|
## 12.1.0 (9 November 2020)
|
|
675
|
+
|
|
519
676
|
### Changes
|
|
677
|
+
|
|
520
678
|
- The character limit is visible 50 characters before the limit will be reached instead of the previous 25 characters.
|
|
521
679
|
- History synchronisation with the server is now only performed when it results in new history.
|
|
522
680
|
- The `Privacy Disclaimer` is now shown at the top of the chat window and scrolls away.
|
|
@@ -524,6 +682,7 @@ const translations = {
|
|
|
524
682
|
- Add `appStorageProvider` with support for iOS, Android and React Native. This makes integration with those platform work out of the box (if implemented correctly on the app side).
|
|
525
683
|
|
|
526
684
|
### Bug fixes
|
|
685
|
+
|
|
527
686
|
- In the Spanish language file, the `srStopCobrowsingText` language key has been repaired.
|
|
528
687
|
- All event sorting is now based on the `occurredAt` timestamp on events. This ensures proper merging of history and current event streams in all cases.
|
|
529
688
|
- Client side message again have the ID set properly from the server ACKs.
|
|
@@ -531,10 +690,13 @@ const translations = {
|
|
|
531
690
|
- Add missing documentation for storage providers.
|
|
532
691
|
|
|
533
692
|
### Breaking changes
|
|
693
|
+
|
|
534
694
|
- Hook `useSeamlyDisclaimerDelayedClose` no longer exists. Implementations with a custom `Entry` component should remove this.
|
|
535
695
|
|
|
536
696
|
## 12.0.0 (25 September 2020)
|
|
697
|
+
|
|
537
698
|
### Breaking changes
|
|
699
|
+
|
|
538
700
|
- Hook `useSeamlyContainerClassNames` has been renamed to `useSeamlyMessageContainerClassNames`.
|
|
539
701
|
- Chat bubbles are no longer full width. Most client implementations do not use this full width, so needed escaping every time. For clients who do have full width bubbles this needs checking.
|
|
540
702
|
- The `api.defaults` configuration option has been moved to `context` on the main configuration level. Within this configuration object any usages of `meta` or `settingsProfile` should be removed if still present in implementations as these are dead options.
|
|
@@ -548,6 +710,7 @@ const translations = {
|
|
|
548
710
|
- Split `useText` component hooks in to `useTextRendering` and `useEventLinkClickHandler`. Any custom text message components should now use these hooks instead of the `useText` hook.
|
|
549
711
|
|
|
550
712
|
### Changes
|
|
713
|
+
|
|
551
714
|
- Add two `on` events to the window API for the idle detach warning: `'idleTimer.selectContinue` is sent when the user clicks on the `Continue coversation` button and `idleTimer.selectEnd` is sent when the user clicks on the `End conversation` button.
|
|
552
715
|
- Do not show disabled option checkboxes.
|
|
553
716
|
- Improve icon accessibility.
|
|
@@ -558,41 +721,53 @@ const translations = {
|
|
|
558
721
|
- Add Call to Action (CTA) message type.
|
|
559
722
|
|
|
560
723
|
### Bug fixes
|
|
724
|
+
|
|
561
725
|
- The participant displayed information is now cleared after an interrupt restart.
|
|
562
726
|
- Fix duplicate rendering of accessiblity text in image messages.
|
|
563
727
|
- Fix modification of the `body` data of messages when rendering them as rich text.
|
|
564
728
|
- Fix issue with socket reconnects that would result in messages appearing at the start of the chat
|
|
565
729
|
|
|
566
730
|
## 11.1.0 (30 July 2020)
|
|
731
|
+
|
|
567
732
|
### Bug fixes
|
|
733
|
+
|
|
568
734
|
- Fix history fetching when file uploads are disabled
|
|
569
735
|
|
|
570
736
|
### Changes
|
|
737
|
+
|
|
571
738
|
- Clear waiting actions when destroying an instance
|
|
572
739
|
|
|
573
740
|
## 11.0.0 (29 July 2020)
|
|
741
|
+
|
|
574
742
|
### Bug fixes
|
|
743
|
+
|
|
575
744
|
- Focus outline will now always show, also in browsers with `:focus-visible` activated.
|
|
576
745
|
- Focus input when user clicked the restart button in the error interrupt.
|
|
577
746
|
- Hide cobrowsing bar, options and options toggle button when the UI is minimized
|
|
578
747
|
|
|
579
748
|
### Breaking changes
|
|
580
|
-
|
|
749
|
+
|
|
750
|
+
- Implementations with custom `Entry`, `ChatFrame` or `EntryContainer` components should re-align the implementations of these components to that inside Seamly UI in order to support `File uploads` and function with the adjusted `Multi Forms Data Engine` inside Seamly UI.
|
|
581
751
|
- Classname for the icon in the lightbox/modal has been changed. From `cvco-model__icon` to `cvco-icon` to be consistent with all other icons.
|
|
582
752
|
- All icons are now outlined, so any implementations that use `stroke` in the css (for instance to change color or width) should be fixed to use `fill` instead. Implementations that target specific parts of any `svg` will need tweaking, because all icons are now compound shapes (as few different paths as possible).
|
|
583
753
|
|
|
584
754
|
### Changes
|
|
755
|
+
|
|
585
756
|
- The `Forms Data Engine` inside Seamly UI now supports multiple forms as well as the persistence of forms data.
|
|
586
757
|
- The `Forms Engine` now supports validation.
|
|
587
758
|
- `File uploads` are now supported in Seamly UI if the account configuration and service supports it.
|
|
588
759
|
- An `aria-live` window API event has been added for testing the main `ARIA Live region` in Seamly UI. Any texts added to this live region will be broadcast via this event.
|
|
589
760
|
|
|
590
761
|
## 10.0.1 (7 July 2020)
|
|
762
|
+
|
|
591
763
|
### Bug fixes
|
|
764
|
+
|
|
592
765
|
- Export `useEntry` again (as `useInput` used to be exported).
|
|
593
766
|
|
|
594
767
|
## 10.0.0 (3 July 2020)
|
|
768
|
+
|
|
595
769
|
### Changes
|
|
770
|
+
|
|
596
771
|
- When the idle detach warning countdown starts the `idleTimer.start` window API event gets called and when the timer stops, the `idleTimer.stop` event.
|
|
597
772
|
- Add `sendCustomAction` action to the window API.
|
|
598
773
|
- Add generic Form engine for easier form handling and future extensibility for validation.
|
|
@@ -600,31 +775,41 @@ const translations = {
|
|
|
600
775
|
- Introduce option for screensharing. This will also activate the screensharing warning when enabled.
|
|
601
776
|
|
|
602
777
|
### Breaking changes
|
|
778
|
+
|
|
603
779
|
- The idle detach warning now displays the countdown as minutes and seconds. This will need styling changes in the implementation on upgrade.
|
|
604
780
|
- `Input` component has been replaced with a more generic `Entry` component. This is a drop-in replacement.
|
|
605
781
|
- Rename package to `@seamly/web-ui`. Updage your package.json files accordingly. Versioning will continue.
|
|
606
782
|
|
|
607
783
|
## 9.3.0 (23 June 2020)
|
|
784
|
+
|
|
608
785
|
### Changes
|
|
786
|
+
|
|
609
787
|
- FAQ click also sets `userResponded` to true
|
|
610
788
|
|
|
611
789
|
## 9.2.0 (16 June 2020)
|
|
790
|
+
|
|
612
791
|
### Changes
|
|
792
|
+
|
|
613
793
|
- Add the `appContainerClassName` configuration option to set custom class names on the container element.
|
|
614
794
|
- Add new ui.inputFocus event callback that is triggered whenever the input field gets focus.
|
|
615
795
|
- Emit faq question with `faqclick` custom action on click to aid implementations who need the faq question.
|
|
616
796
|
- The external API now support fetching the current visibility state with the `getVisibility` action.
|
|
617
797
|
|
|
618
798
|
## 9.1.0 (5 June 2020)
|
|
799
|
+
|
|
619
800
|
### Changes
|
|
801
|
+
|
|
620
802
|
- Removed custom focus styles on disclaimer close, modal enlarge, modal close, input etc. These get in the way when doing custom styling for clients. Remove any CSS that escapes this now removed styling.
|
|
621
803
|
- Expired chats no longer show an interrupt screen but automatically restarts. The `sessionExpired` error key can be removed from all custom language files.
|
|
622
804
|
|
|
623
805
|
### Breaking changes
|
|
806
|
+
|
|
624
807
|
- Chat now starts at the bottom of the window container. This severely improves visibility of initial chat messages in smaller views. This adds an extra container div. Test if scrolling/window visibility is still ok after updating.
|
|
625
808
|
|
|
626
809
|
## 9.0.0 (19 May 2020)
|
|
810
|
+
|
|
627
811
|
### Changes
|
|
812
|
+
|
|
628
813
|
- Depending on server configuration, send user typed text to the Seamly server periodically.
|
|
629
814
|
- Prefetch api configuration prior to chat start.
|
|
630
815
|
- Prefetch initial chat state prior to chat start.
|
|
@@ -637,25 +822,33 @@ const translations = {
|
|
|
637
822
|
- Sanitize user input from any executable HTML.
|
|
638
823
|
|
|
639
824
|
### Breaking changes
|
|
825
|
+
|
|
640
826
|
- Migrate the UI to version 2 of the Seamly API.
|
|
641
827
|
- The exported Seamly function no longer returns an API
|
|
642
828
|
- You need to explicitly `init` an instance to start it
|
|
643
829
|
- The adjacent sibling combinator (`+`) has been removed in favour of the `cvco-conversation__item--new-participant` class on messages. Many implementations have either classes that override this default styling, or are using the adjacent sibling combinator themselves. This will need checking and potentially fixes on update.
|
|
644
830
|
|
|
645
831
|
## 8.1.0 (24 April 2020)
|
|
832
|
+
|
|
646
833
|
### Changes
|
|
834
|
+
|
|
647
835
|
- FAQ events will now be persisted over application reloads and only be cleared when intended by the Seamly server.
|
|
648
836
|
|
|
649
837
|
## 8.0.1 (6 April 2020)
|
|
838
|
+
|
|
650
839
|
### Bug fixes
|
|
840
|
+
|
|
651
841
|
- Repair text input labelling.
|
|
652
842
|
|
|
653
843
|
## 8.0.0 (6 April 2020)
|
|
844
|
+
|
|
654
845
|
### Changes
|
|
846
|
+
|
|
655
847
|
- The default FAQ component has been adjusted to handle more implementation requirements. Refer to `faq.md` for the latest API.
|
|
656
848
|
- An Idle Detach Warning will be shown if the user is connected to a live agent, inactive for a set amount of time and the server configuration allows for this.
|
|
657
849
|
|
|
658
850
|
### Breaking changes
|
|
851
|
+
|
|
659
852
|
- The form element component used inside the view should now be wrapped inside a new `<EntryContainer>` component. All custom implementation should upgrade the custom view with this component:
|
|
660
853
|
|
|
661
854
|
```jsx harmony
|
|
@@ -670,19 +863,25 @@ const translations = {
|
|
|
670
863
|
- Any usages of the hook `useInputFocusing` should be refactored to `useSkiplinkTargetFocusing`.
|
|
671
864
|
|
|
672
865
|
## 7.1.0 (26 March 2020)
|
|
866
|
+
|
|
673
867
|
### Bug fixes
|
|
868
|
+
|
|
674
869
|
- FAQ's selections will now show in history as the original event ID is now passed to the FAQ click action.
|
|
675
870
|
- Image and video elements will now also show the event participant, when appropriate.
|
|
676
871
|
|
|
677
872
|
### Changes
|
|
873
|
+
|
|
678
874
|
- The current active participant will show as event participant on the chat loader bubble, when appropriate.
|
|
679
875
|
|
|
680
876
|
## 7.0.0 (12 March 2020)
|
|
877
|
+
|
|
681
878
|
### Bug fixes
|
|
879
|
+
|
|
682
880
|
- Avoid empty introductions from overwriting existing avatar intros.
|
|
683
881
|
- Update avatar in button/header to show initial state / active agent avatar.
|
|
684
882
|
|
|
685
883
|
### Changes
|
|
884
|
+
|
|
686
885
|
- Display `info` messages in the chat windo when they are sent via the websocket.
|
|
687
886
|
- Upgrade Preact to v10.3.3. It is recommended to upgrade custom implementations to this version of Preact as well.
|
|
688
887
|
- The configuration object has been expanded with a new `defaults` object:
|
|
@@ -701,6 +900,7 @@ userName: 'You',
|
|
|
701
900
|
- A default agent icon can be set using the `agentIcon` setting found in the new `defaults` object in the configuration object.
|
|
702
901
|
|
|
703
902
|
### Breaking Changes
|
|
903
|
+
|
|
704
904
|
- Any custom implementations using `component overrides` should migrate to the `ComponentProvider` component instead. Passing custom components to the `Conversation` component is no longer supported and will be ignored.
|
|
705
905
|
- The container classes are no longer exposed as `containerClassNames` by the internal component hooks. Any view components relying on this should import the new `useSeamlyContainerClassNames` hook to resolve the same classes.
|
|
706
906
|
- The `choose again` divider will no longer render in history if used with a version of the server API that does not support info messages.
|
|
@@ -711,59 +911,77 @@ userName: 'You',
|
|
|
711
911
|
- Any implementations relying on a `user defaultName` of `You` coming from the Seamly client itself, needs to implement this with the `userName` setting.
|
|
712
912
|
|
|
713
913
|
## 6.2.0 (3 March 2020)
|
|
914
|
+
|
|
714
915
|
### Changes
|
|
916
|
+
|
|
715
917
|
- Upgrade Preact to v10.3.2. It is recommended to upgrade custom implementations to this version of Preact as well.
|
|
716
918
|
|
|
717
919
|
### Bug fixes
|
|
920
|
+
|
|
718
921
|
- Avoid empty introductions from overwriting existing avatar intros.
|
|
719
922
|
- Fixed race condition that sometimes caused a double connect of the chat client.
|
|
720
923
|
|
|
721
924
|
## 6.1.0 (17 February 2020)
|
|
925
|
+
|
|
722
926
|
### Changes
|
|
927
|
+
|
|
723
928
|
- Allow links to open in new tabs via server configuration.
|
|
724
929
|
|
|
725
930
|
### Other
|
|
931
|
+
|
|
726
932
|
- Fix image opening in lightbox after previous server change.
|
|
727
933
|
|
|
728
934
|
## 6.0.0 (17 February 2020)
|
|
935
|
+
|
|
729
936
|
### Bug fixes
|
|
937
|
+
|
|
730
938
|
- Choice Prompts with prompts other than type="text" now displays properly.
|
|
731
939
|
|
|
732
940
|
### Changes
|
|
941
|
+
|
|
733
942
|
- Custom `Text`, `Video` and `Image` components now implement a `descriptorId` prop as `id` to decorate description containers.
|
|
734
943
|
|
|
735
944
|
### Breaking Changes
|
|
945
|
+
|
|
736
946
|
- Custom ChoicePrompt components should now allow for custom prompt component injection via the `children` prop.
|
|
737
947
|
- Custom Text components should no longer use a `textBodyId` prop to decorate the text container via `id` but instead implement a `descriptorId` prop.
|
|
738
948
|
|
|
739
949
|
## 5.1.1 (12 February 2020)
|
|
740
950
|
|
|
741
951
|
### Bug fixes
|
|
952
|
+
|
|
742
953
|
- Fix misalignment of balloon agent icon.
|
|
743
954
|
|
|
744
955
|
## 5.1.0 (7 February 2020)
|
|
745
956
|
|
|
746
957
|
### Changes
|
|
958
|
+
|
|
747
959
|
- Expose new action events for `action.pick_choice`, `action.navigate` and `action.custom`.
|
|
748
960
|
|
|
749
961
|
## 5.0.2 (31 January 2020)
|
|
750
962
|
|
|
751
963
|
### Bug fixes
|
|
964
|
+
|
|
752
965
|
- Properly build and release Dutch I18N text for Choose Again.
|
|
753
966
|
|
|
754
967
|
## 5.0.1 (31 January 2020)
|
|
755
968
|
|
|
756
969
|
### Changes
|
|
970
|
+
|
|
757
971
|
- Adjust default Dutch I18N text for Choose Again.
|
|
758
972
|
|
|
759
973
|
## 5.0.0 (29 January 2020)
|
|
974
|
+
|
|
760
975
|
### New features
|
|
976
|
+
|
|
761
977
|
- Enable choose again of choice prompt values.
|
|
762
978
|
|
|
763
979
|
### Bug fixes
|
|
980
|
+
|
|
764
981
|
- Repair semantics of the Choice Prompt list.
|
|
765
982
|
|
|
766
983
|
### Breaking Changes
|
|
984
|
+
|
|
767
985
|
- When services are setup to allow `Choose Again` of `Choice Prompts`, a choose again button will now be shown in the chat interface. New topic dividers will also be shown after choosing again. Styling should be adjusted to allow for this in implementations.
|
|
768
986
|
- `Choice Prompts` will be rendered as a `<ul>` instead of `<div>`. Styling should be adjusted in implementations.
|
|
769
987
|
- To align divider views the class postfix `divider__icon` in the `Participant` component has been adjusted to `divider__graphic`. Styling should be adjusted in implementations.
|