#1581 closed task (fixed)
html5 2.2 updates
Reported by: | Antoine Martin | Owned by: | J. Max Mena |
---|---|---|---|
Priority: | major | Milestone: | 2.2 |
Component: | html5 | Version: | trunk |
Keywords: | Cc: |
Description (last modified by )
Follow up from #1491 (for 2.1).
Now also on github where pull requests can be submitted: https://github.com/totaam/xpra-html5/
Change History (10)
comment:1 Changed 4 years ago by
Status: | new → assigned |
---|
comment:2 Changed 4 years ago by
Description: | modified (diff) |
---|
comment:3 Changed 3 years ago by
As of r16824, we expose this information to the server as "connection-data" for each client that provides it.
The big problem is that this connection API looks buggy as hell, at least the downlink
value is.
Here is some data with a Fedora 26 server, chrome 62 Fedora 26 client, the "download" value is nowhere near the system settings (values are in bits per second):
- 100 Mbps interface:
'rtt': 100, 'downlink': 100000, 'effective-type': '4g'
, 1000 times less! - same interface but reconfigured as half-duplex 10Mbps with
ethtool -s eth0 speed 10 duplex half
:'rtt': 300, 'downlink': 1350000, 'effective-type': '3g'
, closer only ~6 times lower... (same values with full duplex) - after re-configuring it to 100 Mbps.. now same as 10 Mbps...
- loopback interface:
'rtt': 100, 'effective-type': '4g'
- chrome 61 on win32 connecting via a paravirtualized network driver (1000Mbps?):
'rtt': 100, 'downlink': 1450000, 'effective-type': '4g'
- Windows 7 server, Linux client over paravirtualized network driver:
'rtt': 100, 'effective-type': '4g'
- Windows 7 server, local client:
'rtt': 75, 'downlink': 1450000, 'effective-type': '4g'
Firefox 55 and Safari 10.1.2 have no support for this API yet.
So, if anything the "effective-type" is more reliable than the "downlink" value.
And I've tried turning on and off my network interfaces, the "onchange" event handler never fired... so we can't use that to detect when the network connection drops.
comment:4 Changed 3 years ago by
See OffscreenCanvas: it isn't supported everywhere but it could potentially speed things up quite a bit, allowing us to split the picture decoding and the actual paint. (exactly like the regular client does with its decode thread)
See also ticket/1637#comment:2, we should already be able to decode pictures in parallel (as long as the browser supports this) and only update the canvas in the right order.
comment:5 Changed 3 years ago by
Owner: | changed from Antoine Martin to J. Max Mena |
---|---|
Status: | assigned → new |
Updates:
- r16566 favicon set to window icon when there is only one (ie: desktop mode)
- r16600 clipboard fix (backported)
- r16666 preserve sessions items, without the password
- r16704 warn if jquery is missing (backported)
- r16744 raise timeout
- r16890 avoid deep recursion when painting
- r16996 better vfb resizing support
- r17104 + r17105 paint fixes (backported)
- r17106 disable image smoothing, etc
- r17111 enable "flush" paints, etc
- r17112 + r17194 + r17195: scrolling fixes (backported)
- r17158 cosmetic progress bar change
- r17243 new authentication modes
- r17255 bandwidth-limit (see ticket:417#comment:9)
Will follow up in #1670.
@maxmylyn: just a FYI, feel free to close. (SB might want to merge some of this)
comment:7 Changed 3 years ago by
comment:8 Changed 3 years ago by
The bandwidth detection code caused a regression: ticket:1729#comment:13
comment:9 Changed 3 years ago by
comment:10 Changed 6 weeks ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1581
As part of the network layer work (#1590), it would be very useful to hook into the Network Information API to have some information about the type of connection the browser is using, what latency can be expected, get notified about (dis)connection events, etc
This information could be provided to the server as hints it can feed into its own heuristics.