Skip to content

Releases: Rainbow-CPaaS/Rainbow-Node-SDK

Rainbow Node SDK ChangeLog : 2.25 - News : 2.25.0 - 2023-09-13

13 Sep 13:47
Compare
Choose a tag to compare

Rainbow Node SDK ChangeLog : 2.25 - News


[2.25.0] - 2023-09-11

Removed

  • None

Fixed

  • Fix AdminService::sendCustomerCareReport to send 'ccareclientlogs' header to uploadFileToStorage method and to use the initiateLogsContext instead of completeLogsContext
  • Downgrade to mime lib 1.6.0 version.

Added

  • Add option options.im.autoLoadConversationHistory to activate the retrieve of conversation's messages from the server. The default value is false.
  • Add customDatas parameter a JSON object with custom datas merged to the payload send to server for the ChannelService::publishMessageToChannel . (and createItem also). And also take these custom data into account is the events received.

Changed

  • Update sendCustomerCareReport to send "feedback" as default type.

### SDK for Node.JS 2.21.0-lts.0 - LTS Version - April 2023

14 Apr 15:28
Compare
Choose a tag to compare

3-Release SDK Breaking Changes

  • Warning: The LTS active version of Node.js migrated to version 14.x. This version of SDK Node.js is only compliant with this LTS version up to 14.x.
    Consequently, you need to update your Node.js version to 14.x in order to use this release of the SDK Node.js.

API Breaking Changes

  • Remove PresenceService::enableCalendar and PresenceService::disableCalendar because the API is not available on server side anymore.

API Changes

  • Update ConversationsService::sendConversationByEmail with parameters to send it to custom email, and set the language.
  • Update ConversationsService::ackAllMessages with parameter maskRead if true Im won't be shown as read on peer conversation side.
  • Update the ConversationsService::getContactsMessagesFromConversationId method to retrieve history from server if not yet loaded.
  • Update FavoritesService::fetchAllFavorites with peerId parameter.
  • Update InvitationsService::sendInvitationsByBulk API with lang and comment parameters.
  • Update InvitationsService::reSendInvitation API with customMessage parameters.
  • Update to set useMessageEditionAndDeletionV2 to true by default.
  • Fix RESTService::renameTagForAllAssignedDirectoryEntries parameters.
  • Fix searchUserByPhonenumber parameter type.
  • Fix BubblesService::snapshotConference return.
  • Update the BubblesService::getBubbleById with few parameters.
  • Update the BubblesService::getBubbleByJid with few parameters.

Others Changes

  • Fix startup when use startWSOnly() : to force set useRestAtStartup=false, and to use it for the load of getRosters.
  • Add AdminService::getRainbowSupportBotService AdminService::getABotServiceData AdminService::getAllBotServices to retrieve informations of bot services.
  • Fix AdminService::retrieveRainbowEntriesList
  • Add AdminService::createCompanyFromDefault This API API allows to create a company for a user belonging to the 'Default' company is able to create his own company.
  • Add AdminService::getAllCompaniesVisibleByUser This API allows users to get all companies.
  • Add AdminService::getCompanyAdministrators This API allows users to list users being administrator of a company.
  • Fix BubblesService::disconnectParticipantFromConference
  • Add methods about Contacts Sources in ContactsService.
  • Add methods about Contacts API from Enduser portal in ContactsService.
  • Add ConversationsService::getTheNumberOfHitsOfASubstringInAllUsersconversations This API can be used to search a text substring in all conversations for a given user from recent to old messages.
  • Update low layer RESTService::getServerConversations method's parameters.
  • Add ConversationsService::updateConversationBookmark API can be used to set or replace a bookmarked message in a conversation.
  • Add ConversationsService::loadConversationHistory API to retrieve the remote history of a specific conversation.
  • Fix BubblesService::getBubbles when users property is empty in bubble.
  • Add ConversationsService::showAllMatchingMessagesForAPeer API. It can be used to return all matching messages for one specific peer.
  • Fix AdminService::retrieveLdapConnectorAllConfigTemplates (the last "s" was missing in doc).
  • Add ConversationsService::deleteConversationBookmark API. It can be used to set or replace a bookmarked message in a conversation.
  • Add AdminService::getListOfCountries API. It allows to retrieve the list of countries supported by Rainbow Server.
  • Add BubblesSerice::disableDialInForARoom This API allows to disable dial in for a room.
  • Add BubblesSerice::enableDialInForARoom This API allows to enable dial in for a room.
  • Add BubblesSerice::resetDialInCodeForARoom This API allows to reset dial in code for a room.
  • Add BubblesSerice::getDialInPhoneNumbersList API that allows to retrieve the list of phone numbers to join conference by Dial In.
  • Add FavoritesService::checkIsPeerSettedAsFavorite API that can be used to check if a given peerId is in user's favorites.
  • Add FavoritesService::getFavoriteById API that can be used to retrieve a specific user's favorite by Id.
  • Add FavoritesService::getAllUserFavoriteList API that can be used to retrieve the list of user's favorites.
  • Add FavoritesService::moveFavoriteToPosition API that can be used to update a favorite's position in favorite list.
  • Add GroupsService::updateGroupComment to Update the comment of a group.
  • Add ImsService::retrieveXMPPMessagesByListOfMessageIds This API allows user to retrieve it's ims by list of message Ids, peer and peer type.
  • Add InvitationsService::deleteAUserInvitation API can be used to delete an invitation sent to/received from another Rainbow user.
  • Add deleted and modified property in messages retrieved with history.
  • Fix attention when user's jid_im is in mention array of an history message.
  • Fix completion of Conversation.messages array with history's messages.
  • Add AdminService::acceptJoinCompanyInvitation API. It allows to accept a join company invitation received by the user (invitation sent by admin ).
  • Add AdminService::declineJoinCompanyInvitation API. It allows to decline a join company invitation received by the user (invitation sent by admin ).
  • Add AdminService::getJoinCompanyInvitation API. It allows to get a join company invitation received by the user using its invitationId (invitation sent by admin ).
  • Add AdminService::getAllJoinCompanyInvitations API. It allows to list all join company invitations received by the user (invitation sent by admin ).
  • Update AdminService::createUserInCompany to use low layer updated.
  • Add AdminService::createUser to Create a new user in providen company, else in Rainbow default companie.
  • Add event rainbow_onjoincompanyinvitereceived fired in case a of rainbow join company invite event.
  • Add AdminService::cancelJoinCompanyRequest This API can be used by logged in user to cancel a request to join a company he sent.
  • Add AdminService::getJoinCompanyRequest This API allows to get a join company request sent by the user.
  • Add AdminService::getAllJoinCompanyRequests This API allows to list all join company requests sent by the user.
  • Add AdminService::resendJoinCompanyRequest This API can be used by logged in user to re-send a request to join a company.
  • Add AdminService::requestToJoinCompany This API allows logged in user to send a request to join a company.
  • Add event rainbow_onjoincompanyrequestreceived fired in case a of rainbow join company request event.
  • Add AdminService::createAJoinCompanyLink This API can be used by company admin users to create a join company link for his company.
  • Add AdminService::deleteAJoinCompanyLink This API can be used by company admin users to delete a join company link by id.
  • Add AdminService::getAJoinCompanyLink This API can be used by company admin users to get a join company link by id.
  • Add AdminService::getAllJoinCompanyLinks This API can be used by company admin users to list existing join company links for his company.
  • Add AdminService::updateAJoinCompanyLink This API can be used by company admin users to update a join company link for his company.
  • Fix to send "close" stanza back to server when a "close" is received. It allows the reconnection without the "Replaced by new connection" error.
  • Fix evt_internal_signinrequired callback to restart the SDK before the signin.
  • Fix rainbow_xmppreconnected to stop the SDK before switching to FAILED state.
  • Add PresenceService::setApplyMsTeamsPresenceSettings This api allows to activate the exchange of presence of the connected user between rainbow and MS Teams on UI side.
  • Add treatment of presence received from ms-teams. Note that only "online" and "do not disturb" teams presences are relayed by rainbow.
  • Add API MSTeams presence in PresenceService.
  • Add rainbow_onbubblecontactinvitationreceived event fired when an invitation to join a bubble is received for a contact.
  • Add use applyMsTeamsPresence in calculated presence.
  • Fix treatment of XMPP error with conditions : policy-violation, resource-constraint .
  • Fix BubblesService::startRecording.
  • Fix xmpp stanza for deleted or modified messages.
  • Add AdminService::getASystemPhoneNumber AdminService::getAllSystemPhoneNumbers AdminService::updateASystemPhoneNumber API to get/update phones numbers for a given system (pbx).
  • Fix alternativeContent in message for sendCorrectedChatMessage in bubble.
  • Add BubblesService::deleteAllMessagesInBubble API to delete all messages in a Bubble for everybody or hide it definitively for a specific contact. Please be carefull with it.
  • Add methods to retrieve/update phone number in systems : AdminService::getASystemPhoneNumber, AdminService::getAllSystemPhoneNumbers, AdminService::updateASystemPhoneNumber.
  • Add methods to manage Systems in Rainbow AdminService::createSystem, AdminService::deleteSystem, AdminService::getSystemConnectionState, AdminService::getSystemDataByPbxId, AdminService::getSystemData, AdminService::getAllSystems, AdminService::getListOfCountriesAllowedForSystems, AdminService::updateSystem.
  • Add pcg2 presence (Rainbow HUB - Sipwize)
  • Add RBVoiceEventHandler to manage Rainbow Voice Events received from server.
  • Add rainbow_onrbvoicerawevent event fired in case a of rainbow voice event.
  • Add services parameter of BubblesService::startConferenceOrWebinarInARoom Requested service types.
  • Fix of events of modified/deleted messages.
  • Add rainbow_onbubbleconferencedelegatereceived event fired when an event conference delegate in a bubble is received.
  • Add `BubblesS...
Read more

### SDK for Node.JS 2.9.0 - STS Version - LTS BETA - March 2022

29 Mar 09:04
Compare
Choose a tag to compare

3-Release SDK Breaking Changes

  • Warning: The LTS active version of Node.js migrated to version 14.x. This version of SDK Node.js is only compliant with this LTS version up to 14.x.
    Consequently, you need to update your Node.js version to 14.x in order to use this release of the SDK Node.js.

API Breaking Changes

  • None

API Changes

  • Rename InvitationsService::sendInvitationsParBulk to InvitationsService::sendInvitationsByBulk

Others Changes

  • Add ImsService::sendMessageToJidAcknowledged method to Send an Acknowledged reply to an urgent message (one to one, or bubble)
  • Add ImsService::sendMessageToJidIgnored method to Send an Ignored reply to an urgent message (one to one, or bubble)
  • Add ContactsService::searchInAlldirectories This API allows to search for resources matching given keywords.
  • Add ContactsService::searchInPhonebook This API allows to search for resources matching given keywords.The search is done on name and phone number.
  • Add ContactsService::searchUserByPhonenumber This API allows to search user being associated to the requested number.
  • Add ContactsService::searchUsers This API allows to search users.
  • Add AdminService::deleteLdapConnectorConfig This API can be used to delete a ldap connector config.
  • Add ContactsService::createPersonalDirectoryEntry This API allows connected user to Create a personal directory entry.
  • Add ContactsService::getListPersonalDirectoryEntriesData This API allows connected users to get an entry of his personal directory.
  • Add ContactsService::updatePersonalDirectoryEntry This API allows the connected user to update an entry of his personnal directory.
  • Add ContactsService::deletePersonalDirectoryEntry This API allows connected user to delete an entry from his personal directory.
  • Fix logs when a restart of the SDK is done.
  • Fix default typescript export.
  • Fix documentation of InvitationsService::sendInvitationsByBulk and InvitationsService::sendInvitationByEmail
  • Add InvitationsService::sendInvitationByCriteria This API allows logged in user to invite another user by criteria.
  • Add InvitationsService::searchInvitationsReceivedFromServer This API is to retrieve the invites received from others Rainbow users from server.
  • Add InvitationsService::searchInvitationsSentFromServer This API is to retrieve the invites sent to others Rainbow users from server.
  • Add ContactsService::getCompanyInfos This API allows user to get a company data.
  • Add an automatic start of monitoring on server when the company of the connected user has the isMonitorable property setted to true.

### SDK for Node.JS 2.8.0 - STS Version - LTS BETA - january 2022

28 Jan 08:24
Compare
Choose a tag to compare

3-Release SDK Breaking Changes

  • Warning: The LTS active version of Node.js migrated to version 14.x. This version of SDK Node.js is only compliant with this LTS version up to 14.x.
    Consequently, you need to update your Node.js version to 14.x in order to use this release of the SDK Node.js.

API Breaking Changes

  • None

API Changes

  • None

Others Changes

  • Fix documentation about line feed in HTML.
  • Replace sendInitialBubblePresence with sendInitialBubblePresenceSync method to take in to account the event received from server about the presence in the bubble.
  • Fix missing mime.lookup with mime lib version > 1.5.0 .
  • Fix delete / leave bubbles methods in BubblesService when the bubble has the property isActive egal to false.
  • Add a enablesendurgentpushmessages property in the options provided to the initialisation of the SDK. This property permit to add tag to allows the server sending this messge in push with a small ttl (meaning urgent for apple/google backend) and retry sending it 10 times to increase probability that it is received by mobile device.
  • Add generation of search index in Jenkinsfile-sts.groovy file.
  • Add removeMacEOL job in Jenkinsfile-sts.groovy file to remove from generated jsdoc the Mac (\r) end of line character which forbid the use of markdown table in comments.
  • Add generatemermaid job in Jenkinsfile-sts.groovy file to generate mermaid diagram from mmd files (to be used in SDK documentation).
  • Fix Conversation::getlastEditableMsg() method to return the editable only from sent messages.
  • Complete and set public the BubblesService::askConferenceSnapshot method to returns global information about conference.

### SDK for Node.JS 2.5.0 - STS Version - October 2021

04 Oct 08:08
Compare
Choose a tag to compare

3-Release SDK Breaking Changes

  • Warning: Starting 2019, the LTS active version of Node.js migrated to version 12.x. This version of SDK Node.js is only compliant with this LTS version up to 10.x.
    Consequently, you need to update your Node.js version to 10.x in order to use this release of the SDK Node.js.

API Breaking Changes

  • None

API Changes

  • Update BubblesService::retrieveAllBubblesByTags with format and nbUsersToKeep parameters to define the retrieve more or less room details in response.

Others Changes

  • Fix import of strip-ansi which is now a node module and not a commonjs anymore.
  • Fix BubblesService::retrieveAllBubblesByTags when multiple tags are passed in parameter.
  • Add Management of "Client Version" : AdminService::createAClientVersion AdminService::deleteAClientVersion AdminService::getAClientVersionData AdminService::getAllClientsVersions AdminService::updateAClientVersion. These api are used to manage the minimal required version for a given client application (by AppID).
  • Add methods in RESTService to deal with Rainbow Voice system (not yet available on API).
  • Add property in options passed to SDK : {boolean} options.im.copyMessage to manage if the Messages hint should not be copied to others resources (https://xmpp.org/extensions/xep-0334.html#no-copy) . The default value is true.
  • Add property in options passed to SDK : {boolean} options.im.enableCarbon to manage carbon copy of message (https://xmpp.org/extensions/xep-0280.html). The default value is true.
  • Add "x-rainbow-client" "x-rainbow-client-version" properties in Headers of every requests to make stats.
  • Fix AdminService::getCSVTemplate method.

### SDK for Node.JS 2.4.0 - STS Version - September 2021

15 Sep 16:58
Compare
Choose a tag to compare

3-Release SDK Breaking Changes

  • Warning: Starting 2019, the LTS active version of Node.js migrated to version 12.x. This version of SDK Node.js is only compliant with this LTS version up to 10.x.
    Consequently, you need to update your Node.js version to 10.x in order to use this release of the SDK Node.js.

API Breaking Changes

  • Fix typo in methods AdminService::retrieveAllSubscribtionsOfCompanyById to AdminService::retrieveAllSubscriptionsOfCompanyById and AdminService::getSubscribtionsOfCompanyByOfferId to AdminService::getSubscriptionsOfCompanyByOfferId

API Changes

  • Update ContactsService::getContactByLoginEmail method with a new parameter forceServerSearch boolean to force the search of the _contacts informations on the server.
  • Update ImsService::sendMessageToConversation with a new 'content' parameter to update message with a typed message.

Others Changes

  • Update typescript lib es2017 to es2019
  • Fix ConversationsService::_onReceipt callback to not failed even if the conversation is empty.
  • Fix pendingMessages treatment between Array and Object methods mixed in ConversationsService.
  • Add method API AlertsService::getAlertFeedbackSentForANotificationMessage. This API allows to list the feedback sent by the devices for a given notification message (identified by its notification history's id).
  • Add method API AlertsService::getAlertFeedbackSentForAnAlert. This API allows to list the feedback sent by the devices for a given notification.
  • Add method API AlertsService::getAlertStatsFeedbackSentForANotificationMessage. This API can be used to list all distinct feedback data submitted by the devices for a given notification message (identified by its notification history's id), with the number of devices for each distinct submitted feedback data.
  • Add method API AlertsService::getReportComplete. Allows to get the fileDescriptor storing the detailed CSV report of the notification.
  • Add method API AlertsService::getAlertFeedbackSentForANotificationMessage.
  • Add support of oauth tokens provided by application at start of the SDK and also the api to set the renewed token setRenewedToken. There is a sample using the oauth and sdk at https://github.com/Rainbow-CPaaS/passport-rainbow-oauth2-with-rainbow-node-sdk-example
  • Fix alternativeContent in Message object constructor.
  • Fix emails property in Contact object.
  • Add in Contact object properties isActive, accountType, systemId, isInitialized, initializationDate, createdBySelfRegister, createdByAppId, firstLoginDate, lastLoginDate, loggedSince, failedLoginAttempts, lastLoginFailureDate, lastExpiredTokenRenewedDate, lastPasswordUpdateDate, timeToLive, timeToLiveDate, terminatedDate, fileSharingCustomisation, userTitleNameCustomisation, softphoneOnlyCustomisation, useRoomCustomisation, phoneMeetingCustomisation, useChannelCustomisation, useScreenSharingCustomisation, useWebRTCAudioCustomisation, useWebRTCVideoCustomisation, instantMessagesCustomisation, userProfileCustomisation, fileStorageCustomisation, overridePresenceCustomisation, changeTelephonyCustomisation, changeSettingsCustomisation, recordingConversationCustomisation, useGifCustomisation, useDialOutCustomisation, fileCopyCustomisation, fileTransferCustomisation, forbidFileOwnerChangeCustomisation, readReceiptsCustomisation, useSpeakingTimeStatistics, selectedAppCustomisationTemplate, alertNotificationReception, selectedDeviceFirmware, visibility, jid_password, creationDate, profiles, activationDate, lastOfflineMailReceivedDate, state, authenticationType, department, isADSearchAvailable, isTv, calendars, openInvites.
  • Add support of Oauth token provided at start of the SDK. In this use case application MUST implement the refresh token and send it back to SDK with setRenewedToken API, while following event are raised :
    * Events rainbow_onusertokenrenewfailed : fired when an oauth token is expired.
    * Events rainbow_onusertokenwillexpire : fired when the duration of the current user token reaches half of the maximum time.
  • Remove the "Authorization" property from http headers when openning the XMPP socket.
  • Add ContactsService::getMyInformations API to Get informations about the connected user.
  • Update stop of logger to stop winston library.
  • Fix the XMPPService (handleXMPPConnection) when ERROR_EVENT happenned to stop the ping timer only when the error is a fatal one.
  • Change to keep DEBUG with "logs.system-dev.*" in STS delivery. Do not forget that when properties of this section are setted then personnal datas are displayed in logs, so it is not RGPD compatible.is Do not activate it in production systems.

### SDK for Node.JS 2.0.0 - April 2021

23 Apr 09:34
Compare
Choose a tag to compare

3-Release SDK Breaking Changes

  • Warning: Starting 2019, the LTS active version of Node.js migrated to version 12.x. This version of SDK Node.js is only compliant with this LTS version up to 10.x.
    Consequently, you need to update your Node.js version to 10.x in order to use this release of the SDK Node.js.

API Breaking Changes

  • none

API Changes

  • none

Others Changes

  • First STS Verstion which is the Beta of the first LTS Version.

### SDK for Node.JS 1.82 - January 2021

28 Jan 14:48
Compare
Choose a tag to compare

3-Release SDK Breaking Changes

  • Warning: Starting 2019, the LTS active version of Node.js migrated to version 12.x. This version of SDK Node.js is only compliant with this LTS version up to 10.x.
    Consequently, you need to update your Node.js version to 10.x in order to use this release of the SDK Node.js.

API Breaking Changes

  • none

API Changes

  • none

Others Changes

  • Update the imported lib.
  • Add generateFoss grunt task to update the FOSS in documentation during delivery process.
  • Update the grunt task "debug" to be able to deliver a version with debug logs.
  • Split the grunt build in two steps : Step 1 : grunt : to compil the sources, Step 2 : grunt delivery : To pepare the sources + doc for package
  • Add stack traces when using winston logger.
  • Update doc generation for Alert, AlertDevice, AlertFilter, AlertMessage, AlertTemplate.
  • Add "Alert Custom" offer in AdminService::subscribeCompanyToAlertOffer and AdminService::unSubscribeCompanyToAlertOffer .
  • Fix AlertsService::createOrUpdateAlert API for name and description properties.
  • Use of AlertDevice type in the result of AlertsService::createOrUpdateDevice, AlertsService::deleteDevice, AlertsService::getDevice, AlertsService::getDevices to represent an Alert Device.
  • Use of AlertDeviceData type in AlertsService::getDevices result to represent a list of Alert Devices.

### SDK for Node.JS 1.80 - December 2020

02 Dec 16:44
Compare
Choose a tag to compare

3-Release SDK Breaking Changes

  • Warning: Starting 2019, the LTS active version of Node.js migrated to version 12.x. This version of SDK Node.js is only compliant with this LTS version up to 10.x.
    Consequently, you need to update your Node.js version to 10.x in order to use this release of the SDK Node.js.

API Breaking Changes

  • none

API Changes

  • Update messageMaxLength option default value to 16384.

Others Changes

  • Fix in presenceEventHandler the offline presence of a contact in the roster.
  • Add HttpManager class to manage a promised queue of request to the server. It allow to have a queue of request and then avoid to much concurrents one.
  • Treat the HttpService methods getUrl, post, head, put, putBuffer, delete with the HttpManager queue.
  • Add property "concurrentRequests" in options.rainbow section parameter of the SDK to define the number of allowed concurrent request running in the HttpManager queue.
  • Change the max value of nbHttpAdded to Number.MAX_SAFE_INTEGER
  • Update getConnectionStatus() method to return the status of the queue of HTTP requests :
  • nbHttpAdded: number, the number of HTTP requests (any verb GET, HEAD, POST, ...) added in the HttpManager queue. Note that it is reset to zero when it reaches Number.MAX_SAFE_INTEGER value.
  • httpQueueSize: number, the number of requests stored in the Queue. Note that when a request is sent to server, it is already removed from the queue.
  • nbRunningReq: number, the number of requests which has been poped from the queue and the SDK did not yet received an answer for it.
  • maxSimultaneousRequests : number, the number of request which can be launch at a same time.
  • Add SDK parameter in log section : enableEventsLogs: false, Activate the logs to be raised from the events service (with onLog listener).
  • Fix XMPP resource name to have the string "node_" at the beginning of it.
  • Fix presence events. The presence event are all raised even if the aggregated contact.presence do not change, and only the resources property (with detailed presence) is updated.

**3-Release SDK Breaking Changes**

13 Nov 20:59
Compare
Choose a tag to compare
  • Warning: Starting 2019, the LTS active version of Node.js migrated to version 12.x. This version of SDK Node.js is only compliant with this LTS version up to 10.x.
    Consequently, you need to update your Node.js version to 10.x in order to use this release of the SDK Node.js.

API Breaking Changes

  • none

API Changes

  • Fix FileStorageService::downloadFile for big files. So the returned Object.buffer is modified to an Array of data.

Others Changes

  • Fix in presenceEventHandler the offline presence of a contact in the roster.
  • Add FileServerService::getBlobFromUrlWithOptimizationObserver method to retrieve a file and store it in a path. An Observer is returned to follow the download progress.
  • Add FileStorageService::downloadFileInPath method to retrieve a file and store it in a path. An Observer is returned to follow the download progress.
  • Fix FileStorageService::downloadFile for big files. So the returned Object.buffer is modified to an Array of data.
  • Update the AlertsService documentation
  • Add autoLoadConversations option to activate the retrieve of conversations from the server. The default value is true.
  • Add autoLoadContacts option to activate the retrieve of contacts from roster from the server. The default value is true.
  • Update the XMPPService::markMessageAsReceived with a parameter conversationType to define the type of message marked as read.