Rocket.Chat
Rocket.Chat copied to clipboard
RocketChat doesn't work on Safari browser MacOS
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)
Steps to reproduce:
- 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.
I would like to work on it -.
are you still facing this issue? I could run RC in 6.5 in safari....
Questions? Help needed? Feature Requests?
- Join our Open Server in the #support channel and feel free to raise a question
- Join our Community Forum and search/create a post there
- Feature Request: Open an issue in Feature Request repository
We're getting similar reports from our users since upgrading to 6.4.6, but we're still investigating the root cause.
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.
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.
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.
Hi guys, what about trying to run in the Safari 17? I didn't face this issue here
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.
We can confirm that this problem still exists.
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
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.
This is not stale, the error is not fixed AFAICS.
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):
- git clone the official Rocket.Chat repository and change the file mentioned above accordingly, then cd to the Rocket.Chat directory
-
yarn
-
yarn dsv
-
export METEOR_ALLOW_SUPERUSER=true
-
cd ~/Rocket.Chat/apps/meteor
-
METEOR_DISABLE_OPTIMISTIC_CACHING=1 meteor build --server-only --platforms web.browser --directory /tmp/rc-build
-
cp .docker/Dockerfile /tmp/rc-build
-
cd /tmp/rc-build
-
docker build -t <your image name> .
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.
… still not stale.
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.
AFAICS this is not fixed yet, is it?
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.
… still not stale AFAICS
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.
This issue was closed because it has been inactive for 14 days since being marked as stale.
I'm pretty sure this is not fixed yet.