All Versions
331
Latest Version
Avg Release Cycle
3 days
Latest Release
-

Changelog History
Page 4

  • v4.6.1 Changes

    2022-04-07 ยท 6 ๐Ÿ› ยท 5 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

    Engine versions

    • Node: 14.18.3
    • NPM: 6.14.15
    • MongoDB: 3.6, 4.0, 4.2, 4.4, 5.0
    • Apps-Engine: 1.31.0

    ๐Ÿ›  ๐Ÿ› Bug fixes

    • FormData uploads not working (#25069)

    • Invitation links don't redirect to the registration form (#25082)

    • NPS never finishing sending results (#25067)

    • Proxy settings being ignored (#25022)

    Modify Meteor's HTTP.call to add back proxy support

    • โฌ†๏ธ Upgrade Tab showing for a split second (#25050)

    • ๐Ÿ‘‰ UserAutoComplete not rendering UserAvatar correctly (#25055)

    ### before Screen Shot 2022-04-04 at 16 50 21

    ### after Screen Shot 2022-04-04 at 16 49 00

    ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“

  • v4.6.0 Changes

    2022-04-01 ยท 2 ๐ŸŽ‰ ยท 7 ๐Ÿš€ ยท 57 ๐Ÿ› ยท 62 ๐Ÿ” ยท 34 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

    Engine versions

    • Node: 14.18.3
    • NPM: 6.14.15
    • MongoDB: 3.6, 4.0, 4.2, 4.4, 5.0
    • Apps-Engine: 1.31.0

    ๐ŸŽ‰ New features

    image

    ๐Ÿš€ Improvements

    • ENTERPRISE: Don't start presence monitor when running micro services (#24739)

    • โž• Adding new statistics related to voip and omnichannel (#24887)

      • Total of Canned response messages sent
      • Total of tags used
      • Last-Chatted Agent Preferred (enabled/disabled)
      • Assign new conversations to the contact manager (enabled/disabled)
      • How to handle Visitor Abandonment setting
      • Amount of chats placed on hold
      • VoIP Enabled
      • Amount of VoIP Calls
      • Amount of VoIP Extensions connected
      • Amount of Calls placed on hold (1x per call)
      • Fixed Session Aggregation type definitions
    • ๐Ÿ†• New omnichannel statistics and async statistics processing. (#24749)

    https://app.clickup.com/t/1z4zg4e

    • Standarize queue behavior for managers and agents when subscribing (#24837)

    • โšก๏ธ Updated links in readme (#24028 by @aswinidev)

    • UX - VoIP Call Component (#24748)

    • Voip Extensions disabled state (#24750)

    ๐Ÿ›  ๐Ÿ› Bug fixes

    • "livechat/webrtc.call" endpoint not working (#24804)

    • "Match error" when converting a team to a channel (#24629)

      • Fix "Match error" when trying to convert a channel to a team;
    • ENTERPRISE: Auto reload feature of ddp-streamer micro service (#24793)

    • ENTERPRISE: DDP streamer not sending data to all clients (#24738)

    • ENTERPRISE: Notifications not being sent by ddp-streamer (#24831)

    • ENTERPRISE: Presence micro service logic (#24724)

    • VOIP: SidebarFooter component (#24838)

      • Improve the CallProvider code;
      • Adjust the text case of the VoIP component on the FooterSidebar;
      • Fix the bad behavior with the changes in queue's name.
    • PaginatedSelectFiltered not handling changes (#24732)

    • API Error preventing adding an email to users without one (like bot/app users) (#24709)

    • Apple login script being loaded even when Apple Login is disabled. (#24760)

    • Apple OAuth (#24879)

    • auto-join team channels not honoring user preferences (#24779 by @ostjen)

    • ๐Ÿ— Broken build caused by PRs modifying same file differently (#24863)

    • Broken multiple OAuth integrations (#24705)

    • Components for user search (#24677)

    • ๐Ÿš‘ Critical: Incorrect visitor getting assigned to a chat from apps (#24805)

    • Custom script not being fired (#24901)

    • Date Message Export Filter Fix (#24542 by @eduardofcabrera)

    Fix message export filter to get all messages between "from date" and "to date", including "to date".

    • ๐ŸŒ DDP Rate Limiter Translation key (#24898)

    Before:

    Now:

    • DDP streamer errors (#24710)

    • Disable voip button when call is in progress (#24864)

    • ๐ŸŒฒ Duplicated 'name' log key (#24590)

    • Duplicated "jump to message" button on starred messages (#24867 by @Himanshu664)

    • External search providers not working (#24860 by @tkurz)

    • ๐ŸŒ German translation for Monitore (#24785 by @JMoVS)

    • ๐Ÿ– Handle Other Formats inside Upload Avatar (#24226)

    After resolving issue #24213 :

    https://user-images.githubusercontent.com/53515714/150325012-91413025-786e-4ce0-ae75-629f6b05b024.mp4

    • High CPU usage caused by CallProvider (#24994)

    Remove infinity loop inside useVoipClient hook.

    #closes #24970

    • Ignore customClass on messages (#24845)

    • ๐Ÿ“‡ LDAP avatars being rotated according to metadata even if the setting to rotate uploads is off (#24320)

      • Use the FileUpload_RotateImages setting (Administration > File Upload > Rotate images on upload) to control whether avatars should be rotated automatically based on their data (XEIF);
      • Display the avatar image preview (orientation) according to the FileUpload_RotateImages setting.
    • ๐Ÿ‘€ Missing dependency on useEffect at CallProvider (#24882)

    • Missing username on messages imported from Slack (#24674)

      • Fix missing sender's username on messages imported from Slack.
    • Nextcloud OAuth for incomplete token URL (#24476)

    • no id of room closer in livechat-close message (#24683)

    • Opening a new DM from user card (#24623)

    A race condition on useRoomIcon -- delayed merge of rooms and subscriptions -- was causing a UI crash whenever someone tried to open a DM from the user card component.

    • Prevent call button toggle when user is on call (#24758)

    • Prune Message issue (#24424)

    • Push privacy config to not show username not being respected (#24606)

    • Register with Secret URL (#24921)

    • Reload roomslist after successful deletion of a room from admin panel. (#23795 by @Aman-Maheshwari)

    Removed the logic for calling the rooms.adminRooms endPoint from the RoomsTable Component and moved it to its parent component RoomsPage. This allows to call the endPoint rooms.adminRooms from EditRoomContextBar Component which is also has RoomPage Component as its parent.

    Also added a succes toast message after the successful deletion of room.

    • โช Revert AutoComplete (#24812)

    • Room archived/unarchived system messages aren't sent when editing room settings (#24897)

      • Send the "Room archived" and "Room unarchived" system messages when editing room settings (and not only when rooms are archived/unarchived with the slash-command);
      • Fix the "Hide System Messages" option for the "Room archived" and "Room unarchived" system messages;
    • room message not load when is a new message (#24955)

    When the room object is searched for the first time, it does not exist on the front object yet (subscription), adding a fallback search for room list will guarantee to search the room details.

    before: https://user-images.githubusercontent.com/9275105/160223241-d2319f3e-82c5-47d6-867f-695ab2361a17.mp4

    after: https://user-images.githubusercontent.com/9275105/160223244-84d0d2a1-3d95-464d-8b8a-e264b0d4d690.mp4

    • Room's message count not being incremented on import (#24696)

      • Fix rooms' message counter not being incremented on message import.
    • SAML Force name to string (#24930)

    • Several issues related to custom roles (#24052)

      • Throw an error when trying to delete a role (User or Subscription role) that are still being used;
      • Fix "Invalid Role" error for custom roles in Role Editing sidebar;
      • Fix "Users in Role" screen for custom roles.
    • ๐Ÿ‘‰ Show call icon only when user has extension associated (#24752)

    • ๐Ÿ‘‰ Show only available agents on extension association modal (#24680)

    • ๐Ÿ‘‰ Show only enabled departments on forward (#24829)

    • System messages are sent when adding or removing a group from a team (#24743)

      • Do not send system messages when adding or removing a new or existing group from a team.
    • Typo and placeholder on wrap up call modal (#24737)

    • Typo in wrap-up term (#24661)

    • VoIP button gets disabled whenever user status changes (#24789 by @amolghode1981)

    • VoIP Enable/Disable setting on CallContext/CallProvider Notifications (#24607)

    • Voip Stream Reinitialization Error (#24657 by @amolghode1981)

    • VoipExtensionsPage component call (#24792)

    • Wrong business hour behavior (#24896)

    • Wrong param usage on queue summary call (#24799)

    ๐Ÿ” Minor changes

    On the mobile client, we made an effort to collect more REST API definitions that are missing on the server side during our migration to TypeScript. Since we're both migrating to TypeScript, we thought it would be a good idea to share those so you guys can benefit from our initiative.

    • Chore: added Server Instances endpoint types (#24507)

    Created typing for endpoint definitions on instances.ts.

    • Chore: added settings endpoint types (#24506)

    Created typing for endpoint definitions on settings.ts.

    • Chore: APIClass types (#24747)

    This pull request creates a new restivus module (.d.ts) for the api.js file.

    • ๐Ÿ“ฆ Chore: Bump Fuselage packages (#25015)

    It uses the last stable version of Fuselage packages.

    • Chore: Convert server functions from javascript to typescript (#24384)

    This pull request will be used to rewrite some functions on the Chat Engine to Typescript, in order to increase security and specify variable types on the code.

    • Chore: converted more hooks to typescript (#24628)

    Converted some functions on client/hooks/ from JavaScript to Typescript.

    • โœ… Chore: Fix Cypress tests (#24544)

    • Chore: Fix grammatical errors in Code of Conduct (#24759 by @aadishJ01)

    • Chore: fix grammatical errors in Features (#24771 by @aadishJ01)

    • ๐Ÿš€ Chore: Fix MongoDB versions on release notes (#24877)

    • Chore: Get Settings Statistics (#24397)

    • ๐ŸŒฒ Chore: Improve logger to allow log of unknown values (#24726)

    • ๐Ÿ”€ Chore: Improvements on role syncing (ldap, oauth and saml) (#23824)

    • ๐Ÿ›  Chore: Micro services fixes and cleanup (#24753)

    • ๐Ÿšš Chore: Remove old scripts (#24911)

    • Chore: Skip local services changes when shutting down duplicated services (#24810)

    • ๐Ÿคก Chore: Storybook mocking and examples improved (#24969)

      • Stories from ee/ included;
      • Differentiate root story kinds;
      • Mocking of ServerContext via Storybook parameters.
    • โšก๏ธ Chore: Update Livechat (#24754)

    • โšก๏ธ Chore: Update Livechat (#24990)

    • ๐Ÿคก Chore(deps-dev): Bump @types/mock-require from 2.0.0 to 2.0.1 (#24574 by @dependabot[bot])

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-02-28Z (#24644)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-03-07Z (#24717)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-03-14Z (#24823)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-03-21Z (#24895)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-03-28Z (#24971)

    • ๐Ÿ”€ Merge master into develop & Set version to 4.6.0-develop (#24653)

    • Regression: Add createdOTR index (#25017)

    • Regression: Call doesn't stop ringing after agent unregistration (#24908)

    • Regression: Custom roles displaying ID instead of name on some admin screens (#24999)

    image image

    • Regression: Error is raised when there's no Asterisk queue available yet (#24980 by @amolghode1981)

    • Regression: Fix account service login expiration (#24920)

    • Regression: Fix ParentRoomWithEndpointData in loop (#24809)

    • Regression: Fix unexpected errors breaking ddp-streamer (#24948)

    • โœ… Regression: Improve Sidenav open/close handling and fixed codeql configs and E2E tests (#24756)

    • Regression: Register services right away (#24800)

    • ๐Ÿ”€ Regression: Role Sync not always working (#24850)

    ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜

    ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“

  • v4.5.6 Changes

    2022-04-07 ยท 2 ๐Ÿ› ยท 2 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

    Engine versions

    • Node: 14.18.3
    • NPM: 6.14.15
    • MongoDB: 3.6, 4.0, 4.2, 4.4, 5.0
    • Apps-Engine: 1.31.0

    ๐Ÿ›  ๐Ÿ› Bug fixes

    • NPS never finishing sending results (#25067)

    • Proxy settings being ignored (#25022)

    Modify Meteor's HTTP.call to add back proxy support

    ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“

  • v4.5.5 Changes

    2022-03-30 ยท 2 ๐Ÿ› ยท 2 ๐Ÿ” ยท 6 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

    Engine versions

    • Node: 14.18.3
    • NPM: 6.14.15
    • MongoDB: 3.6, 4.0, 4.2, 4.4, 5.0
    • Apps-Engine: 1.31.0

    ๐Ÿ›  ๐Ÿ› Bug fixes

    • High CPU usage caused by CallProvider (#24994)

    Remove infinity loop inside useVoipClient hook.

    #closes #24970

    • Multiple issues starting a new DM (#24955)

    When the room object is searched for the first time, it does not exist on the front object yet (subscription), adding a fallback search for room list will guarantee to search the room details.

    before: https://user-images.githubusercontent.com/9275105/160223241-d2319f3e-82c5-47d6-867f-695ab2361a17.mp4

    after: https://user-images.githubusercontent.com/9275105/160223244-84d0d2a1-3d95-464d-8b8a-e264b0d4d690.mp4

    ๐Ÿ” Minor changes

    • โšก๏ธ Chore: Update Livechat (#24990)

    • ๐Ÿš€ Release 4.5.5 (#24998)

    ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“

  • v4.5.4 Changes

    2022-03-24 ยท 1 ๐Ÿ› ยท 1 ๐Ÿ” ยท 3 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

    Engine versions

    • Node: 14.18.3
    • NPM: 6.14.15
    • MongoDB: 3.6, 4.0, 4.2, 4.4, 5.0
    • Apps-Engine: 1.31.0

    ๐Ÿ›  ๐Ÿ› Bug fixes

    • SAML Force name to string (#24930)

    ๐Ÿ” Minor changes

    • ๐Ÿš€ Release 4.5.4 (#24938)

    ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“

  • v4.5.3 Changes

    2022-03-21 ยท 2 ๐Ÿš€ ยท 8 ๐Ÿ› ยท 1 ๐Ÿ” ยท 5 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

    Engine versions

    • Node: 14.18.3
    • NPM: 6.14.15
    • MongoDB: 3.6, 4.0, 4.2, 4.4, 5.0
    • Apps-Engine: 1.31.0

    ๐Ÿš€ Improvements

    • Standarize queue behavior for managers and agents when subscribing (#24837)

    • UX - VoIP Call Component (#24748)

    ๐Ÿ›  ๐Ÿ› Bug fixes

    • VOIP: SidebarFooter component (#24838)

      • Improve the CallProvider code;
      • Adjust the text case of the VoIP component on the FooterSidebar;
      • Fix the bad behavior with the changes in queue's name.
    • ๐Ÿ— Broken build caused by PRs modifying same file differently (#24863)

    • Custom script not being fired (#24901)

    • Disable voip button when call is in progress (#24864)

    • ๐Ÿ‘‰ Show call icon only when user has extension associated (#24752)

    • ๐Ÿ‘‰ Show only enabled departments on forward (#24829)

    • VoIP button gets disabled whenever user status changes (#24789 by @amolghode1981)

    • Wrong param usage on queue summary call (#24799)

    ๐Ÿ” Minor changes

    • ๐Ÿš€ Chore: Fix MongoDB versions on release notes (#24877)

    ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜

    ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“

  • v4.5.2 Changes

    2022-03-12 ยท 1 ๐Ÿš€ ยท 7 ๐Ÿ› ยท 1 ๐Ÿ” ยท 8 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

    Engine versions

    • Node: 14.18.3
    • NPM: 6.14.15
    • MongoDB: 3.6, 4.0, 4.2, 4.4, 5.0
    • Apps-Engine: 1.31.0

    ๐Ÿš€ Improvements

    • Voip Extensions disabled state (#24750)

    ๐Ÿ›  ๐Ÿ› Bug fixes

    • "livechat/webrtc.call" endpoint not working (#24804)

    • PaginatedSelectFiltered not handling changes (#24732)

    • Broken multiple OAuth integrations (#24705)

    • ๐Ÿš‘ Critical: Incorrect visitor getting assigned to a chat from apps (#24805)

    • Opening a new DM from user card (#24623)

    A race condition on useRoomIcon -- delayed merge of rooms and subscriptions -- was causing a UI crash whenever someone tried to open a DM from the user card component.

    • โช Revert AutoComplete (#24812)

    • VoipExtensionsPage component call (#24792)

    ๐Ÿ” Minor changes

    • Regression: Fix ParentRoomWithEndpointData in loop (#24809)

    ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“

  • v4.5.1 Changes

    2022-03-09 ยท 13 ๐Ÿ› ยท 2 ๐Ÿ” ยท 12 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

    Engine versions

    • Node: 14.18.3
    • NPM: 6.14.15
    • MongoDB: 3.6, 4.0, 4.2, 4.4, 5.0
    • Apps-Engine: 1.31.0

    ๐Ÿ›  ๐Ÿ› Bug fixes

    • Apple login script being loaded even when Apple Login is disabled. (#24760)

    • Components for user search (#24677)

    • ๐ŸŒฒ Duplicated 'name' log key (#24590)

    • Missing username on messages imported from Slack (#24674)

      • Fix missing sender's username on messages imported from Slack.
    • no id of room closer in livechat-close message (#24683)

    • Reload roomslist after successful deletion of a room from admin panel. (#23795 by @Aman-Maheshwari)

    Removed the logic for calling the rooms.adminRooms endPoint from the RoomsTable Component and moved it to its parent component RoomsPage. This allows to call the endPoint rooms.adminRooms from EditRoomContextBar Component which is also has RoomPage Component as its parent.

    Also added a succes toast message after the successful deletion of room.

    • Room's message count not being incremented on import (#24696)

      • Fix rooms' message counter not being incremented on message import.
    • ๐Ÿ‘‰ Show only available agents on extension association modal (#24680)

    • System messages are sent when adding or removing a group from a team (#24743)

      • Do not send system messages when adding or removing a new or existing group from a team.
    • Typo and placeholder on wrap up call modal (#24737)

    • Typo in wrap-up term (#24661)

    • VoIP Enable/Disable setting on CallContext/CallProvider Notifications (#24607)

    • Voip Stream Reinitialization Error (#24657 by @amolghode1981)

    ๐Ÿ” Minor changes

    ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜

    ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“

  • v4.5.0 Changes

    2022-02-28 ยท 3 ๐ŸŽ‰ ยท 15 ๐Ÿš€ ยท 19 ๐Ÿ› ยท 72 ๐Ÿ” ยท 30 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

    Engine versions

    • Node: 14.18.3
    • NPM: 6.14.15
    • MongoDB: 3.6, 4.0, 4.2, 4.4, 5.0
    • Apps-Engine: 1.31.0

    ๐ŸŽ‰ New features

    Implemented a sort filter for the marketplace screen. This component sorts the marketplace apps list in 4 ways, alphabetical order(A-Z), inverse alphabetical order(Z-A), most recently updated(MRU), and least recent updated(LRU). Besides that, I've generalized some components and types to increase code reusability, renamed some helpers as well as deleted some useless ones, and inserted the necessary new translations on the English i18n dictionary. Demo gif: Marketplace sort filter

    • ๐Ÿ‘ VoIP Support for Omnichannel (#23102 by @amolghode1981)

      • Created VoipService to manage VoIP connections and PBX connection
      • Created LivechatVoipService that will handle custom cases for livechat (creating rooms, assigning chats to queue, actions when call is finished, etc)
      • Created Basic interfaces to support new services and new model
      • Created Endpoints for management interfaces
      • Implemented asterisk connector on VoIP service
      • Created UI components to show calls incoming and to allow answering/rejecting calls
      • Added new settings to control call server/management server connection values
      • Added endpoints to associate Omnichannel Agents with PBX Extensions
      • Added support for event listening on server side, to get metadata about calls being received/ongoing
      • Created new pages to update settings & to see user-extension association
      • Created new page to see ongoing calls (and past calls)
      • Added support for remote hangup/hold on calls
      • Implemented call metrics calculation (hold time, waiting time, talk time)
      • Show a notificaiton when call is received

    ๐Ÿš€ Improvements

    • ENTERPRISE: Improve how micro services are loaded (#24388)

    • โž• Add return button in chats opened from the list of current chats (#24458 by @LucasFASouza)

    The new return button for Omnichannel chats came out with release 3.15 but the feature was only available for chats that were opened from Omnichannel Contact Center. Now, the same UI/UX is supported for chats opened from Current Chats list.

    image

    The chat now opens in the Omnichannel settings and has the return button so the user can go back to the Current Chats list.

    image

    • โž• Add tooltips on action buttons of Canned Response message composer (#24483 by @LucasFASouza)

    The tooltips were missing on the action buttons of CR message composer.

    image

    Users can now feel more encouraged to use these actions knowing what they are supposed to do.

    • โž• Add user to room on "Click to Join!" button press (#24041 by @ostjen)

      • Add user to room on "Click to Join!" button press;
      • Display the "Join" button in discussions inside channels (keeping the behavior consistent with discussions inside groups).
    • โž• Added a new "All" tab which shows all integrations in Integrations (#24109 by @aswinidev)

    • ChatBox Text to File Description (#24451 by @eduardofcabrera & @ostjen)

    The text content from chatbox goes to the file description when drag and drop a file.

    • Close modal on esc and outside click (#24275)

    This is a QUICK change in order to close modals pressing Esc button and clicking outside of it intentionally.

    • CloudLoginModal visual consistency (#24334)

    ### before image

    ### after Screen Shot 2022-01-28 at 13 32 02

    • Convert tag edit with department data to tsx (#24369 by @LucasFASouza)

    • Descriptive tooltip for Encrypted Key on Room Header (#24121)

    • OTR system messages (#24382)

    OTR system messages to indicate key refresh and joining chat to users.

    • ๐Ÿ”จ Purchase Type Filter for marketplace apps and Categories filter anchor refactoring (#24454)

    Implemented a filter by purchase type(free or paid) component for the apps screen of the marketplace. Besides that, new entries on the dictionary, fixed some parts of the App type (purchaseType was typed as unknown and price as string), and created some helpers to work alongside the filter. Will be refactoring the categories filter anchor and then will open this PR for reviews.

    Demo gif: purchaseTypeFIlter

    Refactored the categories filter anchor from a plain fuselage select to a select button with dynamic colors. Demo gif: New categories filter anchor(PR)

    • Replace AutoComplete in UserAutoComplete & UserAutoCompleteMultiple components (#24529)

    This PR replaces a deprecated fuselage's component AutoComplete in favor of Select and MultiSelect which fixes some of UX/UI issues in selecting users

    ### before Screen Shot 2022-02-19 at 13 33 28

    ### after Screen Shot 2022-02-19 at 13 30 58

    • Skip encryption for slash commands in E2E rooms (#24475)

    Currently Slash Commands don't work in an E2EE room, as we encrypt the message before slash command is detected by the server, So removed encryption for slash commands in e2e rooms.

    • Team system messages feedback (#24209 by @ostjen)

      • Delete some keys that aren't being used (eg: User_left_female).
      • Add new Teams' system messages:
        • added-user-to-team: added @\user to this Team;
        • removed-user-from-team: removed @\user from this Team;
        • user-converted-to-team: converted #\room to a Team;
        • user-converted-to-channel: converted #\room to a Channel;
        • user-removed-room-from-team: removed @\user from this Team;
        • user-deleted-room-from-team: deleted #\room from this Team;
        • user-added-room-to-team: deleted #\room to this Team;
      • Add the corresponding options to hide each new system message and the missing ujt and ult hide options.

    ๐Ÿ›  ๐Ÿ› Bug fixes

    • ๐ŸŒฒ 2FA via email when logging in using OAuth (#24572)

    • โž• Add ?close to OAuth callback url (#24381)

    • GDPR action to forget visitor data on request (#24441)

    • Implement client errors on ddp-streamer (#24310)

    • Inconsistent validation of user's access to rooms (#24037 by @ostjen)

    • Issues on selecting users when importing CSV (#24253)

      • Fix users selecting by fixing their _id
      • Add condition to disable 'Start importing' button if usersCount, channelsCount and messageCount equals 0, or if messageCount is alone
      • Remove disabled={usersCount === 0} on user Tab
    • OAuth mismatch redirect_uri error (#24450)

    • ๐Ÿ›ฐ Oembed request not respecting payload limit (#24418)

    • Omnichannel managers can't join chats in progress (#24553)

    • Outgoing webhook without scripts not saving messages (#24401)

    • ๐Ÿšš Prevent Apps Bridge to remove visitor status from room (#24305)

    • Read receipts showing first messages of the room as read even if not read by everyone (#24508)

    • respect Accounts_Registration_Users_Default_Roles setting (#24173)

      • Fix user role being added as default regardless of the Accounts_Registration_Users_Default_Roles setting.
    • Room context tabs not working in Omnichannel current chats page (#24559)

    • Skip admin info in setup wizard for servers with admin registered (#24485)

    • Skip cloud steps for registered servers on setup wizard (#24407)

    • Slash commands previews not working (#24387 by @ostjen)

    • Startup errors creating indexes (#24409)

    Fix bio and prid startup index creation errors.

    • typo on register server tooltip of setup wizard (#24466)

    ๐Ÿ” Minor changes

    Improved type checking for decorator twoFactorRequired.

    It uses the last stable version of Fuselage packages.

    • Chore: bump fuselage version (#24453)

    • Chore: Convert JS files to Typescript (#24410)

    This pull request converts 26 more files from Javascript to Typescript, to check variable types and increase validation on the code.

    Convert to typescript the me slashCommands files

    Convert to typescript the mute and unmute slash commands files

    Convert Slash Commands create files to typescript.

    Convert to typescript the slash commands invite files

    Convert to typescript the unarchive slash commands files

    • Chore: Delete unused file (NewAdminInfoPage.js) (#24196)

    Just removing a duplicated/unused file.

    Convert Slash Commands archive files to typescript

    • ๐Ÿ— Chore: Remove storybook build job from CI (#24530)

    • Chore: roomTypes: Stop mixing client and server code together (#24536)

    • ๐Ÿš€ Chore: Run tests using microservices deployment on CI (#24513)

    • ๐Ÿณ Chore: Set Docker image tag to latest only when really latest (#24366)

    • Chore: Unify ILivechatAgent with ILivechatAgentRecord (#24406)

    • โšก๏ธ Chore: Update Apps-Engine (#24568)

    • โšก๏ธ Chore: Update Apps-Engine (#24651)

    • โšก๏ธ Chore: Update fuselage deps to match monolith versions (#24501)

    • โšก๏ธ Chore: Update Meteor to 2.5.6 (#24461)

    • โšก๏ธ Chore: Update ws package (#24477)

    • Chore(deps-dev): Bump ts-node from 10.0.0 to 10.5.0 in /ee/server/services (#24435 by @dependabot[bot])

    • Chore(deps): Bump node-fetch from 2.6.1 to 2.6.7 in /ee/server/services (#24299 by @dependabot[bot])

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-01-31Z (#24357)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-02-07Z (#24429)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-02-14Z (#24493)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-02-21Z (#24558)

    • ๐Ÿ”€ Merge master into develop & Set version to 4.5.0-develop (#24363)

    • ๐Ÿ‘ Regression: Add support to namespace within micro services (#24581)

    • Regression: Admin Sidebar colors inverted. (#24609)

    • ๐Ÿ›  Regression: Bunch of settings fixes for VoIP (#24594)

    • Regression: Do not show toast on incoming voip calls (#24619)

    • Regression: Encode registration info as JWT when signing key is provided (#24626)

    • Regression: Error setting user avatars and mentioning rooms on Slack Import (#24585)

      • Fix Mentioned room not found error when importing rooms from Slack;
      • Fix Forbidden error when setting avatars for users imported from Slack (on user import/creation);
      • Fix incorrect message count on imported rooms;
      • Fix missing username on messages imported from Slack;
    • Regression: Error when trying to load name of dm rooms for avatars and notifications (#24583)

    • ๐Ÿ’ป Regression: Extension List panel UI not aligned with designs (#24645)

    • Regression: Fix double value on holdTime and empty msg on last message (#24630)

    • Regression: Fix in-correct room status shown to agents (#24592)

    • Regression: Fix incoming voip call ringtone is not ringing (#24616)

    • Regression: Fix room not getting created due to null visitor status (#24562)

    • Regression: Fix time fields and wrap up in Voip Room Contexual bar (#24625)

    • Regression: Fix time format on Voip system messages (#24603)

    • ๐ŸŒ Regression: Fix translation for call started message (#24615)

    • Regression: Fix wrong tab name for VoIP settings (#24647)

    • ๐Ÿ›  Regression: Fixes in Voice Contextual Bar and Directory (#24596)

    • Regression: If Asterisk suddenly goes down, server has no way to know. Causes server to get stuck. Needs restart (#24624 by @amolghode1981)

    • Regression: Mark all rooms as read modal closing instantly. (#24610)

    • Regression: No audio when call comes from Skype/IP phone (#24602 by @amolghode1981)

    The audio was not rendered because of re-rendering of react element based on queueCounter and roomInfo. queueCounter and roomInfo cause the dom to re-render when call gets accepted because after accepting call, queueCounter changes or a room gets created. The audio element gets recreated. But VoIP user probably holds the old one. The behaviour is not predictable when such case happens. If everything gets cleanly setup, even if the audio element goes headless, it still continues to play the remote audio. But in other cases, it is unreferenced the one on dom has its srcObject as null. This causes no audio.

    This fix provides a way to re-initialise the rendering elements in VoIP user and calls this function on useEffect() if the re-render has happen.

    • Regression: Prevent button from losing state when rerendering (#24648)

    • Regression: Prevent connect to asterisk when VoIP is disabled (#24601)

    • Regression: Queue counter aggregator for incoming/hanged calls (#24635 by @amolghode1981)

    • Regression: Refresh server connection when MI server settings change (#24649)

    • Regression: Server crashing if Voip credentials are invalid (#24646)

    • Regression: VoIP service button displayed when VoIP is disabled (#24598)

    ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜

    ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“

  • v4.4.5 Changes

    2022-05-30 ยท 12 ๐ŸŽ‰ ยท 26 ๐Ÿš€ ยท 79 ๐Ÿ› ยท 213 ๐Ÿ” ยท 54 ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

    Engine versions

    • MongoDB: 3.6, 4.0, 4.2, 4.4, 5.0

    ๐ŸŽ‰ New features

    • โž• Add expire index to integration history (#25087)

    • Alpha Matrix Federation (#23688)

    Experimental support for Matrix Federation with a Bridge

    https://user-images.githubusercontent.com/51996/164530391-e8b17ecd-a4d0-4ef8-a8b7-81230c1773d3.mp4

    Implemented a sort filter for the marketplace screen. This component sorts the marketplace apps list in 4 ways, alphabetical order(A-Z), inverse alphabetical order(Z-A), most recently updated(MRU), and least recent updated(LRU). Besides that, I've generalized some components and types to increase code reusability, renamed some helpers as well as deleted some useless ones, and inserted the necessary new translations on the English i18n dictionary. Demo gif: Marketplace sort filter

    • Message Template React Component (#23971)

    Complete rewrite of the messages component in react. Visual changes should be minimal as well as user impact, with no break changes (unless you've customized the blaze template).

    Screen Shot 2022-04-05 at 11 14 18 In case you encounter any problems, or want to compare, temporarily it is possible to use the old version

    image

    • ๐Ÿ‘‰ Use setting to determine if initial general channel is needed (#25441 by @felipe-menelau)

      • Adds flag responsible for overwriting #general channel creation
    • ๐Ÿ‘ VoIP Support for Omnichannel (#23102 by @amolghode1981)

      • Created VoipService to manage VoIP connections and PBX connection
      • Created LivechatVoipService that will handle custom cases for livechat (creating rooms, assigning chats to queue, actions when call is finished, etc)
      • Created Basic interfaces to support new services and new model
      • Created Endpoints for management interfaces
      • Implemented asterisk connector on VoIP service
      • Created UI components to show calls incoming and to allow answering/rejecting calls
      • Added new settings to control call server/management server connection values
      • Added endpoints to associate Omnichannel Agents with PBX Extensions
      • Added support for event listening on server side, to get metadata about calls being received/ongoing
      • Created new pages to update settings & to see user-extension association
      • Created new page to see ongoing calls (and past calls)
      • Added support for remote hangup/hold on calls
      • Implemented call metrics calculation (hold time, waiting time, talk time)
      • Show a notificaiton when call is received

    ๐Ÿš€ Improvements

    • ENTERPRISE: Don't start presence monitor when running micro services (#24739)

    • ENTERPRISE: Improve how micro services are loaded (#24388)

    • โž• Add OTR Room States (#24565)

    Earlier OTR room uses only 2 states, we need more states to support future features. This adds more states for the OTR contextualBar.

    • Expired

    • Declined

    • Error

      • โž• Add return button in chats opened from the list of current chats (#24458 by @LucasFASouza)

    The new return button for Omnichannel chats came out with release 3.15 but the feature was only available for chats that were opened from Omnichannel Contact Center. Now, the same UI/UX is supported for chats opened from Current Chats list.

    image

    The chat now opens in the Omnichannel settings and has the return button so the user can go back to the Current Chats list.

    image

    The tooltips were missing on the action buttons of CR message composer.

    image

    Users can now feel more encouraged to use these actions knowing what they are supposed to do.

    • โž• Add user to room on "Click to Join!" button press (#24041 by @ostjen)

      • Add user to room on "Click to Join!" button press;
      • Display the "Join" button in discussions inside channels (keeping the behavior consistent with discussions inside groups).
    • โž• Added a new "All" tab which shows all integrations in Integrations (#24109 by @aswinidev)

    • โž• Added MaxNickNameLength and MaxBioLength constants (#25231 by @aakash-gitdev)

    • โž• Added tooltip options for message menu (#24431 by @Himanshu664)

    • โž• Adding new statistics related to voip and omnichannel (#24887)

      • Total of Canned response messages sent
      • Total of tags used
      • Last-Chatted Agent Preferred (enabled/disabled)
      • Assign new conversations to the contact manager (enabled/disabled)
      • How to handle Visitor Abandonment setting
      • Amount of chats placed on hold
      • VoIP Enabled
      • Amount of VoIP Calls
      • Amount of VoIP Extensions connected
      • Amount of Calls placed on hold (1x per call)
      • Fixed Session Aggregation type definitions
    • ChatBox Text to File Description (#24451 by @eduardofcabrera & @ostjen)

    The text content from chatbox goes to the file description when drag and drop a file.

    • Close modal on esc and outside click (#24275)

    This is a QUICK change in order to close modals pressing Esc button and clicking outside of it intentionally.

    • CloudLoginModal visual consistency (#24334)

    ### before image

    ### after Screen Shot 2022-01-28 at 13 32 02

    • Convert tag edit with department data to tsx (#24369 by @LucasFASouza)

    • Descriptive tooltip for Encrypted Key on Room Header (#24121)

    • ๐Ÿ‘Œ Improve active/hover colors in account sidebar (#25024 by @Himanshu664)

    • ๐Ÿ†• New omnichannel statistics and async statistics processing. (#24749)

    https://app.clickup.com/t/1z4zg4e

    • OTR system messages (#24382)

    OTR system messages to indicate key refresh and joining chat to users.

    • ๐ŸŽ Performance for some Omnichannel features (#25217)

    • ๐Ÿ”จ Purchase Type Filter for marketplace apps and Categories filter anchor refactoring (#24454)

    Implemented a filter by purchase type(free or paid) component for the apps screen of the marketplace. Besides that, new entries on the dictionary, fixed some parts of the App type (purchaseType was typed as unknown and price as string), and created some helpers to work alongside the filter. Will be refactoring the categories filter anchor and then will open this PR for reviews.

    Demo gif: purchaseTypeFIlter

    Refactored the categories filter anchor from a plain fuselage select to a select button with dynamic colors. Demo gif: New categories filter anchor(PR)

    • โฌ†๏ธ Rename upgrade tab routes (#25097)

    Change 'upgrade tab' routes names from camelCase ('goFullyFeatured') to kebab-case ('go-fully-featured') due to URL naming consistency. Changed types, main function and test.

    • Replace AutoComplete in UserAutoComplete & UserAutoCompleteMultiple components (#24529)

    This PR replaces a deprecated fuselage's component AutoComplete in favor of Select and MultiSelect which fixes some of UX/UI issues in selecting users

    ### before Screen Shot 2022-02-19 at 13 33 28

    ### after Screen Shot 2022-02-19 at 13 30 58

    • Skip encryption for slash commands in E2E rooms (#24475)

    Currently Slash Commands don't work in an E2EE room, as we encrypt the message before slash command is detected by the server, So removed encryption for slash commands in e2e rooms.

    • Team system messages feedback (#24209 by @ostjen)

      • Delete some keys that aren't being used (eg: User_left_female).
      • Add new Teams' system messages:
        • added-user-to-team: added @\user to this Team;
        • removed-user-from-team: removed @\user from this Team;
        • user-converted-to-team: converted #\room to a Team;
        • user-converted-to-channel: converted #\room to a Channel;
        • user-removed-room-from-team: removed @\user from this Team;
        • user-deleted-room-from-team: deleted #\room from this Team;
        • user-added-room-to-team: deleted #\room to this Team;
      • Add the corresponding options to hide each new system message and the missing ujt and ult hide options.
    • โšก๏ธ Updated links in readme (#24028 by @aswinidev)

    ๐Ÿ›  ๐Ÿ› Bug fixes

    • "Match error" when converting a team to a channel (#24629)

      • Fix "Match error" when trying to convert a channel to a team;
    • ENTERPRISE: Auto reload feature of ddp-streamer micro service (#24793)

    • ENTERPRISE: DDP streamer not sending data to all clients (#24738)

    • ENTERPRISE: Notifications not being sent by ddp-streamer (#24831)

    • ENTERPRISE: Presence micro service logic (#24724)

    • ๐ŸŒฒ 2FA via email when logging in using OAuth (#24572)

    • โž• Add ?close to OAuth callback url (#24381)

    • โž• Add katex render to new message react template (#25239)

    • โž• Add reaction not working in legacy messages (#25222)

    • โž• Added invalid password error message (#24714 by @Himanshu664)

    • Adjust email label in Setup Wizard i18n files (#25260)

      • remove 'Company' label on onboarding email keys in certain languages
    • ๐Ÿ“ˆ AgentOverview analytics wrong departmentId parameter (#25073 by @paulobernardoaf)

    When filtering the analytics charts by department, data would not appear because the object:

      {
      value: "department-id",
      label: "department-name"
      }
    

    was being used in the departmentId parameter.

    • Before: image

    • After: image

      • API Error preventing adding an email to users without one (like bot/app users) (#24709)
      • Apple OAuth (#24879)
      • auto-join team channels not honoring user preferences (#24779 by @ostjen)
      • Client disconnection on network loss (#25170 by @amolghode1981)

    Agent gets disconnected (or Unregistered) from asterisk in multiple ways. The goal is that agent should remain online unless agent explicitly logs off. Agent can stop receiving calls in multiple ways due to network loss. Network loss can happen in following ways.

    1. User tries to switch the network. User experiences a glitch of disconnectivity. This can be simulated by turning the network off in the network tab of chrome's dev tool. This can disconnect the UA if the disconnection happens just before the registration refresh.

    2. Second reason is when computer goes in sleep mode.

    3. Third reason is that when asterisk is crashed/in maintenance mode/explicitly stopped.

    Solution: The idea is to detect the network disconnection and start the start the attempts to reconnect. The detection of the disconnection does not happen in case#1. The SIPUA's UserAgent transport does not call onDisconnected when network loss of such kind happens. To tackle this problem, window's online and offline event handlers are used.

    The number of retries is configurable but ideally it is to be kept at -1. Whenever disconnection happens, it should keep on trying to reconnect with increasing backoff time. This behaviour is useful when the asterisk is stopped.

    When the server is disconnected, it should be indicated on the phone button.

    Fix message export filter to get all messages between "from date" and "to date", including "to date".

    • ๐ŸŒ DDP Rate Limiter Translation key (#24898)

    Before:

    Now:

    • DDP streamer errors (#24710)

    • Duplicated "jump to message" button on starred messages (#24867 by @Himanshu664)

    • Dynamic load matrix is enabled and handle failure (#25495)

    • End call button disappearing when on-hold (#24936)

    • External search providers not working (#24860 by @tkurz)

    • Full error message is visible (#24856 by @Himanshu664)

    • GDPR action to forget visitor data on request (#24441)

    • ๐ŸŒ German translation for Monitore (#24785 by @JMoVS)

    • ๐Ÿ– Handle Other Formats inside Upload Avatar (#24226)

    After resolving issue #24213 :

    https://user-images.githubusercontent.com/53515714/150325012-91413025-786e-4ce0-ae75-629f6b05b024.mp4

    • Ignore customClass on messages (#24845)

    • Implement client errors on ddp-streamer (#24310)

    • Inconsistent validation of user's access to rooms (#24037 by @ostjen)

    • Incorrect websocket url in livechat widget (#25261)

    • ๐ŸŽ‰ Initial User not added to default channel (#25544)

    If injecting initial user. The user wasnโ€™t added to the default General channel

    • Issues on selecting users when importing CSV (#24253)

      • Fix users selecting by fixing their _id
      • Add condition to disable 'Start importing' button if usersCount, channelsCount and messageCount equals 0, or if messageCount is alone
      • Remove disabled={usersCount === 0} on user Tab
    • ๐Ÿ“‡ LDAP avatars being rotated according to metadata even if the setting to rotate uploads is off (#24320)

      • Use the FileUpload_RotateImages setting (Administration > File Upload > Rotate images on upload) to control whether avatars should be rotated automatically based on their data (XEIF);
      • Display the avatar image preview (orientation) according to the FileUpload_RotateImages setting.
    • ๐Ÿ”€ LDAP sync removing users from channels when multiple groups are mapped to it (#25434)

    • Message menu action not working on legacy messages. (#25148)

    • Message preview not available for queued chats (#25092)

    • ๐Ÿ‘€ Missing dependency on useEffect at CallProvider (#24882)

    • Nextcloud OAuth for incomplete token URL (#24476)

    • OAuth mismatch redirect_uri error (#24450)

    • ๐Ÿ›ฐ Oembed request not respecting payload limit (#24418)

    • Omnichannel managers can't join chats in progress (#24553)

    • One of the triggers was not working correctly (#25409)

    • Outgoing webhook without scripts not saving messages (#24401)

    • ๐Ÿšš Prevent Apps Bridge to remove visitor status from room (#24305)

    • Prevent call button toggle when user is on call (#24758)

    • Prevent sequential messages edited icon to hide on hover (#24984)

    ### before

    ### after

    • Prune Message issue (#24424)

    • Push privacy config to not show username not being respected (#24606)

    • Read receipts show with color gray when not read yet (#25244)

    • Read receipts showing before message read (#25216)

    • Read receipts showing first messages of the room as read even if not read by everyone (#24508)

    • Register with Secret URL (#24921)

    • Replace encrypted text to Encrypted Message Placeholder (#24166)

    ### before image

    ### after

    • Reply button behavior on broadcast channel (#25175)

    Hide reply button for the user that sent the message

    • respect Accounts_Registration_Users_Default_Roles setting (#24173)

      • Fix user role being added as default regardless of the Accounts_Registration_Users_Default_Roles setting.
    • Room archived/unarchived system messages aren't sent when editing room settings (#24897)

      • Send the "Room archived" and "Room unarchived" system messages when editing room settings (and not only when rooms are archived/unarchived with the slash-command);
      • Fix the "Hide System Messages" option for the "Room archived" and "Room unarchived" system messages;
    • Room context tabs not working in Omnichannel current chats page (#24559)

    • room creation fails if app framework is disabled (#25200)

    • ๐Ÿš‘ Security Hotfix (https://docs.rocket.chat/guides/security/security-updates)

    • Several issues related to custom roles (#24052)

      • Throw an error when trying to delete a role (User or Subscription role) that are still being used;
      • Fix "Invalid Role" error for custom roles in Role Editing sidebar;
      • Fix "Users in Role" screen for custom roles.
    • ๐Ÿ‘‰ Showing Blank Message Inside Report (#25007)

    https://user-images.githubusercontent.com/53515714/161038085-4a86c7ae-6751-4996-9767-b1c9e0331a6c.mp4

    • Skip admin info in setup wizard for servers with admin registered (#24485)

    • Skip cloud steps for registered servers on setup wizard (#24407)

    • Slash commands previews not working (#24387 by @ostjen)

    • Spotlight results showing usernames instead of real names (#25471)

    • Startup errors creating indexes (#24409)

    Fix bio and prid startup index creation errors.

    • Toolbox hiding under contextual bar (#25237)

    • typo on register server tooltip of setup wizard (#24466)

    • ๐Ÿ’ป UI/UX issues on Live Chat widget (#25407)

    • ๐Ÿ‘‰ Use correct room property for call ended at (#24932)

    • ๐Ÿ‘‰ User abandonment setting was not working doe to failing event hook (#25520)

    A setting watcher and the query for grabbing abandoned chats were broken, now they're not.

    • ๐Ÿ‘‰ UserCard sanitization (#25089)

      • Rewrites the component to TS
      • Fixes some visual issues

    ### before Screen Shot 2022-04-07 at 00 23 11

    ### after Screen Shot 2022-04-07 at 00 07 13

    • Video and Audio not skipping forward (#19866)

    • VoIP disabled/enabled sequence puts voip agent in error state (#25230 by @amolghode1981)

    Initially it was thought that the issue occurs because of the race condition while changing the client settings vs those settings reflected on server side. So a natural solution to solve this is to wait for setting change event 'private-settings-changed'. Then if 'VoIP_Enabled' is updated and it is true, set voipEnabled to true in useVoipClient.ts (on client side)

    It was realised that the race does not happen because of the database or server noticing the changes late. But because of the time taken to establish the AMI connection with Asterisk.

    Solution:

    1. Change apps/meteor/app/voip/server/startup.ts. When VoIP_Enabled is changed, await for Voip.init() to complete and then broadcast connector.statuschanged with changed value.

    2. From apps/meteor/server/modules/listeners/listeners.module.ts use notifyLoggedInThisInstance to notify all logged in users on current instance.

    3. in apps/meteor/client/providers/CallProvider/hooks/useVoipClient.ts add the event handler that receives this event. Change voipEnabled from constant to state. Change this state based on the 'value' that is received by the handler.

    • Wrong business hour behavior (#24896)

    ๐Ÿ” Minor changes

    Improved type checking for decorator twoFactorRequired.

    • Chore: Add description to global OTR setting (#24333 by @pedrogssouza)

    • โœ… Chore: Add E2E tests for livechat/room.close (#24729 by @Muramatsu2602)

      • Create a new test suite file under tests/end-to-end/api/livechat
      • Create tests for the following endpoint:
        • ivechat/room.close
    • โœ… Chore: Add E2E tests for livechat/visitor (#24764 by @Muramatsu2602)

      • Create a new test suite file under tests/end-to-end/api/livechat
      • Create tests for the following endpoints:
      • livechat/visitor (create visitor, update visitor, add custom fields to visitors)
    • Chore: Add error boundary to message component (#25223)

    Not crash the whole application if something goes wrong in the MessageList component.

    image

    • ๐Ÿ“ฆ Chore: Add Livechat repo into Monorepo packages (#25312)

    • Chore: Add options to debug stdout and rate limiter (#25336)

    • ๐Ÿ“ฆ Chore: Add root package.json to houston files (#25286)

    See title

    On the mobile client, we made an effort to collect more REST API definitions that are missing on the server side during our migration to TypeScript. Since we're both migrating to TypeScript, we thought it would be a good idea to share those so you guys can benefit from our initiative.

    • ๐Ÿ”Œ Chore: Add yarn plugin to check node and yarn version (#25224)

    • Chore: added Server Instances endpoint types (#24507)

    Created typing for endpoint definitions on instances.ts.

    • Chore: added settings endpoint types (#24506)

    Created typing for endpoint definitions on settings.ts.

    • Chore: APIClass types (#24747)

    This pull request creates a new restivus module (.d.ts) for the api.js file.

    • Chore: Bump fuselage (#25371)

    • ๐Ÿ“ฆ Chore: Bump Fuselage packages (#25259)

    • ๐Ÿ“ฆ Chore: Bump Fuselage packages (#25015)

    It uses the last stable version of Fuselage packages.

    • ๐Ÿ“ฆ Chore: Bump Fuselage packages (#24573)

    It uses the last stable version of Fuselage packages.

    • Chore: bump fuselage version (#24453)

    • โšก๏ธ Chore: Cancel running jobs if PR is updated (#24708)

    • Chore: Convert admin custom sound to tsx (#25128)

    • Chore: Convert JS files to Typescript (#24410)

    This pull request converts 26 more files from Javascript to Typescript, to check variable types and increase validation on the code.

    • Chore: Convert LivechatAgentActivity to raw model and TS (#25123)

    • Chore: Convert Mailer to TS (#25121)

    • Chore: Convert NotificationStatus to TS (#25125)

    • Chore: Convert server functions from javascript to typescript (#24384)

    This pull request will be used to rewrite some functions on the Chat Engine to Typescript, in order to increase security and specify variable types on the code.

    Convert to typescript the me slashCommands files

    Convert to typescript the mute and unmute slash commands files

    Convert Slash Commands create files to typescript.

    Convert to typescript the slash commands invite files

    Convert to typescript the unarchive slash commands files

    • Chore: converted more hooks to typescript (#24628)

    Converted some functions on client/hooks/ from JavaScript to Typescript.

    • Chore: Create README.md for Rest Typings (#25335)

    • Chore: Delete unused file (NewAdminInfoPage.js) (#24196)

    Just removing a duplicated/unused file.

    • Chore: ensure scripts use cross-env and ignore some dirs (ROC-54) (#25218)

      • data and test-failure should be ignored
      • ensure scripts use cross-env
    • โœ… Chore: Fix Cypress tests (#24544)

    • Chore: Fix grammatical errors in Code of Conduct (#24759 by @aadishJ01)

    • Chore: fix grammatical errors in Features (#24771 by @aadishJ01)

    • โš  Chore: Fix return type warnings (#25275)

    • Chore: Get Settings Statistics (#24397)

    • ๐ŸŒฒ Chore: Improve logger to allow log of unknown values (#24726)

    • Chore: Improve PR title validation regex (#24467)

    • ๐Ÿ”€ Chore: Improvements on role syncing (ldap, oauth and saml) (#23824)

    • Chore: Js to ts slash commands archive (#24304 by @eduardofcabrera)

    Convert Slash Commands archive files to typescript

    • ๐Ÿ›  Chore: Micro services fixes and cleanup (#24753)

    • Chore: Migrate oauth2server to typescript (#25126)

    • โšก๏ธ Chore: Minor dependency updates (#25269)

    • Chore: Missing keys in APIsDisplay (#24464)

    • Chore: Monorepo (#25074)

    • ๐Ÿ“ฆ Chore: move definitions to packages (#25085)

    • โœ… Chore: organize test files and fix code coverage (#24900)

    • ๐Ÿšš Chore: Remove Alpine image deps after using them (#25053)

    • ๐Ÿšš Chore: Remove duplicated useUserRoom (#25180)

    • ๐Ÿšš Chore: Remove old files from removed Omnichannel feature (#25129)

    • ๐Ÿšš Chore: Remove old scripts (#24911)

    • ๐Ÿ”’ Chore: Remove package-lock.json from houston files (#25280)

    Houston config in the package.json file still mentioned package-lock.json, but it doesn't exist anymore

    • ๐Ÿ— Chore: Remove storybook build job from CI (#24530)

    • ๐Ÿ‘ท Chore: Remove unused Drone CI files (#25124)

    • Chore: roomTypes: Stop mixing client and server code together (#24536)

    • ๐Ÿš€ Chore: Run tests using microservices deployment on CI (#24513)

    • ๐Ÿณ Chore: Set Docker image tag to latest only when really latest (#24366)

    • Chore: Skip local services changes when shutting down duplicated services (#24810)

    • ๐Ÿคก Chore: Storybook mocking and examples improved (#24969)

      • Stories from ee/ included;
      • Differentiate root story kinds;
      • Mocking of ServerContext via Storybook parameters.
    • ๐Ÿ”€ Chore: Sync with master (#25284)

    • ๐Ÿ“ฆ Chore: Template to generate packages (#25174)

      npx hygen package new test
    
    • โœ… Chore: Tests with Playwright (task: All works) (#25122)

    • โœ… Chore: Tests with Playwright (task: ROC-28, 09-channels) (#25196)

    • Chore: TS conversion folder client (#25031)

    • Chore: TS migration SortList (#25167)

    • Chore: Unify ILivechatAgent with ILivechatAgentRecord (#24406)

    • โšก๏ธ Chore: Update Apps-Engine (#24651)

    • โšก๏ธ Chore: Update Apps-Engine (#24568)

    • โšก๏ธ Chore: Update fuselage deps to match monolith versions (#24501)

    • โšก๏ธ Chore: Update Livechat to the last version (#25257)

    • โšก๏ธ Chore: Update Livechat version (#25130)

    • โšก๏ธ Chore: Update Meteor to 2.5.6 (#24461)

    • โšก๏ธ Chore: update OTR icon (#24521 by @kibonusp)

    I changed the shredder icon in OTR contextual bar to the stopwatch icon, recently added to the fuselage.

    • โšก๏ธ Chore: Update ws package (#24477)

    • ๐Ÿคก Chore(deps-dev): Bump @types/mock-require from 2.0.0 to 2.0.1 (#24574 by @dependabot[bot])

    • Chore(deps-dev): Bump ts-node from 10.0.0 to 10.5.0 in /ee/server/services (#24435 by @dependabot[bot])

    • Chore(deps): Bump node-fetch from 2.6.1 to 2.6.7 in /ee/server/services (#24299 by @dependabot[bot])

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-01-31Z (#24357)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-02-07Z (#24429)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-02-14Z (#24493)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-02-21Z (#24558)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-02-28Z (#24644)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-03-07Z (#24717)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-03-14Z (#24823)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-03-21Z (#24895)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-03-28Z (#24971)

    • โšก๏ธ i18n: Language update from LingoHub ๐Ÿค– on 2022-04-04Z (#25043)

    • ๐Ÿ”€ Merge master into develop & Set version to 4.5.0-develop (#24363)

    • ๐Ÿ”€ Merge master into develop & Set version to 4.6.0-develop (#24653)

    • ๐Ÿ”€ Merge master into develop & Set version to 4.7.0-develop (#25028)

    • Regression: Add isPending status to message (#25299)

    • Regression: Add createdOTR index (#25017)

    • ๐Ÿ‘• Regression: Add eslint package to micro services Dockerfile (#25311)

    • Regression: Add select message to system message and thread preview and allow select on legacy template (#25251)

    • ๐Ÿ‘ Regression: Add support to namespace within micro services (#24581)

    • Regression: Admin Sidebar colors inverted. (#24609)

    • Regression: Avatar not loading on first direct message (#25211)

    fix avatar not loading on a first direct message

    • ๐Ÿ‘ Regression: Better MongoDB connection management for micro services (#25323)

    • ๐Ÿ’ป Regression: bump onboarding-ui version (#25320)

      • Bump to 'next' the onboarding-ui package from fuselage.
      • Update from 'companyEmail' to 'email' adminData usage types
    • ๐Ÿ›  Regression: Bunch of settings fixes for VoIP (#24594)

    • Regression: Call doesn't stop ringing after agent unregistration (#24908)

    • 0๏ธโƒฃ Regression: Change preference to be default legacy messages (#25255)

    • ๐Ÿ‘ท Regression: CI playwright (#25168)

    • Regression: Custom roles displaying ID instead of name on some admin screens (#24999)

    image image

    • Regression: Do not show toast on incoming voip calls (#24619)

    • Regression: Encode registration info as JWT when signing key is provided (#24626)

    • Regression: Error is raised when there's no Asterisk queue available yet (#24980 by @amolghode1981)

    • Regression: Error setting user avatars and mentioning rooms on Slack Import (#24585)

      • Fix Mentioned room not found error when importing rooms from Slack;
      • Fix Forbidden error when setting avatars for users imported from Slack (on user import/creation);
      • Fix incorrect message count on imported rooms;
      • Fix missing username on messages imported from Slack;
    • Regression: Error when trying to load name of dm rooms for avatars and notifications (#24583)

    • ๐Ÿ‘• Regression: eslint not running on packages (#25305)

    • ๐Ÿ’ป Regression: Extension List panel UI not aligned with designs (#24645)

    • Regression: Fix account service login expiration (#24920)

    • ๐Ÿ— Regression: Fix CI monorepo build (#25107)

    • Regression: Fix clicking on visitor's chat in the sidebar does not display the chat window (#25380)

    Fix: livechat room not opening.

    • Regression: Fix double value on holdTime and empty msg on last message (#24630)

    • Regression: Fix English i18n react text (#25368)

    Incorrect text in reaction tooltip has been fixed

    • Regression: Fix federation Matrix bridge startup (#25273)

    • Regression: Fix in-correct room status shown to agents (#24592)

    • Regression: Fix incoming voip call ringtone is not ringing (#24616)

    • ๐Ÿ— Regression: Fix micro services Docker build (#25193)

    • Regression: Fix multi line is not showing an empty line between lines (#25317)

    • Regression: Fix reply button not working when hideFlexTab is enabled (#25306)

    • Regression: Fix room not getting created due to null visitor status (#24562)

    • ๐Ÿ— Regression: Fix services Docker build on CI (#25181)

    • Regression: Fix size of custom emoji and render emoji on thread message preview (#25314)

    • Regression: Fix the alpine image and dev UX installing matrix-rust-sdk-bindings (#25319)

    The package only included a few pre-built which caused all macs to have to compile every time they installed and also caused our alpine not to work.

    This temporarily switches to a fork of the matrix-appservice-bridge package.

    Made changes to one of its child dependencies matrix-rust-sdk-bindings that adds pre-built binaries for mac and musl (for alpine).

    • Regression: Fix time fields and wrap up in Voip Room Contexual bar (#24625)

    • Regression: Fix time format on Voip system messages (#24603)

    • ๐ŸŒ Regression: Fix translation for call started message (#24615)

    • Regression: Fix unexpected errors breaking ddp-streamer (#24948)

    • Regression: Fix wrong tab name for VoIP settings (#24647)

    • ๐Ÿ›  Regression: Fixes in Voice Contextual Bar and Directory (#24596)

    • Regression: If Asterisk suddenly goes down, server has no way to know. Causes server to get stuck. Needs restart (#24624 by @amolghode1981)

    • โœ… Regression: Improve Sidenav open/close handling and fixed codeql configs and E2E tests (#24756)

    • Regression: Mark all rooms as read modal closing instantly. (#24610)

    • Regression: Messages in new message template Crashing. (#25327)

    • Regression: No audio when call comes from Skype/IP phone (#24602 by @amolghode1981)

    The audio was not rendered because of re-rendering of react element based on queueCounter and roomInfo. queueCounter and roomInfo cause the dom to re-render when call gets accepted because after accepting call, queueCounter changes or a room gets created. The audio element gets recreated. But VoIP user probably holds the old one. The behaviour is not predictable when such case happens. If everything gets cleanly setup, even if the audio element goes headless, it still continues to play the remote audio. But in other cases, it is unreferenced the one on dom has its srcObject as null. This causes no audio.

    This fix provides a way to re-initialise the rendering elements in VoIP user and calls this function on useEffect() if the re-render has happen.

    ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Contributors ๐Ÿ˜

    ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป Core Team ๐Ÿค“