Xpra-org / xpra-html5

HTML5 client for Xpra
Mozilla Public License 2.0
209 stars 55 forks source link

Insufficient check for webkit #272

Closed dexion closed 10 months ago

dexion commented 10 months ago

Hi! My original comment

We should check for string "webkit" instead of "safari". Because the root of the problem is in the "WebKit". We may have a lot of different apps, based on webkit without any link to "safari". Examples of some UA: pure webkit: User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) safari: User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1 Safari/605.1.15 FF: User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:120.0) Gecko/20100101 Firefox/120.0

totaam commented 10 months ago

Please see 32611a767bc1467b7e64246d25856538a1773fe7

totaam commented 10 months ago

@dexion perhaps Google Chrome is the same and what is now required to make offscreen rendering work is an https context: https://github.com/Xpra-org/xpra-html5/commit/52742e3f78fee5c098778f68094f7c58e603f22a

If that's the case, the change above disables offscreen rendering unnecessarily for these webkit base browsers. Unfortunately, I can't test this hypothesis.

totaam commented 10 months ago

If someone can test these webkit browsers with https, then perhaps we can loosen the validation check and allow them to use offscreen again.

dexion commented 10 months ago

@dexion perhaps Google Chrome is the same and what is now required to make offscreen rendering work is an https context: 52742e3

If that's the case, the change above disables offscreen rendering unnecessarily for these webkit base browsers. Unfortunately, I can't test this hypothesis.

Latest chrome 119.0.6045.199 works fine with xpra 5.0.3, xpra-html5 v.9, SSL and default settings

totaam commented 10 months ago

@dexion from my testing, offscreen rendering did not work with latest Chrome without SSL, hence the change. What I am wondering is if the other webkit browsers were failing for the same reason (lack of SSL).

dexion commented 10 months ago

I tried safari 17.1 in both modes: offscreen rendering won't work neither SSL or noSSL. 119.0.6045.199 chrome's offscreen rendering works normaly with and without SSL. Checked on mac.

totaam commented 10 months ago

Chrome 120 requires SSL.