Skip to content

RC6 messages are sent but are left grayed out #28824

@Gummikavalier

Description

@Gummikavalier

Description:

Not to be confused with previous issues with grayed out messages.

Quite often, particularly after leaving and returning to a thread, newly sent messages don't finish their animation and are left grayed out.

This issue started in RC6.0.x.

Steps to reproduce:

Prerequisites:
Admin -> General -> REST API -> Use REST instead of websocket for Meteor calls` is turned on. The issue triggers also when using websockets but much more randomly.

Happens in any configuration in RC6.0.1 and RC 6.1.1 as long as you follow the below procedure.

Two users. Two browser windows. (Chrome and Firefox will do.)

  1. Create a thread as User1. Thread view mode does not matter (expand or collapse).
  2. Send few messages in the thread as User1.
  3. Send few messages in the thread as User2. Stay in the thread view.
  4. Send one more message in the thread as User1.
  5. As User2, close the thread view and return to it.
  6. As User2, type a message into the thread.

Variant 2 of the same issue, reproducible with one user by hopping channels:
#28824 (comment)

Expected behavior:

All messages are sent and animate as normal in all situations.

Actual behavior:

Messages are sent but their animation start failing for User2.

When User2 returns to thread again, grayed out messages change slowly their color to black (the animation continues as usual).

At this point any new messages sent by User2 on this thread also fail to animate properly, until revisiting outside of the thread.

Screenshot from 2023-04-06 14-16-31

The issue continues repeating for that thread until User2 refreshes their session (F5 / reload).

Server Setup Information:

  • Version of Rocket.Chat Server: 6.1.1
  • Operating System: RHEL8
  • Deployment Method: tar
  • Number of Running Instances: 2
  • DB Replicaset Oplog: Yes
  • NodeJS Version: 14.21.2
  • MongoDB Version: 5.0

Client Setup Information

  • Desktop App or Browser Version: Latest Chrome and Firefox

Relevant logs:

On the very first time when this issue happened in Chrome I got these errors from the F12 -> console.

Auto-Translate is disabled [error-autotranslate-disabled]
(anonymous) @ 2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:1636


Deprecated: RoomCoordinator.getRouteData received a room object
getRouteData @ 2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:1636

And after verbose switched on:

[Violation] Forced reflow while executing JavaScript took <N>ms
[Violation] Forced reflow while executing JavaScript took 40ms
[Violation] Forced reflow while executing JavaScript took 37ms
[Violation] Forced reflow while executing JavaScript took 40ms
[Violation] Forced reflow while executing JavaScript took 52ms
[Violation] Forced reflow while executing JavaScript took 38ms
[Violation] Forced reflow while executing JavaScript took 36ms
[Violation] Forced reflow while executing JavaScript took 38ms

[Violation] 'requestAnimationFrame' handler took 51ms
6[Violation] 'setTimeout' handler took <N>ms
2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:5 [Violation] 'setTimeout' handler took 53ms
2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:5 [Violation] 'setTimeout' handler took 51ms
2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:1285 [Violation] 'setTimeout' handler took 68ms
2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:5 [Violation] 'setTimeout' handler took 50ms
2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:5 [Violation] 'setTimeout' handler took 52ms
2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:1285 [Violation] 'setTimeout' handler took 85ms
2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:1 [Violation] 'setInterval' handler took 71ms
2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:1 [Violation] 'setInterval' handler took 103ms
2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:1636 [Violation] 'click' handler took 230ms
2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:1519 [Violation] 'mousemove' handler took 152ms
2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:1268 [Violation] 'blur' handler took 154ms
2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:1636 [Violation] 'click' handler took 156ms
2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:1393 [Violation] 'message' handler took 172ms
2fdd7b8fe210407be6410128d5daae2111607af2.js?meteor_js_resource=true:1 [Violation] 'setInterval' handler took 66ms

Also then the issue is on, the element still has this CSS in it, so at least partly the browser considers the message being still in pending state (even when it has been successfully sent):

.rcx-message.rcx-message--pending div.rcx-box.rcx-box--full.rcx-message-container div.rcx-message-body div.rcx-box.rcx-box--full.rcx-css-gln5p7

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions