@DieGurke,as I don't want to interfere with your branch at all, I only
added the absolute minimum that should be mergeable without conflict.
I leave the rest of the implementation (usage in ChatScene, ChatControl
and referencing in FXML) up to you.
There's no way in hell I'll risk your wrath...
These are:
* different size of addContact- and SettingsButton
* default icons in light mode for users and groups (even though they are
currently just the version used in dark mode)
* wrong preferred size of unnamed "Login" label in LoginScene
* unopenable LoginScene for some OS (Debian)
* white screen when the current scene is switched
Additionally cleaned up code a bit in MessageControl and
LoginScene(.java)
A bug remains when the total status of a group message is SENT, but the
individual status for the client user is RECEIVED. In this case, the
counter should be incremented but isn't.
Common
* Replace LocalDateTime with Instant everywhere
Client
* Display message creation date with system time zone in MessageControl
* LocalDB#users now strictly contains Users
* lastSync time stamp in LocalDB (saved per user)
* isOnline parameter in save function (lastSync updated if true)
* lastSync time stamp in LoginCredentials
* No ClientConfig#getLoginCredentials because of missing information,
moved to LoginScene
* Pass LocalDB#lastSync to LoginCredentials in LoginScene
Server
* Explicit lastSync parameter for
PersistenceManager#getPending(Group)Messages
This sends the correct time stamp to the server, however the JPQL
queries have yet to be adjusted.
- Refactor chatList to userList in ContactSearchScene and
GroupCreationScene
- Narrow contact searches down to users on a datamodel basis
- Refactor ContactSearchRequest and ContactSearchResult to
UserSearchRequest and UserSearchResult
The new class ContactControl displays the contact name and status (user)
or member count (group) and is used inside ChatControl, which adds the
unread message count label.