v8
UCS Operator - changelog
All notable changes to this project will be documented in this file.
[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
🐛 Bug Fixes
- (uphone) Fix possible redundant rerenders
- (call-history) Put call history fulltext search under feature flag to make possible disabling it for instances without stt
- (call-history) Inform user that fulltext needles needs to be at least 3 characters long and filter out shorter needles
⚡ Performance
- (call-history) Restructure call history filter components to re-render only components depending on change data
[8.4.0] - 2025-10-08
🚀 Features
- (supervisor) Add multiple agent status changing to supervisor overview header
- (supervisor) Replace multi agent status change icon to make it more intuitive
🐛 Bug Fixes
- (button) Make it look disabled when it's disabled
- (supervisor) Display selected value of team in multi agent status change
[8.3.0] - 2025-10-07
🚀 Features
- (main-app-sync) Add debugging utilities that show which app is currently main and will be used as call endpoint
🐛 Bug Fixes
- (admin-settings) Export route component correctly
- (button-widget) Animate hover faster to align with other buttons
- (supervisor) Expect agent data without team (not all agents have to be in team)
[8.2.1] - 2025-09-19
🐛 Bug Fixes
- (settings-analyzer) Add widget settings parsers to settings analyzer to completely check stored configuration
[8.2.0] - 2025-09-17
🚀 Features
- (supervisor) [experimental] allow changing state of multiple agents at once via supervisor control
🐛 Bug Fixes
- (sms-widget) Fallback to empty array as queue configuration in SMS widget when value not recognized
- (archived-queues) Do not overwrite queue deleted parameter
🚜 Refactor
- Remove dead code
- Replace empty object type with unknown
- Migrate compact campaign settings parsing to core api instead of custom
- Migrate speed dial settings parsing to core api instead of custom
- Add model to status control widget to satisfy core api
- Add model to task queue widget to satisfy core api
[8.1.0] - 2025-09-15
🚀 Features
- (admin) Create administration page that allows superuser inspect stored settings and upgrade their schema
- (admin) Add link user settings inspection
- (transcription) Wrap transcription to object having channels prop as forwards compatibility
🐛 Bug Fixes
- (queue-status-widget) Set default value and label size to 36 and 22
- (autospy-widget) Accept anything as settings and fall back to empty settings
- (link-widget) Re-id metadata if they are in legacy form
- (widget-plot) Add defaults to settings
- (widget-calls-count) Add defaults to settings
- (widget-report) Add defaults to settings
- (admin-settings) Add locales
🚜 Refactor
- (settings-upgrader) Pass logger as argument to settings upgrader to make it testable
- Add typing to tmpDataStore HOC
- (tabs) Select number of tabs via parsed value
- (tabs) Render tabs via settings parser as a preparation for full settings migration
- (tabs) Render tabs in top menu via parsed settings
⚙️ Miscellaneous Tasks
- (widget-plot) Add typing to widget configuration
[8.0.4] - 2025-09-05
🐛 Bug Fixes
- (widget-core) Make widget settings parsing more forgiving by introducing defaults
- (task) Add border to time tracking comment textarea
- (localization) Add missing cz localization
⚙️ Miscellaneous Tasks
- Upgrade vitest
- Disable coverage
- Upgrade vitest plugins and enable coverage
[8.0.3] - 2025-09-05
🐛 Bug Fixes
- (reports) Display available reports when loaded
[8.0.2] - 2025-09-04
🐛 Bug Fixes
- (reports) Ignore if new report service is not available and fallback to old one
[8.0.1] - 2025-09-04
🐛 Bug Fixes
- (reports) Ignore if new report service is not available and fallback to old one
[8.0.0] - 2025-09-04
🚀 Features
- (button) Disable link buttons that are active only on call when agent has no call, add icon indication, that button is call only
- (core) Add support for widget settings parsing to widget core
- (shared-editor) Migrate shared editor widget to modern settings manipulation core api
- (widget-core) [breaking] Remove support of configuring widgets via settings reducers
- (call-history) Display metadata by team configuration and allow filtering using various input elements in call history
- (stt) Allow manual transcription request
- (report) Add configurable columns when new api is used
- (call-detail) Add call tags to call detail
🐛 Bug Fixes
- (button) Update tests
- (widget-core) Fix widget registration scheme typing
- (link) Add title to phone icon at call only link
- Syntax error
- (sms) Fix czech language typo
- (settings) Fix czech language typo
- (widget-core) Fall back to default settings if settings does not exist yet
- (widget-core) Fall back to default settings if settings does not exist yet - fix not using stored settings at all
- (supervisor_view) Make minimum font size 1 to avoid table being empty
- (call-detail) Add cz localization
- (uphone) Respect ring and audio output volume settings
- (uphone) Enable autoanswer sound alert when using uphone
- (call-metadata) Select metadata from agent team instead of personal settings
🚜 Refactor
- (speed-dial) Replace widget settings reducer with settings change callback
- (shared-editor) Add typing to options transformer
- (shared-view) Migrate shared data view widget to modern settings manipulation core api
- (plot) Migrate plot widget to modern settings manipulation core api
- (outbound-queue) Migrate outbound queue widget to modern settings manipulation core api
- (note) Migrate note widget to modern settings manipulation core api and convert to TS FC
- (email) Migrate email widget to modern settings manipulation core api and convert to TS FC
- (calls-count) Migrate calls count widget to modern settings manipulation core api and convert to TS FC
- (calls) Migrate calls widget to modern settings manipulation core api and convert to TS FC
- (agent-status) Migrate agent status widget to modern settings manipulation core api and convert to TS FC
- (shared-data) Migrate shared data widget to modern settings manipulation core api and convert to TS FC
- (aux-status) Migrate agent statistics widget to modern settings manipulation core api and convert to TS FC
- (checklist) Migrate checklist widget to modern settings manipulation core api and convert to TS FC
- (queue status) Migrate queue status widget to modern settings manipulation core api and convert to TS FC
- (color-levels) Remove legacy unused color level computation function
- (queue) Migrate queue widget to modern settings manipulation core api and convert to TS FC
- (sms) Migrate sms widget to modern settings manipulation core api and convert to TS FC
- (button) Migrate button widget to modern settings manipulation core api and convert to TS FC
- (settings-modifier) Migrate settings modifier widget to modern settings manipulation core api and convert to TS FC
- (supervisor-view) Migrate supervisor view widget to modern settings manipulation core api and convert to TS FC
- (widget-core) Remove dead code
- (call-history) Remove dead code