Přeskočit na hlavní obsah

v7

UCS Operator - changelog

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

[7.1.1] - 2025-04-25

🐛 Bug Fixes

  • (froala) Renew license key
  • Fix typo in czech translations
  • (reports) Set report timeout to 10 minutes

[7.1.0] - 2025-04-14

🚀 Features

  • (websocket) Send identification in websocket request
  • (main-app-sync) Synchronize with ucs-api to determine which operator instance is the main and should run softphone

🐛 Bug Fixes

  • (osl-integration) Synthetize onConnect event right after app is started to maintain previous version event order and mark it as deprecated.
  • (config) Set default notifyWaitingCallers to true to notify agents about calls in queue
  • (localization) Default to device language before fallback to english
  • (build) Remove default configuration

🚜 Refactor

  • Wrap function body to curly brackets

⚙️ Miscellaneous Tasks

  • Enable source maps in dev and test environments

[7.0.1] - 2025-04-02

📚 Documentation

  • Fix changelog

[7.0.0] - 2025-04-02

🚀 Features

  • Create simple temporary i18n provider that respects browser language because user is not known yet
  • (login) Configure credentials autocomplete
  • (autologin) Re-implement with new auth service
  • (email) Load emails with auth cookie instead of SID
  • (report) Download report via client instance with relogin mechanism to avoid ping roundtrip
  • (login) Reimplement sso and login FE-API methods to be compatible with new auth
  • (login) Remove username and password cookie storing
  • (login) Provide ssoTokenProvider to application context
  • (logging) Identify application instance using slice of uuid instead of sid
  • (login) Parse whoami response to make sure that result was okish
  • (login) Experimentally display user displayname in topmenu from session context instead of global store
  • (websocket) Add websocket state icon to bottom menu indicating whether it's on or off
  • (api) Migrate to new UCS-API with method in path
  • (impersonate) Re-implement impersonation compatible with new auth service which enabled stoping impersonation and going back to original user
  • (impersonate) Re-impersonate user when his impersonation ticket has expired
  • (dialog-modal) Add configuration props allowing transparency,fullscreen and custom style
  • (uAuth) Integrate uAuth iframe login
  • Let user to generate strong passwowrd while adding new user
  • Add intensive wake up throttling detector which informs user
  • Add intensive wake up throttling detector which informs user
  • (auth) [breaking] Integrate uauth

🐛 Bug Fixes

  • (localization) Add missing czech translations
  • (login) Correctly handle login errors and display useful information about the error to an user
  • (login) Put login form to elementRoot to apply color palette
  • (login) Integrate operator with auth service logout
  • (logout) Ignore error if it's expected 401 response meaning that the token is not valid
  • (http) Handle ucs in-body errors
  • Handle no-creds exception from autologin as expected and fallback to login
  • (login) Prevent closing login dialog using escape
  • (logging) Inject username to logger
  • (login) Call onLoginError instead of onCredentials when login error ocures
  • (headless-mode) Render headless mode to not attached element to make sure that whole app actually works
  • (impersonation) Reuse custom api instance when replaying request after relogin to use defined hooks even in replayed request
  • (uAuth) Do not add sid when requesting recording
  • (uAuth) Add trailing slash to login form uri
  • (url) Add trailing slash to impersonate endpoint
  • (dialog) Remove padding
  • (url) Add trailing slash to logout endpoint
  • (url) Adjust api urls to reflect api restructualization
  • (localization) Update locales
  • (typing) Replace any with unknown
  • Theme change button won't rotate randomly

🚜 Refactor

  • Remove unnecessary type parameter
  • Remove code replaced with new auth from connector
  • Inline relative template and email upload urls to make it api independent
  • Instantiate API in SessionManager and pass it to app via context to pass logout and relogin callbacks via constructor instead of reassigning its methods
  • Remove no longer needed app state actions (were replaced by SessionManager)
  • Move websocket open/close event handlers directly to connector constructor and remove websocket connection states
  • (app-state) Remove user state
  • Remove url adjusting when calling public methods as traefik takes care about it now
  • Remove unused import of ApiContext
  • (auth) Remove MessageChannel for communication with login iframe to simplify code and make the communication more stable using postMessage

⚡ Performance

  • (impersonation) Re-impersonate forbidden request only once

⚙️ Miscellaneous Tasks

  • Ucs-operator-deploy uses /usr/share/ucs-operator/operator.tar.gz by default
  • Move SessionManager to auth package
  • Remove report, template and email url building
  • Add cursor rules
  • Fix typo in cursor rules

WIP

  • Redesign app state model to better bound error with error state
    • the problem with this approach is that when app state is not changed via CHANGE_APP_STATE, stateHooks.saga.ts won't catch them and inform 3rd party about app state change
  • Implement live relogin with failed request replay
  • Integrate auth-server: comment unused connector functions