Skip to content

Releases: ringcentral/ringcentral-js-widgets

v0.15.0

19 Jul 01:31
4af5260
Compare
Choose a tag to compare

What's Changed

@ringcentral-integration/commons

  • feat(AudioSettings): add VolumeInspector module for adjust audio volume automatically
  • feat(AccountContacts): add isCallQueueNumber data in account contacts
  • feat(MessageStore): implement InstantMessageEvent support to receive SMS faster
  • feat: add ExtensionNumberAreaCode module
  • misc: remove deprecating unload event
  • misc: refactor ConferenceCall module
  • fix(Auth): update error handling for OAU-141 and OAU-142
  • fix(AddressBook): try Full Sync when API request CMN-101 error
  • fix(DataFetcher): fix dataFetcher module sleep handler issue
  • fix(Webphone): duplicate web phone instance at no permission force reconnect
  • fix(Webphone): web phone may keep ringing issue
  • fix(Webphone): use mp3 instead of ogg for Safari ringtone

@ringcentral-integration/widgets

  • feat: support to show callerId from server side in call control and history page
  • feat: add AudioSettingsPanelV2 for call volume and ringtone setting
  • feat: support auto focus for recipient input
  • feat: add CountdownTimer component
  • misc: update i18n files
  • misc: add useSynchronizedAnimation react hook
  • chore: migrate classnames to clsx

@ringcentral-integration/i18n

  • refactor: add load instance logic into i18n instance to reduce file size

@ringcentral-integration/locale-loader

  • refactor: make i18n file size smaller again

@ringcentral-integration/utils

  • feat: add fileUrlToBase64 library
  • feat: add get image positionColor method

Other

  • add new package @ringcentral-integration/i18n-dayjs
  • add new package @ringcentral-integration/react-hooks
  • use @ringcentral/juno 2.42.0, @ringcentral/juno-icon 1.76.0,

v0.14.0

21 Jul 02:31
b76769a
Compare
Choose a tag to compare

What's Changed

New utils package

  • feat: new @ringcentral-integration/utils package for utils function

Core lib:

  • refactor: move utils to @ringcentral-integration/utils package

Commons lib:

  • feat: smart dial plan routing

  • feat: account access restriction

  • feat: warn transfer with ActiveCallControl module

  • enhancement(CallingSettings): emergencyCallAvailable default value based on web phone added

  • refactor(NumberValidate): refactor with number parser v2

  • fix(Meeting): get delegator extension info

  • fix(Webphone): web phone ringing audio lost control issue at poor network

  • fix(MessageStore): message sync token error handling issue with i18n

  • fix(DataFetcherV2): storage issue at multiple tabs

  • fix(AccountContacts): clear get presence context queue on module reset

  • refactor: remove permissionCheck flag in CallOptions and replace with BrandConfig.enableEDP

  • refactor: remove lib/removeUri.js

  • refactor: remove lib/DataMatcher V1

  • refactor: move lib/detectBrowser to utils package

  • refactor: rename lib/dataUrlToInline to decodeBase64DataUrl and move to utils package

  • refactor: replace lib/StorageBase with lib/StorageBaseV2, add disableClearUnused flag

  • refactor: update api of lib/concurrentExecute

  • refactor: move hasClickToCallPermission from helpers/permissionsHelper to modules/CallingSettings/hasClickToCallPermission

  • refactor: update and fix issue in WebSocketSubscription module

  • refactor(replace V1 module with V2):
    Auth, AvailabilityMonitor, AudioSettings, AddressBook, ActiveCalls, ActiveCallControl, AccountInfo, AccountContacts
    Call, ConversationLogger, CallerId, CallLogSection, CallLogger, CallLog, CallingSettings,
    CallMonitor, CallHistory, ConversationCall, ConnectivityMonitor, CompanyContacts, ComposeText,
    ContactMatcher, ContactSearch, Contacts, ConversationMatcher, Conversations, DataTimeFormat, DialingPlan,
    Environment, ErrorLogger, ExtensionDevice, ExtensionInfo, ExtensionPhoneNumber, Feedback, ForwardingNumber,
    GlobalStorage, GenericMeeting, GlipCompany, LoggerBase, LocaleSettings, Meeting, MessageStore, MessageSender,
    QuickAccess, Presence, RateLimiter, RecentCalls, Ringout, RcVideo, RecentMessages, SleepDetector,
    Storage, Subscription, Timezone, UserGuide, Webphone

  • chore: remove BlockedNumber module

  • chore: remove deprecated api in CallMonitor

  • chore: desensitize data for analytics module

  • chore: remove lib/EventTransport

  • chore: remove lib/autoBind

  • chore: remove lib/camelCase

Widgets lib:

  • feat(ConversationPage): auto detect link
  • feat: support EDP (7-8 extension number), smart dial plan
  • refactor: ConverationsPanel to functional component
  • refactor: new reply with message UI
  • refactor: use "usePresence" hook at contacts page
  • refactor: move CallCtrlContainer, HeadView into component
  • refactor: use format from utils package to replace formatMessage
  • refactor: CallMonitorBar to functional component
  • refactor: refactor ConferenceDialerPage
  • refactor: Environment component to functional component
  • refactor: refactor NavigationBar, DropdownNavigationView component
  • enhancement: disable call control button before call progress
  • enhancement: show Call ID name from server if no matches in contacts
  • fix: overflow issue at CallsListPanel
  • fix: re-render issue at CallCtrlPanel and IncomingCallPanel

Engage Voice Widgets:

  • fix: EvAgentSession action issue

Chore:

upgrade: @ringcentral/juno 2.35.2, juno-icon 1.43.0
upgrade: @rc-ex/core to 1.3.1. @rc-ex/ws to 1.0.10
upgrade: web phone sdk 0.8.10
upgrade: immer 9.0.12
upgrade: replace moment with dayjs
chore: update i18n strings
chore: use core-js v3
chore: add @ringcentral-integration/mock package for test mock
chore: add cruis packages for testing

Full Changelog: 0.13.4...0.14.0

v0.13.4

11 Nov 03:12
66c0c9f
Compare
Choose a tag to compare

What's Changed

  • fix: update cli template in #1717
  • fix: widget build issue with juno components in #1717

Full Changelog: 0.13.3...0.13.4

v0.13.3

03 Aug 09:22
63be5e3
Compare
Choose a tag to compare

Core lib:

fix: @computed issue about getting computed values in constructing
fix: support to disable Patches for immer

refactor(watcg): make it support watching multiple state
enhancement: require @State before @storage decorator

Commons lib:

feat(Theme): change default css variable to juno token
feat(UserGuideV2): support branding assets guide url with dynamics brands
feat: add lib/dataUrl for base64 data url generator

refactor: refactor brandConfig data structure (interface)
refactor(TS): refactor Contacts modules with TS
refactor(RegionSettings): replace RegionSettings with V2 and support dynamic brands
refactor(NumberValidate): replace NumberValidate with V2
refactor(Softphone): refactor softphone with new brandConfig data
refactor(Meeting): refactor Meeting and RcVideo module to support dynamic brands
refactor(RcVideoV2): parallel http request
refactor(fetchWithJsonp): enhancement of lib/fetchWithJsonp
refactor: refactor dynamicConfig in Brand module
refactor: lib/OAuthBase with RcModule V2, OAuthOptions not spread
refactor: refactor lib/normalizeNumber with ts
refactor: replace Alert with AlertV2, remove AlertV2

fix(ConversationsV2): autoLog flag not work
fix(Glip): support to disable Glip related modules with AppFeature module
fix(CallLog): slice call sequence issue
fix(CallHistoryV2): module ready issue after relogin
fix(Webphone): avoid memory leak issue at SIP.js
fix: duplicate initialize for Analytics module

chore: remove DynamicConfig module

chore: upgrade default recording link to v3.0 player
enhancement: change calling setting mode when no webrtc call permission

Widgets lib:

feat(AdapterCore): add default $header-logo-width default value
feat(ThemeContainer): support css modules variable outside react environments
feat(RcVideo): allow to edit jbh for E2EE
feat(VideoConfig): add instructions for rcv schedule for option
feat: not Emergency calling at Japan
feat(ThemeProvider): add prefixGlobalClass for ThemeProvider
feat: add ComposeTextPanelPanelV2 component
feat: add ContactSearchPanel and CommunicationSetupPanel component
feat: add DropdownPanel component
feat: add DialerPanel component
feat: add hits for ContactSearchPanel
feat: add subContactNameDisplay prop for CallLogPanel and CallsListPanel

refactor: refactor RegionSettingsUI, FlipUI, TransferUI, GenericMeetingUI and ConnectivityBadgeUI with RcUIModuleV2
refactor(LoginPage): refactor LoginPage and LoginUI module
refactor(TS): refactor LinkLine, DialerPanel, MessageTabButton, TabContentPanel and i18n file with TS
refactor(ModalV2): deprecate size prop and replace with maxWidth
refactor: refactor SettingsUI, Eula, SettingsPanel and ConferencePanel to support dynamic brands
refactor: use brand appName/shortAppName instead of productName/shortProductName
refactor: refactor ContactDropdownList component with TS
refactor: migrate all Juno scss to styled-components
refactor: rename ModalUIV2 into ModalUI
refactor: useSleep to replace sleep in NotificationPanel
refactor: remove DialerUI V1 and rename DialerUIV2 into DialerUI module
refactor: change i18n files from JS to TS
refactor: new UI of WebRTCNotificationSection component
refactor: remove all Conference invitation files

fix(style): remove $lightergray from style variable
fix(MessageItem): should show view details button when user hide the number
fix(PresenceDropdown): fix dnd status ui issue
fix(CallsListPanel): adjust calls list panel header height
fix: do not to show ext on call control page for multi sites accounts
fix(ComposeTextUI): fix duplicated send sms issue when api error

chore(lib/getBaseWebpackConfig): support assets copy
chore: remove unused lib/ThemeSwitcherProvider
chore: remove MeetingUI and VideoUI module

Engage Voice Widgets:

feat: emergency call not support warning
refactor: rename addListenerByOnce into addListenerOnce of lib/EvClient

fix(ActivityCallPanel): keypad and control button display
fix: transfer alert bug

Chore

refactor(I18n): [misc] Make locales fallback to languages before using default locale
chore: [misc] upgrate typesccript version to 4.4.3
refactor(test): refactor ringcentral-widgets-test with react-testing-library
chore: update @ringcentral/juno 1.12.5
upgrade: use ringcentral-call 0.2.14
upgrade: use webpack 5
upgrade: use ringcentral-web-phone 0.8.9

chore: fix tree shaking issue for Juno import
chore: move and format js file in commons and widgets lib into typescript
chore: replace node-sass with sass
chore: update i18n string

v0.13.2

15 Sep 03:54
e49580d
Compare
Choose a tag to compare

Core lib:

refactor(action): require mutation in @action

Commons lib:

feat(Brand): refactor BrandV2 module with new brandConfig, and replace Brand
feat(WebSocketSubscription): cache subscription info for reuse
feat(DynamicConfig): add DynamicConfig to load config from CDN
feat: implement CDC (hidden contact) support
feat(SipInstanceManager): add SipInstanceManager to reuse webphone sip instance id after refresh page
feat(webphone): remove "Web phone registered" alert
feat(TierChecker): add TierChecker to check if user have CRM permission
feat(AppFeatures): Migrate feature check functions from ExtensionFeatures to AppFeatures
feat(Brand): support theme config at BrandConfig
feat(Theme): add Theme module to manage theme

fix(SubscriptionV2): add lock for create subscription in multiple tab
fix(Webphone): clean audio in sdk audio helper with loadAudio at web phone removed for memory leak
fix(Subscription): check subscription if auto renewing after sleep detected
fix(validateIsOffline): add validateIsOffline condition to fix logout issue at poor network

refactor(Locale): refactor Locale and move LocaleV2 into Locale
refactor(TabManager): refactor TabManager and move TabManagerV2 into TabManager
refactor(ExtensionInfo): remove serviceFeatures property from ExtensionInfo
refactor(RolesAndPermissions): remove rolesAndPermissions module
refactor(Softphone): refactor Softphone and move Softphone into Locale

enhancement: add enableContactMatchWhenNewCall flag for CallHistoryV2, CallMonitorV2 and WebphoneV2

Widgets lib:

feat(DialerPage): support to disable Blocked From Number in DialPage
feat(RcVideo): add end to end encrypt setting
feat(HeaderView): add HeaderView container
feat(ThemeContainer): add ThemeContainer and ThemeUI to support theme dynamicly
feat(CallItem): hide contact button when matched contact is hidden

refactor(SettingsUI): refactor item flag options
refactor(VideoUI): refactor RCV related modules

fix(DialButton): Make the audio element a singleton and shared between DialButtons
refactor(style): refactor color variable

fix(MeetingCalendarHelper): wrong meeting id
fix(MessageItem): Missing action buttons for message
fix(MessageItem): fix Fax page number singular and plural

Engage Voice Widgets:

fix(EvIntegratedSoftphone): fix Firefox answer call issue

Chore

upgrade: use @ringcentral/juno 1.11.2
upgrade: typescript version to 4.3.5
update i18n strings

v0.13.1

30 Jun 03:22
5b58389
Compare
Choose a tag to compare

NPM Package rename: #1668

ringcentral-integration -> @ringcentral-integration/commons
ringcentral-widgets -> @ringcentral-integration/commons

Core

fix: @action method not trigger redux action when no state change

Commons

feat(CallingSettings): Rename calling with RingCentral option in other brands
refactor(Environment): Add SdkConfig into deps, set EnvironmentOptions dep not spread,
refactor(ActiveCallControl): refactor permission check in ActiveCallControl
refactor(Locale): remove spread at localeOptions dep
refactor(contactHelper): expose the raw Contact Id to the search phone number result
refactor(Prefix): add Prefix as deps to replace ModuleOptions in RcModule
fix(TabManger): fix TabManger set main tab id when init app in hidden tab
enhance(ExtensionFeatures): add hasMeetingsPermission property

Widgets

feat(CallLogPanel): support to show custom object type icon in call log page

RcModuleV2 Refactor:

  • refactor: ConnectivityManager with RcModuleV2
  • refactor: Brand V2 with RcModuleV2, replace BrandConfig with BrandOptions
  • refactor: CallLogCallCtrlContainer with RcModuleV2
  • refactor: CallingSettingsUI with RcUIModuleV2
  • chore: use Juno version 1.8.5-beta.5034-128a9f16

Engage Voice widgets

fix(Dialer): fix dialer panel minimize in firefox

Chore

update i18n strings

v0.13.0

16 Jun 05:53
1ba8e0e
Compare
Choose a tag to compare

Core lib:

chore: add log info for action decorator
refactor: refactor RcModule with immer 9.0
feat: add enableES5 to support IE
feat: implement multi-watch in core
fix(createStore): support custom reducers

Commons lib:

feat: add ExtensionFeatures to replace RolesAndPermissions
feat(Contacts): support contact hidden
feat(CallingSettings): support att call with jupiter in v1
feat: add rawContacts for contact source
feat: implement lib/rateLimitThrottle
feat: support api discovery in widgets

fix(ActiveCallControlV2): active call control call status issue
fix: dataMatcherOptions issue for DataMatcherV2
fix: proxy reducer issue, add storageWritable for StorageV2
fix: update lib/validateIsOffline.js for IE
fix: wrong sleep detect in inactive tab
fix(RateLimiter): rate limit warning will remain after the duration is over
fix(ComposeText): fix sms MessageSending popup trigger time issue
fix(Auth): fix discovery api brandId param and auth login issue
fix(ConnectivityManager): error when the optional module of CallingSettings is referenced when it is null
fix(ChromeTransport): chrome.tabs.onActivated issue in chrome v91
fix(TabManagerV2): fix event state issue

improvement(Locale): add normalizeLocale

refactor: remove lib/debounce-throttle decorator
refactor(Meeting): refactor meeting module about enforce password related
refactor(contactHelper): remove normalizeNumber in getMatchContactsByPhoneNumber helper
refactor(SoftphoneV2): support get call Uri with Jupiter Universal link for other conditions
refactor(CallHistoryV2): make CallMonitor dep optional in the CallHistoryV2 module

chore(WebSocketExtension): ignore recovering websocket connection when it's connecting already

upgrade: @ringcentral/sdk 4.5.0
upgrade: web phone sdk 0.8.6
upgrade: ringcentral-call 0.2.13 to support warm transfer call session

Widgets lib:

refactor: refactor ConferenceParticipantPage with ConferenceParticipantUI
refactor: refactor DialerAndCallsTabContainer with DialerAndCallsTabUI
refactor: refactor CallsOnholdPage with CallsOnholdUI
refactor: refactor RecentActivityContainer with RecentActivityUI
refactor: refactor ActiveCallsUI with RcUIModuleV2
refactor: rename IncomingCallPage into IncomingCallContainer, add IncomingCallUI
refactor: rename SimpleActiveCallCtrlPage into SimpleCallControlPage, add SimpleCallControlUI
refactor: refactor ConversationsPage with ConversationsUI
refactor: refactor ConversationPage with ConversationUI
refactor: refacor CallHistoryUI module
refactor(ComposeTextUI): refactor ComposeTextUI with RcUIModuleV2
refactor(CallBadgeUI): refactor CallBadgeUI with RcUIModuleV2
refactor: refactor and rename CallCtrlUI into CallControlUI
refactor: change contact prop to getContact in RecentActivityContainer

clean: remove CallMonitorUI module, SmCallCtrlContainer
fix(MeetingConfig): fix password clear icon style error in some devices
improvement(Dialer): support making call by pressing enter key
improvement: allow user to select output device if setsinkid enable at firefox
improvement: update meeting invitation string template
improvement: add showRcvAdminLock toggle for RCV meeting
improvement: update ModalV2 component with RcPopupBox
improvement: update DNC style

upgrade: use juno 1.8.3-beta.4905-adf6ee90 and update theme.json
style: update rcBlue color
feat: add recurringMeetingPosition flag for GenericMeetingPage
fix(AdapterCore): add autoplay at iframe
fix(SwitchCall): fix switch call modal error
chore: replace font icon to svg, remove rcfont

Enage Voice Widgets lib:

feat: show queue name when incoming call in webrtc
feat: implement call recording control feature
feat(CallHistory): imperative create than submit in call history call log
feat(CallHistory): sync call log status in multi tabs
feat(CallHistory): add call back button

refactor: update DialerPanel
refactor: use new juno PopupBox API
refactor(EvAgentSessionUI): remove othersTabConfigureAgent for session config page
improvement(EvAgentSession): when tabs config but some tabs fail, those tabs just could do other tab config

fix: off hook incoming modal
fix: data wrong when outbound and offhooking
fix(EvAgentSession): force login expire
fix: call hangup issue
fix: recording undefined issue
fix(EvStorage): TabManager and ev storage issues
fix(EvAuth): agent id clean late sometimes
fix(EvAgentSession): set callsLimited to false when user log out
fix(EvTransferCall): fix transfer PhoneBook search bug
fix(CallHistory): fix wrong history order bug
fix(CallHistory): redirect to right url after disposition

Others:

update: i18n strings
upgrade: typescript to 4.2.3
chore(deps): upgrade security issue deps
update(Juno): update juno version 1.8.3-beta.4905-adf6ee90

v0.12.6

02 Mar 08:54
8eac472
Compare
Choose a tag to compare

Core lib:

fix: remove proxyState decorator

Commons lib:

fix(Webphone): audio issue when forward with a ongoing call
fix(Auth,AuthV2): remove alerts that currently are not meant to be shown to users
fix(contactHelper): incorrect contact name undefined on hitting contact
fix(BeforeUnload): fix originWindow typo issue
fix(Webphone): fix bug that after a webrtc call, output device cannot be changed
fix(CallV2): add international call permission prompt for ringout call
fix(RecentMessages): fix update issue from MessageStore
fix(ActiveCallControlV2): fix switch no RC call outbound call no sound issue
fix(AddressBookV2): Fix ISync data processing issue

enhancement(WebSocketSubscription): ignore creating subscription when web socket is not ready
enhancement(ActiveCallsPanel): add showMultipleMatch flag

feat: add lib/dataTransport
feat: implement ConferenceCallV2, MessageStoreV2, AnalyticsV2, ConversationLoggerV2, RecentMessagesV2

Widgets lib:

feat: support warm transfer on web phone call
feat(Spinner): update spinner component based on juno component
feat(ConversationPanel): support restrictSendMessage prop
feat(CallHistoryPanel): add isWide prop
feat(ModalUIV2): enhance ModalUI to automatically handle loading state
fix(MeetingConfigV2): fix RcSelect style error
fix(DialPanel): mouse pointer in 'To' field jumps issue

Engage Voice Widgets lib:

feat: add CallHistoryCallLogPanel
feat: add Action Menu into CallHistoryPanel
feat: implement EvStorage module to instead ringcentral-integration/modules/Storage
feat: Update EV SDK 3.6.1
feat(EvCallMonitor): add recordingUrl in Call Data
enhancement: rename enum authStatus into loginStatus
enhancement(ChooseAccountPanel): update choose account list style
fix(EvCall): reset outbound dial setting from ev newest setting data when reload
fix(EvAgentSession): fix external phone number change when update session
fix(EvAuth): fix multiple-tab login
fix(EvAuth): auth/login emitter after storage changed
fix(EvAgentSession,EvAuth): fix auth and login loading
fix(EvIntegratedSoftphone): fix anwser call in all tabs

Others:

Upgrade: use @ringcentral/juno 1.4.1
I18n: implement basic implementation for setLanguageDefaults

v0.12.5

18 Jan 12:01
504e0c9
Compare
Choose a tag to compare

chore: fix release build issue

Commons lib:

  • fix(RcVideo): fix create meeting issue

v0.12.4

18 Jan 07:22
620cfab
Compare
Choose a tag to compare

Commons lib:

feat: add auto switch call feature in ActiveCallControlV2
feat(Meeting): Support Localization for RC Meeting Get Invitation API
feat: add RingCentralExtensions module to manage @rc-ex/* lib instance
enhancement: consistent contact search rules between ToField and ContactList
enhancement(BrandV2): update brand prefix
fix: logout issue in V2 module (AccountInfoV2, RolesAndPermissionsV2)
fix(Meeting): loading issue when person meeting api occur backend error
fix: lib/raceTimeout issue
fix(Auth): remove brand from Auth deps
fix(WebSocketSubscription): follow the new version constructor of RcSdkExtension
fix(Auth): locale parameter issue on login url
fix(AvailabilityMonitor): fix HA issue about restapi status request

Refactor modules with RcModuleV2:

feat: implement RCVideoV2, MeetingV2, GenericMeetingV2
feat: implement ErrorLoggerV2, QuickAccessV2, CallMonitorV2,ConnectivityMonitorV2
feat: implement DataMatcherV2, ContactSearchV2, ContactsV2, TimezoneV2, RateLimiterV2
feat: implement AvailabilityMonitorV2, UserGuideV2, RecentCallsV2, CallHistoryV2, CallLogV2
feat: refactor and implement ContactsV2

Widgets lib:

feat(RCVideo): support waiting meeting room in RCVideo
feat: add RecordingIndicator component
feat: add CallWitch confirm modal
feat: add DoNoCall In ContactDropdownList component
feat: add ModalUIV2 to instead Modal and ModalUI lib
feat: [Theme] implement lib/ThemeSwitcherProvider for switch Juno theme

enhance: update meeting page UI
enhance: disable caller id selection when no permission
enhance: add ContactListUI module
enhancement(AllCallsPage): update UI and add showTransferCall and showHoldOnOtherDevice flag
enhancement(ConversationPanel): add onAttachmentDownload hook
enhancement(BeforeUnload): support to set origin window

fix: fax and attachment download link with contentDisposition
fix: add 'allow-downloads' for chrome sandbox iframe in AdapterCore
fix: disable switch button if call is ringing

Engage Voice widgets lib

feat(BasicSessionPanel): add showInboundQueues flag
feat(EvAgentSessionUI): allow to disable SkillProfile
feat: config permission enhancement
feat(AgentScript): save script issue with encodeUii
feat: adjust sub-account ui
feat: add agent types support
feat: implement choose account

fix(EvAgentScript): save agent script result logic
fix(EvAgentSession): fix allow inbound permission
fix(EvAgentSession): selectedSkillProfileId default NONE
fix: woking state reset by new tab
fix: fix page blink issue if there is a disposition when jump into /dialer page
fix: fix token expire when open socket

Others:

chore: use @ringcentral/juno 1.3.2-beta.3102-608720c9
i18n: update i18n strings
chore: upgrade @rc-ex/core lib
feat(locale-loader): make generateLocaleContent respect locale order in supportedLocales