Skip to main content

v5

UCS Operator - changelog

All notable changes to this project will be documented in this file.

[5.20.0] - 2024-11-01​

πŸš€ Features​

  • Allow adding comments directly from task view without need to edit the task

πŸ› Bug Fixes​

  • (localization) Add missing czech translations

[5.19.1] - 2024-11-01​

πŸ› Bug Fixes​

  • Allow user comment changes he made while editing task

🚜 Refactor​

  • Rename CallsCount/View.js -> CallsCount/View.tsx
  • Convert class component to functional
  • Rename SupervisorOverview/index.jsx -> .tsx
  • Convert class component to functional at SupervisorOverview
  • Rename SupervisorOverview/FilterButton.jsx -> .tsx
  • Convert class component to functional at SupervisorOverview/FilterButton
  • Remove unused code
  • Rename AutoTheme/index.jsx -> .tsx
  • (dead_code) Remove theme prop from Pick component as it is no longer needed

🎨 Styling​

  • (formatting) Reformat Pick component

[5.19.0] - 2024-10-29​

πŸš€ Features​

  • Display agent and customer in transcription dialog according to role instead of channel

[5.18.3] - 2024-10-29​

πŸ› Bug Fixes​

  • (operator-api) Make AUX reason nullable in onStateChange callback

[5.18.2] - 2024-10-29​

πŸ› Bug Fixes​

  • Change tts announcement api methods to correspond API refactoring changes

[5.18.1] - 2024-10-29​

πŸ› Bug Fixes​

  • Color transcription badge red if transcription resulted in an error

[5.18.0] - 2024-10-29​

πŸš€ Features​

  • Transcription in call detail and call history prototype
  • (transcription) Adjust transcription model according to new local transcription service
  • Only show admin users and admin structure menu buttons if feature flag is on
  • Add timing to transcription dialog

πŸ› Bug Fixes​

  • Create unique indeces for softphone errors to avoid incorrect error displaying
  • Remove transcription sentence author as it's apparent from icon
  • Handle transcription error state
  • Rename announcement tts API methods
  • (localization) Add missing czech translations
  • Remove dialog wrap from transcription structure

βš™οΈ Miscellaneous Tasks​

  • Make transcription nullable in call detail to enhance type safety
  • Bump rspack@1.0.14

[5.17.0] - 2024-10-18​

πŸš€ Features​

  • (monitoring) Create RTP stream anlyser that checks rtp every second, computes packet loss and can draw diagrams
  • (config) Parse integration configuration using zod for better integrity

πŸ› Bug Fixes​

  • (locale) Add missing czech localizations
  • (locale) Add missing czech localizations
  • Changed the text and its translation
  • (build) Add @rollup/rollup-linux-x64-gnu as optional dependency to enable CI build
  • (localization) Restructure code to satisfy static analysis a prevent potential future errors.
  • (task) Let agent remove assigned agent to task
  • (supervisor_view) Fix missing border around highlighted cell informing supervisor that agent break time is over limit.

βš™οΈ Miscellaneous Tasks​

  • (static-code-analysis) Integrate eslint plugin lingui to keep localizations consistent and prevent localization errors

[5.16.0] - 2024-10-10​

πŸš€ Features​

  • (call-history) Call recording auditing can be turned on and off for playback and download independently

[5.15.0] - 2024-10-10​

πŸš€ Features​

  • (identify) Let user search in available identifiers when selecting phone
  • (call-history) When time range is too broad and application is not able to query that much data, little exclamation mark icon is displayed informing about the problem.

🚜 Refactor​

  • (typing) Add type annotations to enhance code stability
  • Replace useSelector with useAppSelector that provides better type safety
  • (dependencies) Remove unused dependency

🎨 Styling​

  • Format code

[5.14.5] - 2024-10-07​

πŸ› Bug Fixes​

  • (typing) Make component property optional because it has default value
  • (action-history) Fix action history of task and email: Make text white in dark mode, enhance UI of textarea while note is being modified

🚜 Refactor​

  • Replace custom call detail fetching with react-query
  • Replace custom rating history loading with react-query
  • Replace custom crm search loading with react-query
  • Replace action history note edit saving with react-query mutation
  • Replace password change saving with react-query mutation

βš™οΈ Miscellaneous Tasks​

  • (build) Bump rspack@1.0.8

[5.14.4] - 2024-10-07​

πŸ› Bug Fixes​

  • Change zIndex so it is above bottom menu
  • (build) Add @rollup/rollup-linux-x64-gnu as optional dependency to enable CI build
  • (build) Replace rollup gnu binding with rspack gnu binding

🚜 Refactor​

  • (bundle) Replace webpack with rspack proposal
  • Refactor SoftphoneSettings to re-render less. Replaced deprecated ScriptProcessor for AudioWorklet
  • Removed unnecessary generic types

⚑ Performance​

  • Compute sticky column widths right away to prevent computing the value each time it's used
  • (supervisor control) Reduce number of updates in supervisor control to enhance performance

βš™οΈ Miscellaneous Tasks​

  • Upgrade vitest
  • Upgrade remeda
  • Upgrade react-resize-detector
  • Upgrade url-template
  • Upgrade uuid
  • Upgrade lingui
  • Upgrade @vitejs/plugin-react @types/react-test-renderer @testing-library/react
  • Upgrade @types/url-template
  • Upgrade react-textarea-autosize
  • Upgrade react-test-renderer
  • Integrate typescript-eslint
  • Integrate ts-reset
  • Enable react-compiler eslint plugin
  • Upgrade webpack-bundle-analyzer
  • Upgrade html-webpack-plugin
  • Upgrade luxon
  • Upgrade redux
  • Upgrade wavesurfer.js

[5.14.3] - 2024-09-20​

πŸ› Bug Fixes​

  • Handle empty path configuration in Shared data status
  • Show main tab even if it's the only tab if it's not active to allow user go back to it

⚑ Performance​

  • Optimize phone status button render frequency

[5.14.2] - 2024-09-20​

πŸ› Bug Fixes​

  • Sync user online status

[5.14.1] - 2024-09-19​

πŸ› Bug Fixes​

  • (locale) Add missing czech localizations

[5.14.0] - 2024-09-19​

πŸš€ Features​

  • (osl-integration) Implement summarizing values of OSL synced data under whole group/department

🚜 Refactor​

  • Extract layout jsx from data computation in Shared data status widget

⚑ Performance​

  • (widget) Optimize Shared data status widget by refreshing it only when selected shared data changes

[5.13.5] - 2024-09-18​

πŸ› Bug Fixes​

  • Separate fonts to another file to fix font bundling
  • (build) Add @rollup/rollup-linux-x64-gnu as optional dependency to enable CI build
  • (design) Center hourglass icon in call history
  • (typing) Adjust type guard to fix type error
  • (chat) Assume agent is offline when in any other state but offline to align it with agent sorting by state

🚜 Refactor​

  • (bundle) Replace webpack with rspack proposal
  • (selectors) Replace direct data store selection with selector
  • Simplify wallboard clock compoent
  • Avoid reinitializing callback every render by using abort controller
  • Add parameter type to pagination component
  • Remove deprecated IE detection
  • Remove unused recompose:compose function

⚑ Performance​

  • (store) Avoid redundant rerender by stabilizing default value
  • (calls) Prevent unnecessary computations in Calls widget by introducing Context component that performs the computation only when context menu is opened
  • Separate user configuration from user status state to prevent re-renders of components that do not depend on user status
  • (agent overview) Optimize agent overview widget

πŸ§ͺ Testing​

  • Remove babel decorator plugin from vitest configuration as it's no longer needed

βš™οΈ Miscellaneous Tasks​

  • (build) Upgrade rspack to 1.0.0, @lingui/swc-plugin to 4.0.10
  • Upgrade rspack
  • Upgrade typescript

[5.13.4] - 2024-09-16​

πŸ› Bug Fixes​

  • (design) Center calendar icon in call history and task edit
  • (agent stats) Fix overlapping duration in aux #381

🚜 Refactor​

  • (typing) Loose type of queue restriction prop

[5.13.3] - 2024-08-28​

πŸ› Bug Fixes​

  • (design) Tabs have no extra spaces around when application configuration is unlocked

🚜 Refactor​

  • (react) Replace state with simple derived value wrapped in memoization

[5.13.2] - 2024-08-28​

πŸ› Bug Fixes​

  • (design) Temporary tab names will not be weirdly wrapped. Instead ellipsis will appear if tab name is too long
  • (design) Adjust email parameters (priority, skill, language) widths to prevent button overflowing

[5.13.1] - 2024-08-27​

πŸ› Bug Fixes​

  • (leads) Deferred leads will be no longer missing in outbound queue
    • The issue was caused by incorrect data scheme which was unable to parse the event informing about deferred lead

[5.13.0] - 2024-08-23​

πŸš€ Features​

  • (e-mail) Improve loading semantic of email body and enhance user message in case of error while loading the body

βš™οΈ Miscellaneous Tasks​

  • (dev) Add 'dev' script to package.json to make transition more seamless

[5.12.2] - 2024-08-20​

πŸ› Bug Fixes​

  • (email) Add missing localization

[5.12.1] - 2024-08-20​

πŸ› Bug Fixes​

  • (email) Email preview no longer blinks.
    • The blinking was caused by remounting the preview each render which was supposed to prevent iframe breaking history context.

[5.12.0] - 2024-08-19​

πŸš€ Features​

  • (call-detail) Redesign call information table to make easier aligning labels with values by bringing it closer

πŸ› Bug Fixes​

  • (select) Disable selection of first item in select element when user clicks outside the select. It fixes selecting first item even when user clicks on something else.

🚜 Refactor​

  • Remove unused code

[5.11.1] - 2024-08-16​

πŸ› Bug Fixes​

  • (widget-settings) Fix modifing task queue widget settings when used as full space widget

[5.11.0] - 2024-08-15​

πŸš€ Features​

  • (call-history) Do not wrap text taht is usually short (date, queue) and enhance table content alignments and compactness

πŸ› Bug Fixes​

  • (ui) Add spacing to labels
  • (ui) Keep short information in task queueu table oneline

[5.10.0] - 2024-08-08​

πŸš€ Features​

  • (agent-status-widget) Time in Specific AUX / Not ready / Logged in / Break time will increment each second if agent is just in corresponding state

[5.9.1] - 2024-08-08​

πŸ› Bug Fixes​

  • (task) Application closes task (goes to previous tab) when active tab with task is closed

[5.9.0] - 2024-08-06​

πŸš€ Features​

  • (router) Display content according to browser url
    • Using browser url to determine which page should be displayed enables user to reload the application and stay on the same page or send the link to another user.
  • (admin) Prepare breadcrumb menu component
  • (websocket) Support receiving json messages from server as binary data
  • (announcement_tts) Create announcement text-to-speach integration in administration
    • Announcement TTS feature allows CC admins generate announcement using AI from text
  • (admin) Structure admin section menu and open substructures on hover
  • (tab-import) Do not hide imported tab from options which enables importing the tab multiple timeS
  • (announcement-tts) Label table column that tells which announcement variant is being used
  • (announcement-tts) Add export button that lets user synchronize generated announcement with ucs files which can be used as an IVR/queue announcement

πŸ› Bug Fixes​

  • (locale) Add missing czech localizations
  • (rating) Correctly style not rated row in agent rating history record
  • (locale) Add missing czech localizations
  • (test) Add missing store mocks to ready state test
  • (widget) Fix Task queue failing when filter parameter queue is not yet confiured in personal data.

🚜 Refactor​

  • (bug-report) Separate bug report state from app state in favour of separation of conserts
  • (impersonation) Separate impersonation state from app state in favour of separation of conserts
  • (dead_code) Remove action that sets sso token provider because it wasn't invoked anywhere
  • (temporary_tabs) Rewrite temporary tab storage to improve static code checks
  • (selectors) Replace arrow functions with data-last remeda functions

βš™οΈ Miscellaneous Tasks​

  • (ui) Add 'gapped' visual option to button component to instruct button put spaces between its content
  • Replace react-helmet library with react-helmet-async as it supports newer versions of react

[5.8.3] - 2024-07-25​

πŸ› Bug Fixes​

  • (locale) Add wysiwyg editor cz localization

[5.8.2] - 2024-07-25​

πŸ› Bug Fixes​

  • (wysiwyg-editor-modal) Show modal title opened by wysiwyg editor (lexical) localized
  • (locale) Localize wysiwyg editor toolbar texts
  • (wysiwyg-editor) Remove redundant divider at the end of toolbar
  • (wysiwyg-editor) Fix icons displaying twice in editor toolbar and support floating toolbar
  • (lexical) Fix style imports to work with webpack

🚜 Refactor​

  • (widget-shared-data-editor) Change UX behaviour of Shared data editor. User needs to click edit button first in order to change the value
    • Froala editor was replaced with modular lexical editor in order to unlock further UX improvements and customizations of the editor

🎨 Styling​

  • Format code

βš™οΈ Miscellaneous Tasks​

  • (ui) Create icon indicating that something wrong happend with the problem description in popup

[5.8.1] - 2024-07-18​

πŸ› Bug Fixes​

  • (shared-data-widget) Add missing localization

[5.8.0] - 2024-07-18​

πŸš€ Features​

  • (shared-data) Recognize that shared data came from osl in known format and let admin configure the data path using dropdown instead of string path
  • (agent-stats) Select shared data value in Agent overview widget by username if it's not found by user id

πŸ› Bug Fixes​

  • (style) Remove redundant form group in application settings that caused extra space around radios

[5.7.0] - 2024-07-16​

πŸš€ Features​

  • (router) Display content according to browser url
    • Using browser url to determine which page should be displayed enables user to reload the application and stay on the same page or send the link to another user.
  • (router) Make ratings discoverable via url
  • (router) Make crm persons, rating form editor, supervisor control, supervisor overview, email filter editor and template editor discoverable via url
  • (router) Make crm person discoverable via url.
    • Each CRM person is identified by unique url
  • (router) Make crm tasks discoverable via url
  • (router) Redirect not found temporary tab to first static tab instead of showing 'not found' message
  • (router) Static tabs of type component use readable urls
  • (crm-person) Hide person note if it was not touched (modified) yet

πŸ› Bug Fixes​

  • (router) Open call via url when using call reference (green badge)
  • (router) Open template editor from email queue widget via url
  • (router) Navigate to previous page when temporary tab is closed
  • (task) Display error message explaining that task does not exist instead of generic error message.
  • (locale) Add missing czech localizations
  • (locale) Remove legacy localized text that caused error
  • (ui) Reserve space for scrollbar to avoid content jumping when switching tabs
  • (widget) Shared data editor settings did not show shared data options when note was not entered. It defaults to identifier now
  • (call-history) Correctly convert legacy from and to in personal data of call history

🚜 Refactor​

  • (routing) Simplify opening of agent rating
  • Load CRM customers to customer selection compoent so it's not loaded preemptively. Display tab name according to url and temporary tab configuration instead of pragmatic tab renaming which might cause data inconsistency.

⚑ Performance​

  • (widget) Position widgets via native css grid instead of manual positioning by shifting widgets using position absolute and translate

πŸ§ͺ Testing​

  • (link) Update link widget snapshots

βš™οΈ Miscellaneous Tasks​

  • Replace element router with data router as it enables creating breadcrumb menu

[5.6.1] - 2024-07-12​

πŸ› Bug Fixes​

  • (sound_player) Change order of elements to sound player appear above top menu

[5.6.0] - 2024-07-08​

πŸš€ Features​

  • (ui) Let user search options in Button widget selection

πŸ› Bug Fixes​

  • (rating) Correctly style not rated row in agent rating history record
  • Correctly instantiate query client provider
    • creating instances using memo might not work as expectedt in future releases because it's not meant to be used like that by the docs
  • (textarea) Textarea has minimal number of rows if specified
  • (call-history) Date picker calendar won't jump back to selected day.

🚜 Refactor​

  • Move flag that determines if application is unlocked (widgets are movable and configurable) to new state that does not use immutable
  • Move widget scroll store to app state section

⚑ Performance​

  • (render) Optimize rendering by stabilizing fallback value of ready channels control

βš™οΈ Miscellaneous Tasks​

  • Create ClosableDialogModal component that features title and close button elements to DialogModal low layer component
  • (lookup) Lowercase data prop name to hint react that it is intedned to appear as html attribute
  • (react) Wrap component to forwardRef to conform react recommendations
  • Disable code style rule that enforces shorthand arrow function

[5.5.0] - 2024-06-25​

πŸš€ Features​

  • (ui) Make save and cancel button stuck to bottom to let user see and easily reach them
  • (task) Configuration allows completely hiding task solution if company does not need to use it.

πŸ› Bug Fixes​

  • (email) When replying from task history, open directly reply email instead of the e-mail that is being replied to.

[5.4.5] - 2024-06-21​

πŸ› Bug Fixes​

  • (locale) Localize 'Cancel' in task editation
  • (ui) Added flex-grow to the main grid to always show bottom menu at the bottom

[5.4.4] - 2024-06-19​

πŸ› Bug Fixes​

  • (lookup) Fix app crashing when Lookup being updated via spreadsheet
  • (ui) Adjust yellow button color to make it better readable in dark mode
  • (ui) Shrink space between allocation button and task table in queue widget
  • (ui) Align space around widgets to match big widget with widget board

🚜 Refactor​

  • Open iframe from task metadata button using enum value instead of inline component
  • Simplify code of task quick duration add button
  • Rearrange layout of application to size content between top and bottom bar automatically

βš™οΈ Miscellaneous Tasks​

  • Adjust typing of button ui element to enhance error prevention

[5.4.3] - 2024-06-17​

πŸ› Bug Fixes​

  • (error_handling) Log email parsing error issue to console so developer can recoginze data consistency problems
  • (email) Link email to its reply when the reply is loaded.

⚑ Performance​

  • Stabilize email queue selection in email information to prevent unnecessary rendering

[5.4.2] - 2024-06-17​

πŸ› Bug Fixes​

  • (tasks) Rewrite Task queue widget to repair task loading even if there are multiple task queue widgets on same tab.
    • Overall task loading should be more deterministic.
  • (tasks) Rewrite Task queue widget to repair task loading even if there are multiple task queue widgets on same tab.
    • Overall task loading should be more deterministic.
  • (task) Make agent optional in task change history
    • agent is optional because the changes can be done by system itself

🚜 Refactor​

  • Remove unnecessary code

⚑ Performance​

  • Do not instantiate data each mount to avoid unnecessary renders

βš™οΈ Miscellaneous Tasks​

  • Add react compiler possible issue checking to prevent errors that might occur when compiler is integrated to speedup application

[5.4.1] - 2024-06-13​

πŸ› Bug Fixes​

  • (task) Add missing localization of error informing that task could not be loaded

[5.4.0] - 2024-06-13​

πŸš€ Features​

  • (task) If task history item contains task reference, email preview will display under the history item (If feature is enabled)

⚑ Performance​

  • (email) Set white background to email url always becaues it is white in all themes

βš™οΈ Miscellaneous Tasks​

  • (release) Add push alias that pushes also the tags

[5.3.0] - 2024-06-13​

πŸš€ Features​

  • (task) Improved user experience by allowing quick tag selection through search functionality

βš™οΈ Miscellaneous Tasks​

  • (release) Use annotated tags for releasing

[5.2.5] - 2024-06-12​

πŸ› Bug Fixes​

  • (lexical) Put editor elements to paragraphs to prevent rich text editor crashes
  • (widget) Fix widget type selection that could not be changed in some cases after new tab creation

[5.2.4] - 2024-06-07​

πŸ› Bug Fixes​

  • (widget) Display widget context menu next to the widget instead of corner of the application

[5.2.3] - 2024-05-27​

πŸ› Bug Fixes​

  • (form) Allow clearing the value of metadata dropdown input and allow searching the options
  • (form) Make status selection in priority editing clearable
  • (control_table) Display profile and team dropdowns above user-queue table and display pagination in table footer

βš™οΈ Miscellaneous Tasks​

  • Upgrade event-emitter to 2.0.3

[5.2.2] - 2024-05-21​

⚑ Performance​

  • (widget) Prevent redundant rerenders (caused by queue statistics changes) of widget displaying inbound callers

βš™οΈ Miscellaneous Tasks​

  • Upgrade react-query from v3 to v5

[5.2.1] - 2024-05-17​

πŸ› Bug Fixes​

  • (supervisor) Make cell more expressive when agent exceeds break time limit

[5.2.0] - 2024-05-16​

πŸš€ Features​

  • (task) Task history is more intuitively formated
    • Feed formatting is used instead of table. Current formatting needs less space and desing itself tells who is the author and when the change happened.

πŸ› Bug Fixes​

  • (render) Add key to softphone error so it conforms react rules
  • (locale) Add localization of email and task action history title
  • Correct empty value of agent selection element
    • Assigned agent to email is now removable again.

βš™οΈ Miscellaneous Tasks​

  • (dead_code) Remove unused component

[5.1.1] - 2024-05-15​

πŸ› Bug Fixes​

  • (calling) Automatic selection of first line is saved until the line is available
    • This fix prevents line to change unexpectedly when user did not select line manually yet and new line is available and it's on first position.

[5.1.0] - 2024-05-15​

πŸš€ Features​

  • (lexical) Create CRMReferencePlugin that allows writing CRM references to editor, references are replaced with tag on the fly
  • (lexical) Hide not yet working features of rich text editor used in task edit (lexical)
  • (lexical) Remove commenting plugin
  • (modal) Create html native modal component
  • (lexical) Fix disappearing popup for link edit by using DialogModal instead
  • (lexical) Support text styling while importing html
  • (lexical) Crate specialized link node that always exports as target=_blank
  • (dialog) Call onClose callback when dialog is about to be closed
  • (lexical) Template can be used directly from the editor toolbar
  • (lexical) Use lexical editor in person description edit

πŸ› Bug Fixes​

  • (lexical) Adjust corner rounding
  • (lexical) Fix saving link when the dialog was opened from floatin menu
  • (locale) Add localization text
  • (lexical) Make context menu invoked using slash visible
  • (locale) Add localization text
  • (proptypes) Replace defaultProps with js default values to support future react versions
  • (modules) Upgrade modules that has reported vulnerabilities
  • (modules) Upgrade @trivago/prettier-plugin-sort-imports to fix vulnerability in lower version
  • (bundle) Disable app reloading to fix fast refresh
  • Wrap SupervisorControl rows to table body to conform dom nesting standard
  • (websocket) Avoid multiple websocket connecting while websocket is already connecting or connected
  • (audio_player) Polish creating an audio player to avoid unexpected behaviour
  • (outbound) Add outbound lead if it does not exist yet (only update it otherwise)
    • When call is not accepted by agent, it can be added to outbound queue as unanwered call. In that case, the lead should display immediately in outbound queue. That should work by now.

🚜 Refactor​

  • (code) Replace RichTextView with TextView (these components were apparently duplicates)
  • (lexical) Remove unused code
  • (lexical) Disable layouts because the conversion to/from html is not supported
  • (logging) Remove debug log
  • (widget) Enhance composition of widget settings modal
  • Convert sup overview summary to ts in order to remove defaultProps which will be deprecated
  • (lexical) Move lexical from prototyping directory to lib
  • Upgrade semantic ui react to version 3 and adjust codebase to be compatible
  • Remove not maintained library react-sticky-table and implement the behaviour (Supervisor Control sticky columns and rows) ad-hoc

πŸ“š Documentation​

  • (changelog) Create v5 changelog as an initialization point
    • All future changelogs will be crated via just release. Not manually.
  • (changelog) Add v3 and v4 changelogs
  • (changelog) Change changelog path and template header
  • (changelog) Remove unreleased changes from v5 changelog

πŸ§ͺ Testing​

  • (environment) Migrate testing environment from jest to vitest

βš™οΈ Miscellaneous Tasks​

  • (gitignore) Add .swc to .gitignore as a preparation to future transition babel -> swc
  • (build) Add justfile to simplify (mainly for people not working on this project) determining how to start or release project
  • Enable react strict mode for easier detection of errors in development mode
  • Install jsdom dependency to enable ci tests

WIP​

  • Lexical intagration to task edit

Refaactor​

  • (code) Remove dead code

[5.0.7] - 2024-04-15​

πŸš€ Features​

  • (widget) Replace plot library to support react18

πŸ› Bug Fixes​

  • (operator_api) Make able to call Operator API methods right away by selecting state information ad hoc instead of subscribing to the stete
  • (test) Adjust selector mocking to provide correct values and prevent test failing
  • (perf) Remove unnecesarry createSlector
  • (ui) Forgotten comma
  • (test) Modify test data according to new implementation
  • (core) Avoid using reactive tmpData in widget core to prevent changing of reference of tmpDataDispatch and infinite rerenders
  • (supervisor_view) Only agents related to selected queues are displayed

🚜 Refactor​

  • (code) Select agent team options via redux selector to memoize the conversion to SUIR dropdown options
  • (code) Select queue branches from ucsMirror state and remove it from ucs
  • (code) Prettify
  • (code) Select group options using selector from ucsMirror state instead of ucs state
  • (code) Remove auto setting dial line in favour of selector that handles state when user did not select anything yet
  • (code) Refactor dial component to be more hierarchical and readable w/o too much sphagetti
  • (code) Remove dead code
  • (code) Remove redundant paremeters of task while opening task
  • (code) Convert TaskQueue AllocateButton to TS FC
  • (code) Convert TaskQueue actions to TS
  • (code) Convert SpeedDial to TS
  • (code) Replace SharedEditor shared data options loading with react-query
  • (code) Convert SharedEditor to TS FC and remove immutable from tmpData
  • (code) Convert SharedData widget to TS
  • (code) Convert SettingsModifier widget to TS
  • (code) Convert SMSChat Message to TS
  • (code) Convert Plot Settings to TS FC
  • (code) Convert settings upgrader exceptions to TS

⚑ Performance​

  • (memoization) Remove createSelector from accessing app config because it does unnecessary overhead in this case
  • (store) Use queues from ucsMirror instead of ucs store to avoid re-renders due to statistics

[5.0.6] - 2024-03-20​

πŸ› Bug Fixes​

  • (autoscroll) Replace react-sizeme with modern react-resize-detector which fixes automatic scrolling to previous location
  • (layout) Add padding to non scrollable big widget to prevent content underflowing
  • (soft_phone) Send dtmf (tone message) to preferably transfer session which enables going throught IVR

🚜 Refactor​

  • (widget) Refactor AgentStats used in SupervisorView and SupervisorOverview to make it more react idiomatic and better readable for future optimizations
  • (dead_code) Remove unused imports

⚑ Performance​

  • (tick) Use context 'now' value instead of creating own in each PhoneButton component
  • (render) Render SupervisorView and SupervisorOverview agent table in background by deferring most changing dependencies and allow interrupting the re-render when deps change
  • (autoscroll) Move caretaking about scroll to separate component to prevent rerendering whole subtree when scrollTop changes

[5.0.5] - 2024-03-18​

πŸš€ Features​

  • (ucs_events) Create proxy object from ucs event action to maintain backwards compatibility with immutable data

πŸ› Bug Fixes​

  • (crm) Show task body template dropdown only at already created tasks, templates cannot be applied to new tasks

⚑ Performance​

  • (tick) Remove 'now' state from Timer component and use context information about current second which makes everything more straightforward and even beter synced

[5.0.4] - 2024-03-15​

πŸš€ Features​

  • (widget) Allow form submission to support UCS Import plugin
  • (widget) Remove border from Link widget mode iframe

πŸ› Bug Fixes​

  • (widget) Fallback tab label name in Button widget to widget label if there is not active call

🚜 Refactor​

  • (dead_code) Remove redundant import aliases of semantic configs since it is no longer needed since semantic inlinging

[5.0.3] - 2024-03-04​

πŸ› Bug Fixes​

  • (soft_phone) Do not show error that softphone unregistered when the unregistration is wanted and expected
  • (test) Change mocked data to reflect new source of queues
  • (theme) Modal that allows supervisor update priority of agent in queue is no longer transparent
    • the problem was that the modal was imported from suir instead of our custom patch with correct element root

🚜 Refactor​

  • (widget) Compute AuxStatus widget value using selectors instead of computation components which were an antipattern
  • (clean) Remove validating queue existance and autoremove because not existing queues are no longer hidden in dropdown and user can remove them easily

⚑ Performance​

  • (render) Pass style classes as formatted string instead of array to remove reason to rerender component
  • (render) Make SupervisorControl dependent on queues only when user selected queues are empty which results in way more less rerenders when user selects queues in filter
  • (render) Remove dependency on whole queues from SupervisorControl to reduce number of required rerenders
  • (render) Do not recreate collection of allowed queues for QueueSelector to prevent unnecessary re-renders
  • (render) Use queues from ucsMirror state that do not change often because it should update only when configuration changes which results in less rerenders