webmin / authentic-theme

Official theme for the best server management panel of the 21st Century
https://authentic-theme.com
MIT License
949 stars 164 forks source link

Safair JS errors #1688

Closed X25guru closed 9 months ago

X25guru commented 9 months ago

Reporting that 21.09.5 doesnt work with Safari 15.6 (the latest that works with pre 2015 Imacs running Catalina) and also doesnt work with Safari 17.1 (the latest for pre 2017 macs running Monterey). Both throw JS errors that I can't help debug because of the uglified code.

It would be useful if you supplied a bundled but not uglified version so people could try to fix or help debug these problems. Running the latest jquery is guaranteed to break the system with older browsers, which makes no sense for a general purpose theme. Requiring that every user be running the latest OS is not a possitiliby

iliajie commented 9 months ago

Hello,

We have to minify the code in one single package for speed and simplicity. Besides, minified code won't stop you from debugging the problem, even in Safari - the code is the code, especially when it gets down to incompatibility errors.

Moreover, you could always use Firefox or Chrome on Mac. Safari doesn't get along well with complicated webapps, especially older versions of Safari. Jake Archibald mentioned it number of times in his podcasts.

Anyway, what is the exact error do you see in your Safari browser? Can you provide a screenshot of an error in Safari console? By the way, it works for me perfectly fine in Safari 17 and worked just fine in previous versions of Safari. I'm mystified why it fails for you. Have you tried private window?

X25guru commented 9 months ago

The problem isn't the minify; you're bundling an already uglfified version of jquery so it just appears as a very long unreadable line in the debugger. If you bundle development versions and then minify you can unminify and use it to debug. You can't have every browser in house so it's a good idea to put a development version on git so users can debug stuff for you .

Safari doesnt "get along with complicated web apps" because developers insist on using the latest new thing and don't test with older browsers. There's no reason for Webmin to be a "complicated web app"; themes written in 2005 still work. Our complicated GUI works on old browsers because we test with old browsers to make sure it works.

After rebooting Safari 17 works ok. The first error on Safari 15 is actually in authentic-init.pl (page.branding.process() variable page not found) Fixing that I get an error within jquery ajax (invalid group in reg expression). I've already spent too much time on this so I've just installed an old version 19 copy I had used before and it works ok.

We use webmin on an appliance so we really dont have control over what browsers customers are using. Here in the US there's a huge market for used iMACS; I can get a beautiful 5K mac for less than.a decent monitor; so supporting older browsers is going to be something to consider for years to come. Chrome still works on the older macs, but that is likely to change at come point also. I'll use the original webmin theme before I install firefox on one of my systems.

btw jquery 3.7.1 works on Safari 15 so its probably one of the other jqueryplugins

ljmac commented 9 months ago

I second this - many people aren't using the latest version of Safari, including those of us who aren't rich enough to own the latest iPhones (all browsers in iOS use the Safari engine). And everything up to version 20 worked just fine - there Is simply no good reason you cannot maintain compatibility for this.

iliajie commented 9 months ago

Safari 15.3, released on January 26, 2022, fixed various security vulnerabilities. These included issues in WebKit, the engine powering Safari, where processing maliciously crafted web content could lead to arbitrary code execution or prevent Content Security Policy from being enforced. Additionally, a vulnerability was addressed where processing a maliciously crafted mail message could lead to running arbitrary JavaScript.

Moreover, a critical security bug was identified in Safari 15 that could leak browsing history information and even credentials from online services. This vulnerability was related to the IndexedDB API and how Safari managed local databases, potentially allowing a malicious website to access sensitive user information.

It's always recommended to keep your browser up to date to benefit from the latest security patches and improvements.

I will not support it for your own good! Either find the way to update Safari to the latest version or use the latest version of Chrome or Firefox!