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