user_status: Fix bug with resetting away status.

The fix is pretty simple here--if the client
doesn't send an away status, then don't change
it.

I improved the tests to cover this case.

Fixes #17071
This commit is contained in:
Steve Howell
2021-01-20 18:14:53 +00:00
committed by Steve Howell
parent 5da304d902
commit 36b1794c1d
2 changed files with 40 additions and 1 deletions

View File

@@ -4183,7 +4183,9 @@ def do_update_user_status(user_profile: UserProfile,
away: Optional[bool],
status_text: Optional[str],
client_id: int) -> None:
if away:
if away is None:
status = None
elif away:
status = UserStatus.AWAY
else:
status = UserStatus.NORMAL