People modify animationDuration because they want a snappy client.
But it also affects a few things that do not contribute to that
and should remain constant speed:
- Busy indicator
- Progress bar animation
- Ping indicator in AddAccount ServerBrowser
- Image rotation button cooldown
AddChat and AccountSettings:
- When clicking the cancel button, if there's no previous back to go
back to, focus the main pane instead of doing nothing
AccountSettings:
- Always enable the cancel button, not just when the form has been
modified
AddChat, AccountSettings, ServerBrowser:
- Pressing escape will do the same thing as clicking the cancel button
In "mobile mode" where main pane is hidden due to application's width:
- Show a back button in the tab bar of the AccountSettings and
AddChat pages
- Show a back button in the address field (opposite to the "next
button") of the ServerBrowser, unless there are no accounts added yet
(application first run) and the main pane would be empty
Returning a Future doesn't work on Windows for some reason
(https://github.com/thp/pyotherside/issues/116).
Instead of using these objects from QML to cancel running coroutines,
call a Python QMLBridge function that takes a coroutine UUID and will
take care of the cancelling.
Contact the server's .well-known API before anything to get
available login flows instead of blindly assuming it will be
m.login.password, and to get the server's real URL instead of
requiring users to remember that e.g. it's "chat.privacytools.io"
and not just "privacytools.io" despite user IDs making it look like so.
The server field will also now remember the last accepted URL.