v8
UCS Operator - changelog
All notable changes to this project will be documented in this file.
[8.23.0] - 2026-02-25β
π Featuresβ
- (supervisor-view) Add option allowing to hide suspended agents
π Refactorβ
- Remove unused import
[8.22.0] - 2026-02-25β
π Featuresβ
- (person-metadata) Add person.displayname as button template variable
[8.21.1] - 2026-02-24β
π Bug Fixesβ
- (structure-diagram) Add bigger spacing between components to avoid orphan nodes overlaping
[8.21.0] - 2026-02-24β
π Featuresβ
- (url-variables) Make url variable expansion handle legacy format using %
- (task) Support modern url template format in task metadata button
- (crm) Display crm person metadata
- (metadata) Support electron executable button type
π Refactorβ
- Replace runtime UnreachableError with compile time checked exhaustive switch
- Replace MetadataButtonType enum with union of constants
- Extract union types to constants to enhance readability and possibility to infer types
π¨ Stylingβ
- Reformat code
- Reformat code
- Convert direct return to classical function syntax
- Reformat code
[8.20.3] - 2026-02-19β
π Bug Fixesβ
- (widget-link) Add missing localizations
[8.20.2] - 2026-02-19β
π Bug Fixesβ
- (widget-link) Remove path from executable api parser as it will not be provided anymore
[8.20.1] - 2026-02-19β
π Bug Fixesβ
- (crm) Fix interaction editation crashing on metadata modification
- (widget-link) Expand executable parameter template
π Refactorβ
- Replace call_metadata selectors with metadataView selector
βοΈ Miscellaneous Tasksβ
- Switch to metadata_view instead of call_metatada but keep backwards compatibility
[8.20.0] - 2026-02-19β
π Featuresβ
- (widget-button) When running in electron and executable api is exposed, allow configuring button to open executable
π Bug Fixesβ
- (dispatch-bridge) Display placeholders when there are no attended or unattended calls
- (app-settings) Do not reset crm open configuration in app settings
- (widget-button) Remove debug data
- (localization) Add missing cz localization
π Refactorβ
- Pass crmSuspend config as property instead of selecting it via hook to make sure it's not null
- Select username via type checked selector to enhance type safety which prevents crashes
π¨ Stylingβ
- Reformat code
βοΈ Miscellaneous Tasksβ
- Add test case
[8.19.0] - 2026-02-12β
π Featuresβ
- (lookups) If configured, display input for new lookup record as first row of table instead of last
[8.18.2] - 2026-02-12β
π Bug Fixesβ
- (dispatch-bridge) Display participants number next to their name
[8.18.1] - 2026-02-12β
π Bug Fixesβ
- (dispatch-bridge) Fix unsubscribing from dispatching call while not connected
[8.18.0] - 2026-02-12β
π Featuresβ
- (dial) Allow number typing confirmation using # symbol and focus dial input using F2 key
- (dial) Allow hanging up outgoing call using hotkey anytime
- (time-parser) Add unix timestamp parser
- (dispatch-bridge) Add dispatch rooms widget that allow user act as a dispatcher
- (dispathing) Add widget displaying calls in dispatching queues
- (dial) If configured, focus dial whenever numpad is pressed
π Bug Fixesβ
- (api) Remove kvargs support in api connector as it isn't much of compatible with typing and replace the kvargs with positional args
- (dispatch-bridge) Add target agent id to dispatch join request
- (localization) Add missing cz localization
π Refactorβ
- Extract dispatch bridges separation to function to enhance readability
- (dispatch-bridge) Extract dispatch bridge buttons to component
- Remove dead code
π¨ Stylingβ
- Reformat code
βοΈ Miscellaneous Tasksβ
- Remove testing script
[8.17.0] - 2026-02-09β
π Featuresβ
- (core) Change static tabs using Ctrl + Shift + 0-9 shortut
π Bug Fixesβ
- (widget-core) Support passing widget data in plain form instead of immutable in ComponentWrapper
- Hide call dial error notification after 10 seconds
- (dial) Do not focus dial automatically after app laods
- (reports) Distinct query key in view and form body to prevent infinite data fetching
π Refactorβ
- (widget-link) Remove dead code
- (rating-templates) Remove immutable from data passed to server api
- Select offset via selector to enhance type safety
- Enhance typing of temp tabs
- Replace tab data in content with js alternative to immutable to enhance type safety
- Type widget select handler and sanitize invalid inputs
- (supervisor-ctrl) Rewrite redux slice to toolkit approach to enhance type safety
β‘ Performanceβ
- Do not memoize scroll callback as it does nothing since the child component is not memoized either
π¨ Stylingβ
- Reformat code
βοΈ Miscellaneous Tasksβ
- Add comment warning that shared data should not be removed from ucs state even if it's not referenced by code because it can bse used in colorPath
[8.16.5] - 2026-02-02β
π Bug Fixesβ
- (waiting-callers) Passs correct data to waiting callers computation when calling api method 'state'
π Refactorβ
- (waiting-callers) Remove dead code
- Remove dead code (legacy notification state)
- (shared-data-view) Use shared data in plain js form instead of legacy immutable
- (recordins) Select configuration parameters via selector with parser to enhance type safety
- (supervisor-view) Select shared data from new state
- (widget-board) Replace state value with constant because the state was never changed anyway
- (core) Move dashboard state (widget settings modal) to separate reducer
[8.16.4] - 2026-01-27β
βοΈ Miscellaneous Tasksβ
- (tanstack-query) Integrate devtools
- (uPhone) Add uphone webrtc connection state change logging
[8.16.3] - 2026-01-26β
π Bug Fixesβ
- Mount context menu of Calls and Inbound queue widgets correctly so the context menu is correctly styled
β‘ Performanceβ
- (waiting-callers) Compute number of waiting callers lazily to reduce memory footprint when the value is not needed
βοΈ Miscellaneous Tasksβ
- Fix v8 changelog
[8.16.2] - 2026-01-21β
π Bug Fixesβ
- (dial) Make contact type optional to support older UCS versions
[8.16.1] - 2026-01-21β
π Bug Fixesβ
- (dial) Add cz localization
[8.16.0] - 2026-01-21β
π Featuresβ
- (dial) Add infinite scrolling of recent calls and lookup contacts
[8.15.0] - 2026-01-20β
π Featuresβ
- (speed-dial) Allow changing font size in settings
π Refactorβ
- (dial) Replace memo with TQ select
[8.14.0] - 2026-01-15β
π Featuresβ
- (dial) Rewrite dial to enhance UX
π Bug Fixesβ
- (settings-modifier) Silence warning logged due to resource loading
[8.13.0] - 2026-01-13β
π Featuresβ
- (menu) Display home link in top menu if tabs are displayed in dropdown menu
[8.12.8] - 2026-01-13β
π Bug Fixesβ
- (settings-modifier) Display currently configured value
[8.12.7] - 2026-01-09β
π Bug Fixesβ
- (localization) Add missing cz localization
[8.12.6] - 2026-01-09β
π Bug Fixesβ
- (director) Remove debug render
[8.12.5] - 2026-01-09β
π Bug Fixesβ
- (director) Disable director introduction when app is running in iframe and mic permission not provided
π Refactorβ
- Move throttling detector to separate component to simplify connector
- Separate buildUrl function from Connector so it can be reused out of the class scope
- Separate recording download methods from Connector
- Make chat subscription more idiomatic and via ref counted api
- Load mergable persons via react query instead of saga and redux actions to simplify code
- (crm-person-merging) Load merged person via react query to simplify code
- (crm-person-merging) Merge persons via mutation instead of saga
βοΈ Miscellaneous Tasksβ
- Add process.env typing to silence errors
[8.12.4] - 2026-01-06β
π Bug Fixesβ
- (app-state-manager) Fix typing and fall back to console log if api log is not available
- (impersonation) Add impersonated query param to websocket uri to let uauth know that connection is being made for someone else
- (session-manager) Fix type error and warn when director main app is not string|null
- (authentication) Broadcast information about logout to all context tabs
- (app-settings) Do not ignore number of rows in call history
π Refactorβ
- (mail-attachment) Remove attachment upload api methods from connector instance
[8.12.3] - 2025-12-03β
π Bug Fixesβ
- (osl-integration) Add app source to log metadata
[8.12.2] - 2025-12-03β
π Bug Fixesβ
- (uphone) Log in try block to bypass tests missing mocked logger
[8.12.1] - 2025-12-03β
π Bug Fixesβ
- (uphone) Add logging of main app and uphone device
[8.12.0] - 2025-12-03β
π Featuresβ
- (outbound) Display language metadata as flag in outbound queue
- (osl-integration) Do not register to director if app loaded in osl dashboard
[8.11.0] - 2025-12-02β
π Featuresβ
- (core) Add indicator to ready button that shows dot for each channel. The dot indicates whether the channel is active
π Bug Fixesβ
- (diagram) User can modify time in diagram settings via clock tooltip
- (settings-modifier) Center radio button at variable option
- (lint) Upgrade eslint-plugin-react-compiler
- (uphone) Fix possible race condition in audio device sync
- (uphone) Sync audio devices even if the instance is not main
π Refactorβ
- Add typing to statistics api endpoint
- Replace immer produce with plain js object manipulation
- Remove dev log
- Remove immer produce from filter sort table as it was not required because the object is not needed to be immutably changed
β‘ Performanceβ
- (hotkeys) Replace useCallback with useEffectEvent to avoid frequent adding and removing window event listener
βοΈ Miscellaneous Tasksβ
- Migrate react-datetime styles import to support next version of sass
- Migrate rgl styles imports to support next version of sass
- Remove redundant handsontable styles import
- Upgrade prettier
- Remove immer as direct dependency
- Remove legacy backwards compatibility libraries (regenerator and core-js)
[8.10.1] - 2025-11-24β
π Bug Fixesβ
- (framed-content) Add allow same origin scripts to enable auth when embedding admin page
βοΈ Miscellaneous Tasksβ
- Migrate to v3 sass use instead of import
Reafactorβ
- (mail) Directly import attachment drop style file into attachment component
[8.10.0] - 2025-11-24β
π Featuresβ
- (settings-modifier) Add phone transfer options that modify both internal and external transfer number
βοΈ Miscellaneous Tasksβ
- Upgrade sass-loader and replace sass with sass-emebedded
[8.9.0] - 2025-11-24β
π Featuresβ
- (diagram) Let user filter queues for diagram data
π Bug Fixesβ
- (diagram) Prevent diagram overflowing and incrementally enlarging itself
- (crm-task) Redirect user to crm person when new task is canceled
- (settings-analyzer) Update parser with new Diagram widget
π Refactorβ
- Use import instead of require in audio analyser
βοΈ Miscellaneous Tasksβ
- Upgrade uuid library
- Upgrade lingui library
- Update remeda library
- Update zod library
- Bump libraries to their latest versions of same major
[8.8.0] - 2025-11-12β
π Featuresβ
- (widget-board) Allow hiding widget content to enhance performence while moving and resizing widgets
- (time-input) Add time value parser to enable integration with app
- (config) Warn user that configuration might be lost when reloading/closing the app while the app is unlocked
- (supervisor) Add checkbox that hides aggressivity and priority rows in supervisor control
- (diagram) Create new diagram widget displaying connected to originated outbound leads
- (time-input) Support format with seconds
π Bug Fixesβ
- (telemetry) Upgrade wrap-ansi package because installed version does not exist
- (package) Migrate from binary to text-based lockfile
- (package) Remove wrap-ansi as direct dependency
- (package) Migrate original lockfile
- (queue-selector) Fix adding queues in select
- (widget-board) Button hiding widget content when editing layout is correctly styled
- (supervisor) Add czech locales to supervisor control settings
- (diagram) Remove scope directive from styles as compiler does not support it yet
- (diagram) Add czech localization
π Refactorβ
- Remove unused redux action
- Fix typing issues in phone number input
βοΈ Miscellaneous Tasksβ
- (build) Enable incremental type checks to speedup static analysis
- Trace dialing
- (build) Rename bun lockfile in justfile to match current version
[8.7.1] - 2025-11-04β
π Bug Fixesβ
- (style) Added missing themed background and text color to dialog modal.
[8.7.0] - 2025-11-04β
π Featuresβ
- (supervisor) Add outbound queue (campaign) aggressivity, priority and lead retry counts to supervisor control
[8.6.0] - 2025-11-03β
π Featuresβ
- (call-history) Replace agent filter input with mutlti-agent filter that allows adding whole team agents
[8.5.4] - 2025-10-23β
π Bug Fixesβ
- (widget-board) Fix app freeze when widget is pasted to empty board
[8.5.3] - 2025-10-23β
π Bug Fixesβ
- (button-widget) Button metadata can be modified
[8.5.2] - 2025-10-22β
π Bug Fixesβ
- (transcription) Only show transcription header when transcription or summary actually exists
- (dialog) Style closable dialog a bit
[8.5.1] - 2025-10-17β
π Bug Fixesβ
- (call-history) Do not show error in call history fulltext filter if it's emptyr
[8.5.0] - 2025-10-17β
π Featuresβ
- (tts) Understand numeric values of transcription confidence
- (call-history) Allow fulltext search in call history
- (ice) Support also turn servers based on url protocol
- (call-history) Split fulltext search by comma to enable union search