Rocket.Chat icon indicating copy to clipboard operation
Rocket.Chat copied to clipboard

RocketChat doesn't work on Safari browser MacOS

Open oleh-v opened this issue 1 year ago • 16 comments

Description:

RocketCat doesn't open on MacOS+Safari. It runs "the loader" ever. Browser console has errors, and "verifyErrors.js" runs like in the loop... (see screenshots)

safari-0 safari-1 safari-2 safari-3

Steps to reproduce:

  1. Just open in MacOS Safari-browser and try to open RocketChat

Expected behavior:

RocketChat works on MacOS in Safari browser

Actual behavior:

RocketCat doesn't open on MacOS+Safari. It runs "the loader" ever. (screenshot in description)

Server Setup Information:

  • Version of Rocket.Chat Server: 6.4.5
  • Operating System: Centos 7.4
  • Deployment Method: DOCKER
  • Number of Running Instances: 1
  • DB Replicaset Oplog: 128MB
  • NodeJS Version: 14.21.3
  • MongoDB Version: 5.0.22

Client Setup Information

  • Desktop App or Browser Version: Safari 16.0 (17614.1.25.9.10, 17614)
  • Operating System: MacOS 12.6 (21G115)

Additional context

Relevant logs:

in browser console:

[Error] Unhandled Promise Rejection: SyntaxError: Duplicate parameter 'e' not allowed in function with destructuring parameters.
	promiseEmptyOnRejected (d4e87a31a15d379ef7fede162927a08e9efa34b8.js:22:120513)
	promiseReactionJob
Unhandled Promise Rejection: SyntaxError: Duplicate parameter 'e' not allowed in function with destructuring parameters.

oleh-v avatar Nov 20 '23 10:11 oleh-v

I would like to work on it -.

PredictiveManish avatar Nov 20 '23 13:11 PredictiveManish

are you still facing this issue? I could run RC in 6.5 in safari....


Questions? Help needed? Feature Requests?

hugocostadev avatar Dec 01 '23 19:12 hugocostadev

Screenshot 2023-12-04 at 2 52 57 PM It is working for me.. Could you please specify which part is not working exactly..

pranavkonidena avatar Dec 04 '23 09:12 pranavkonidena

We're getting similar reports from our users since upgrading to 6.4.6, but we're still investigating the root cause.

andreaswolf avatar Dec 06 '23 09:12 andreaswolf

We just tested on several machines and it seems it's broken in Safari up to 16.2 and working in 16.5 (that's versions we explicitly tested, I have no idea myself if there were any versions in between).

The behaviour was reproducible on different instances of RocketChat.

andreaswolf avatar Dec 06 '23 10:12 andreaswolf

This issue has been marked as stale because there has been no further activity in the last 10 days. If the issue remains stale for the next 4 days (a total of 14 days with no activity), then it will be assumed that the question has been resolved and the issue will be automatically closed.

github-actions[bot] avatar Dec 16 '23 12:12 github-actions[bot]

I'm having the same problem. It works normally in version 6.3.4.

Infinite loading of RocketChat has been confirmed up to iOS 16.2 version. It operates normally starting from version 16.4.

datamaker avatar Dec 19 '23 07:12 datamaker

Hi guys, what about trying to run in the Safari 17? I didn't face this issue here

hugocostadev avatar Dec 22 '23 17:12 hugocostadev

This issue has been marked as stale because there has been no further activity in the last 10 days. If the issue remains stale for the next 4 days (a total of 14 days with no activity), then it will be assumed that the question has been resolved and the issue will be automatically closed.

github-actions[bot] avatar Jan 01 '24 18:01 github-actions[bot]

We can confirm that this problem still exists.

mddvul22 avatar Jan 03 '24 17:01 mddvul22

Same here, tested on Rocket.Chat versions 6.5.0 and 6.5.3 for iOS 16.2 and below and on an older MacBook running MacOS Big Sur.

The root cause of this issue was fixed in WebKit a while ago in November 2022, but people using "older" hardware who are not willing to invest into a new phone will be unable to use Rocket.Chat on the web.

WebKit references: https://bugs.webkit.org/show_bug.cgi?id=220517 https://github.com/WebKit/WebKit/commit/a44c26d2439a38be3ea8572d80d006ff218bf528

robinreckmann avatar Jan 22 '24 17:01 robinreckmann

This issue has been marked as stale because there has been no further activity in the last 10 days. If the issue remains stale for the next 4 days (a total of 14 days with no activity), then it will be assumed that the question has been resolved and the issue will be automatically closed.

github-actions[bot] avatar Feb 01 '24 18:02 github-actions[bot]

This is not stale, the error is not fixed AFAICS.

andreaswolf avatar Feb 02 '24 09:02 andreaswolf

The following seems to fix the issue (tested with Rocket.Chat 6.5.3 base on iPad OS 14.7.1):

Change the file "MultiSelectCustomListWrapper.tsx" in packages/ui-client/src/components/MultiSelectCustom as follows:

Before:

import { Box } from '@rocket.chat/fuselage';
import { forwardRef, type ComponentProps } from 'react';

const MultiSelectCustomListWrapper = forwardRef<Element, ComponentProps<typeof Box>>(function MultiSelectCustomListWrapper(
        { children },
        ref,
) {
        return (
                <Box ref={ref} zIndex='2' w='full' position='absolute' mbs={40} pbs={4}>
                        {children}
                </Box>
        );
});

export default MultiSelectCustomListWrapper;

After:

import { Box } from '@rocket.chat/fuselage';
import { forwardRef, type ComponentProps } from 'react';

const MultiSelectCustomListWrapper = forwardRef<Element, ComponentProps<typeof Box>>(function MultiSelectCustomListWrapper(
        props,
        ref,
) {
        const { children } = props;
        return (
                <Box ref={ref} zIndex='2' w='full' position='absolute' mbs={40} pbs={4}>
                        {children}
                </Box>
        );
});

export default MultiSelectCustomListWrapper;

Then build meteor with the --platforms web.browser flag (like meteor build --server-only --platforms web.browser --directory /tmp/rc-build) to build Rocket.Chat without the legacy browsers packages. After that, clear the Safari cache for your website running Rocket.Chat (really important if you tried accessing your Rocket.Chat instance before on the same device as a GUI crashed screen will likely be shown without clearing the cache).

A full build routine for a docker image includes the following steps for me (using Ubuntu with WSL2 on Windows with Node.js, meteor and yarn installed as stated here):

  1. git clone the official Rocket.Chat repository and change the file mentioned above accordingly, then cd to the Rocket.Chat directory
  2. yarn
  3. yarn dsv
  4. export METEOR_ALLOW_SUPERUSER=true
  5. cd ~/Rocket.Chat/apps/meteor
  6. METEOR_DISABLE_OPTIMISTIC_CACHING=1 meteor build --server-only --platforms web.browser --directory /tmp/rc-build
  7. cp .docker/Dockerfile /tmp/rc-build
  8. cd /tmp/rc-build
  9. docker build -t <your image name> .

robinreckmann avatar Feb 03 '24 08:02 robinreckmann

This issue has been marked as stale because there has been no further activity in the last 10 days. If the issue remains stale for the next 4 days (a total of 14 days with no activity), then it will be assumed that the question has been resolved and the issue will be automatically closed.

github-actions[bot] avatar Feb 13 '24 12:02 github-actions[bot]

… still not stale.

andreaswolf avatar Feb 13 '24 13:02 andreaswolf

This issue has been marked as stale because there has been no further activity in the last 10 days. If the issue remains stale for the next 4 days (a total of 14 days with no activity), then it will be assumed that the question has been resolved and the issue will be automatically closed.

github-actions[bot] avatar Feb 24 '24 00:02 github-actions[bot]

AFAICS this is not fixed yet, is it?

andreaswolf avatar Feb 27 '24 09:02 andreaswolf

This issue has been marked as stale because there has been no further activity in the last 10 days. If the issue remains stale for the next 4 days (a total of 14 days with no activity), then it will be assumed that the question has been resolved and the issue will be automatically closed.

github-actions[bot] avatar Mar 08 '24 18:03 github-actions[bot]

… still not stale AFAICS

andreaswolf avatar Mar 08 '24 18:03 andreaswolf

This issue has been marked as stale because there has been no further activity in the last 10 days. If the issue remains stale for the next 4 days (a total of 14 days with no activity), then it will be assumed that the question has been resolved and the issue will be automatically closed.

github-actions[bot] avatar Mar 19 '24 06:03 github-actions[bot]

This issue was closed because it has been inactive for 14 days since being marked as stale.

github-actions[bot] avatar Mar 23 '24 06:03 github-actions[bot]

I'm pretty sure this is not fixed yet.

andreaswolf avatar Mar 23 '24 13:03 andreaswolf