Skip to content

4.7.0

Compare
Choose a tag to compare
@d-gubert d-gubert released this 04 May 13:45
· 4047 commits to master since this release
9a59ff4

2022-05-03 · 4 🎉 · 7 🚀 · 33 🐛 · 69 🔍 · 35 👩‍💻👨‍💻

Engine versions

  • Node: 14.18.3
  • NPM: 6.14.15
  • 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

    Quick.Example.showing.Matrix.org.mp4
  • Expand Apps Engine's environment variable allowed list (#23870 by @cuonghuunguyen)

  • 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

🚀 Improvements

  • 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
    Screen Shot 2022-04-20 at 13 55 52
    • Declined
    Screen Shot 2022-04-20 at 13 49 28
    • Error
    Screen Shot 2022-04-20 at 13 55 26
  • Add tooltip to sidebar room menu (#24405 by @Himanshu664)

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

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

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

  • Performance for some Omnichannel features (#25217)

  • 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.

🐛 Bug fixes

  • 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

  • Client disconnection on network loss (#25170)

    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.

  • Close room when dismiss wrap up call modal (#25056)

  • Custom sound error toast messages (#24515 by @Himanshu664)

  • Deactivating user breaks if user is the only room owner (#24933 by @sidmohanty11)

    Before

    deactivating-user-breaks.mp4

    After

    fix.deactivating-user-breaks-room-with-no-owner.mp4
  • Desktop notification on multi-instance environments (#25220)

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

  • FormData uploads not working (#25069)

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

  • Incorrect websocket url in livechat widget (#25261)

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

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

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

  • NPS never finishing sending results (#25067)

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

    before

    Screen Shot 2022-03-29 at 13 35 56

    after

    Screen Shot 2022-03-29 at 11 48 05
  • Proxy settings being ignored (#25022)

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

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

  • Read receipts showing before message read (#25216)

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

    before

    image

    after

    Screenshot 2022-01-13 at 8 57 47 PM
  • Reply button behavior on broadcast channel (#25175)

    Hide reply button for the user that sent the message

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

  • Showing Blank Message Inside Report (#25007 by @nishant23122000)

    Desktop.2022.03.31.-.15.58.05.02.mp4
  • Toolbox hiding under contextual bar (#25237)

  • Upgrade Tab showing for a split second (#25050)

  • Use correct room property for call ended at (#24932)

  • 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

  • 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)

    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.

🔍 Minor changes
  • Bump body-parser from 1.19.2 to 1.20.0 in /ee/server/services (#25042 by @dependabot[bot])

  • Bump ejson from 2.2.1 to 2.2.2 (#25057 by @dependabot[bot])

  • Bump eslint-plugin-anti-trojan-source from 1.0.6 to 1.1.0 (#25076 by @dependabot[bot])

  • Bump minimist from 1.2.5 to 1.2.6 in /ee/server/services (#24991 by @dependabot[bot])

  • Bump pino and pino-pretty (#25052)

  • Bump template-file from 6.0.0 to 6.0.1 (#25002 by @dependabot[bot])

  • Chore: Add error boundary to message component (#25223)

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

    image

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

  • Chore: Add root package.json to houston files (#25286)

    See title

  • Chore: Add yarn plugin to check node and yarn version (#25224)

  • Chore: Bump fuselage (#25371)

  • Chore: Bump Fuselage packages (#25259)

  • Chore: Cancel running jobs if PR is updated (#24708)

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

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

  • Chore: Convert Mailer to TS (#25121)

  • Chore: Convert NotificationStatus to TS (#25125)

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

  • 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 return type warnings (#25275)

  • 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 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 unused Drone CI files (#25124)

  • 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: Update Livechat to the last version (#25257)

  • Chore: Update Livechat version (#25130)

  • 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.

  • i18n: Language update from LingoHub 🤖 on 2022-04-04Z (#25043)

  • Merge master into develop & Set version to 4.7.0-develop (#25028)

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

  • 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: 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: Change preference to be default legacy messages (#25255)

  • Regression: CI playwright (#25168)

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

  • 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 English i18n react text (#25368)

    Incorrect text in reaction tooltip has been fixed

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

  • 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 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: Messages in new message template Crashing. (#25327)

  • Regression: Revert Bugsnag version (#25313)

  • Regression: Rocket.Chat Webapp not loading. (#25349)

  • Regression: Show username and real name on the message system (#25254)

  • Regression: Shows error if micro service cannot connect to Mongo (#25301)

  • Regression: Use exact Node version on micro services Docker images (#25287)

  • Regression: Validate empty fields for Message template (#25250)

  • Regression: yarn dev triggers build dependencies (#25208)

👩‍💻👨‍💻 Contributors 😍

👩‍💻👨‍💻 Core Team 🤓