Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 4.7.0 #25390

Merged
merged 144 commits into from
May 4, 2022
Merged

Release 4.7.0 #25390

merged 144 commits into from
May 4, 2022

Conversation

d-gubert
Copy link
Member

@d-gubert d-gubert commented May 4, 2022

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 🤓

sampaiodiego and others added 30 commits April 1, 2022 15:45
Merge master into develop & Set version to 4.7.0-develop
Project Name: Rocket.Chat
Project Link: https://translate.lingohub.com/rocketchat/dashboard/rocket-dot-chat
User: Robot LingoHub

Easy language translations with LingoHub 🚀

Co-authored-by: Robot LingoHub <robot@lingohub.com>
Bumps [body-parser](https://github.com/expressjs/body-parser) from 1.19.2 to 1.20.0.
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](expressjs/body-parser@1.19.2...1.20.0)

---
updated-dependencies:
- dependency-name: body-parser
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [template-file](https://github.com/gsandf/template-file) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/gsandf/template-file/releases)
- [Commits](https://github.com/gsandf/template-file/commits)

---
updated-dependencies:
- dependency-name: template-file
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ejson](https://github.com/primus/ejson) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/primus/ejson/releases)
- [Commits](primus/ejson@2.2.1...2.2.2)

---
updated-dependencies:
- dependency-name: ejson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: montini.ext tiago <tiago.montini.ext@sodexo.com>
Co-authored-by: Rodrigo Nascimento <rodrigoknascimento@gmail.com>
Co-authored-by: Weslley de Campos <weslley.campos.ext@sodexo.com>
Co-authored-by: Guilherme Gazzo <guilhermegazzo@gmail.com>
Co-authored-by: Thassio Victor <tvmcarvalho@gmail.com>
Signed-off-by: Debdut Chakraborty <debdut.chakraborty@rocket.chat>
Co-authored-by: Diego Sampaio <chinello@gmail.com>
* Full error message is visible

* Remove `RawText` usage

Co-authored-by: Tasso Evangelista <tasso.evangelista@rocket.chat>
* show placeholder in place of cipher text

* remove unnecessary line break

Co-authored-by: Fábio Albuquerque <fabiosk881@gmail.com>
* Added toolTip Options for Message Menu

* Added more options tool tip for menu
Co-authored-by: dougfabris <devfabris@gmail.com>
* [FIX] Video and Audio not skipping forward

* chore: add preload attr to video attachement

Co-authored-by: Tasso Evangelista <tasso.evangelista@rocket.chat>
Co-authored-by: dougfabris <devfabris@gmail.com>
* fix useEndpointUpload hook

* chore: remove log

Co-authored-by: dougfabris <devfabris@gmail.com>
Filipe Marins and others added 25 commits April 26, 2022 16:49
…25306)

* fix: add stop propagation on open thread

* Fix type

Co-authored-by: gabriellsh <gabriel.henriques@rocket.chat>
…k-bindings (#25319)

* Switch to forked version of matrix-appservice-bridge package

* change yarn lock

* add dependency that is installed indirectly but depended on directly

* fix missing reference

* fix lockfile

Co-authored-by: Douglas Gubert <douglas.gubert@gmail.com>
* Remove null values from messa list

* fix order

* Fix

* Fix type

* review
* fix: bump onboarding-ui version

* fix: update adminData types
…#25317)

* fix: render empty line

* remove style

* add small comment

Co-authored-by: gabriellsh <gabriel.henriques@rocket.chat>
Co-authored-by: gabriellsh <gabriel.henriques@rocket.chat>
…ge preview (#25314)

* fix: custom emoji size

* fix: emoji rendering undefined

* fix: add parser to message thread preview

* refactor: replace css property to css in js

* fix: lint

* refactor: change to is span

* refactor: add message render component

* update emoji component

* fix: remove duplicate css import

* fix: remove disable emoji props and add custom style

* fix: remove unsued props

* fix: render emoji render if not find emoji

* fix: replace conditional

* fix: remove conditional

* fix: undo changes on big

* Use fuselage

* Add missing changes

Co-authored-by: gabriellsh <gabriel.henriques@rocket.chat>
@lgtm-com
Copy link

lgtm-com bot commented May 4, 2022

This pull request introduces 1 alert and fixes 1 when merging 38ac21d into 596881e - view on LGTM.com

new alerts:

  • 1 for Useless conditional

fixed alerts:

  • 1 for Superfluous trailing arguments

@d-gubert d-gubert merged commit 9a59ff4 into master May 4, 2022
@d-gubert d-gubert deleted the release-4.7.0 branch May 4, 2022 13:43
@d-gubert d-gubert mentioned this pull request May 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.