Xpra: Ticket #1688: warning notifications
If something goes wrong, the message ends up in the console output and server log (via remote logging), but most users won't look there and will therefore be unaware of the problem.
We should add an option to allow notifications to be used for major events, ie: another user joined the session, file uploads (#1375), the connection is having problems (#401)
The initial warnings during the client startup could be bunched up together to avoid spamming the notification system with multiple messages on startup.
In any case, this should probably be rate limited and controllable from the system tray menu.
See also: #1492, #1305
Tue, 14 Nov 2017 14:10:33 GMT - Antoine Martin: status, description changed
changed from new to assigned
Sun, 26 Nov 2017 13:05:22 GMT - Antoine Martin: milestone changed
changed from 3.0 to 2.3
Mon, 22 Jan 2018 15:50:28 GMT - Antoine Martin:
Large change in r18110: refactoring + a user joining the session will trigger a notification message sent to:
- all other connected users for seamless sessions
- the session itself for shadow sessions
- tie the notification to our tray (on win32)
- send notifications to the user whose connection is having problems (congestion events), rate limited
- maybe file uploads - though #1375 already provides a dialog..
Tue, 23 Jan 2018 12:52:02 GMT - Antoine Martin:
- r18111 + r18113: the notifications are now tied to our system tray on win32
- r18116: refactoring preparation for bandwidth congestion warnings
- better bandwidth congestion detection: the heuristics may be improved (detecting late acks) and this should fire the "congestion" handling code
- maybe add a way for us to intercept the notification "action" response, so we can fire code server side?
Fri, 26 Jan 2018 15:25:58 GMT - Antoine Martin:
Tue, 30 Jan 2018 08:10:47 GMT - Antoine Martin: owner, status changed
changed from Antoine Martin to J. Max Mena
changed from assigned to new
- mostly done for bandwidth issues in r18194 (#401 closed as a duplicate of this bug): when we detect multiple network congestion events (more than
XPRA_CONGESTION_WARNING_EVENT_COUNT=10 in the last 10 seconds) we send a notification to the client with an optional action to lower the bandwidth limit. We use #1676 to keep things in sync with the client, works for "bandwidth-limit", adding support for changing the "min-quality" using a notification action would require a bit more work.
The new "-d bandwidth" debug switch can be used to see how we try to manage the bandwidth.
From now on, we can easily add more warning notifications as we go along.
XPRA_ACK_TOLERANCE=0 may be enough to go over the threshold, or lower
XPRA_CONGESTION_WARNING_EVENT_COUNT, and/or use a bandwidth limiter (see #417), then generate lots bandwidth (ie: glxspheres): notification allows the client to lower the bandwidth limit (unless it is already so low it cannot be lowered)
- enable sharing and connect with more than one client: notification shows details about the new user connecting
- start the server with:
xpra start --idle-timeout=20 and connect a client (you should be able to cancel the timeout)
All of this should work equally well on all platforms, including the html5 client. But full backwards compatibility with older clients is not possible and those will just not be aware of the notification actions.
Thu, 01 Feb 2018 23:52:22 GMT - J. Max Mena: owner changed
changed from J. Max Mena to Antoine Martin
Okay I've tested this on every platform I have available to me immediately:
- I made the mistake of clicking the update button thinking it would only take a few minutes. Boy was I wrong. I won't be making that mistake again.
Everything appears to be working as expected. Is there anything left to do or should I close this?
Fri, 02 Feb 2018 04:32:41 GMT - Antoine Martin: status changed; resolution set
changed from new to closed
set to fixed
Fri, 02 Feb 2018 12:01:36 GMT - Antoine Martin:
Also use notifications for reporting failures in:
Minor related fixes:
- r18264: notification errors should not cause connection failures
- r18265: use a valid notification id to prevent errors with some backends that require it to be a uint32 (ie: win32)
- r18266: failures to show a notification should not cause further breakage
Sat, 23 Jan 2021 05:31:07 GMT - migration script:
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1688