Commit Graph

49 Commits

Author SHA1 Message Date
Kai S. K. Engelbart dcf1b0c58d
Send Pending Messages After Successful Handshake (#111)
Instead of caching pending messages during the handshake and relaying
them afterwards, they are now sent after the handshake has been
completed.

This is possible because the relevant processors (messages and status
changes) are now event handlers which are registered at the event bus,
which means that they can immediately react to pending messages even if
Client#initReceiver has not been fully executed yet.

Because Client#initReceiver exists for that very reason, it is no
longer necessary anymore. ID generator initialization, which was its other part,
is now directly handled in Startup#performHandshake, which is a far more
sensible placement.

Fixes #106

Reviewed-on: https://git.kske.dev/zdm/envoy/pulls/111
Reviewed-by: DieGurke <maxi@kske.dev>
2020-12-02 21:21:00 +01:00
Leon Hofmeister e5659c1da1
Remove account deletion on the server 2020-10-31 16:57:26 +01:00
Leon Hofmeister f67ca1d61d
Add option to delete your account 2020-10-31 16:56:31 +01:00
Leon Hofmeister 7a883861be
Apply suggestions by @kske 2020-10-30 12:07:56 +01:00
Leon Hofmeister d4c7813c97
Fix unnecessary authentication token being sent in requests 2020-10-23 18:45:40 +02:00
Leon Hofmeister fccd7e70b1
Disable crashing the server when Hibernate panics after oopsing 2020-10-23 00:15:37 +02:00
Leon Hofmeister 2eeb55ed52
Add client side errors in case of data initialization with null values 2020-10-22 23:58:55 +02:00
Leon Hofmeister 44d3082958
Fix bug allowing unauthorized access to a client
Additionally token authentication is now used whenever the client is
online
2020-10-22 23:05:51 +02:00
Leon Hofmeister b2c3cf62c8
Reformat all source files with new formatter 2020-10-19 18:17:51 +02:00
Leon Hofmeister a0812f193e
Add working leaving of a group
Additionally fixed a two bugs:
- one group member will no longer show "1 members"
- deletion of empty groups no longer throws an exception
2020-10-19 18:09:19 +02:00
Leon Hofmeister ebe19c00c9
Move context menu from ChatScene globally to ChatControl specific
Additionally fixed a small bug in UserCreationProcessor and when
deleting a contact offline
2020-10-19 18:09:19 +02:00
Leon Hofmeister 571a953c40
Add partially working blocking and deletion (for both client and server)
Additionally had to refactor several classes "a little bit".
(Whenever one bug seemed fixed, another one appeared...)
2020-10-19 18:09:19 +02:00
Leon Hofmeister a515ec961a
Add server side contact deletion 2020-10-19 18:09:19 +02:00
Leon Hofmeister 637ad9f61f
Added ability to change user status 2020-10-07 23:43:30 +02:00
Leon Hofmeister f2eb89d469
Make PersistenceManager Less Error Prone (#83)
Reviewed-on: https://git.kske.dev/zdm/envoy/pulls/83
Reviewed-by: kske <kai@kske.dev>
Reviewed-by: DieGurke <maxi@kske.dev>
2020-10-07 22:13:42 +02:00
Leon Hofmeister 80795a3fc2 Add Ability to Delete Messages Locally (#70)
Merge branch 'develop' into f/delete-messages
Additionally added system commands to copy, delete or save attachments of selected messages

Reviewed-on: https://git.kske.dev/zdm/envoy/pulls/70
Reviewed-by: kske <kai@kske.dev>
Reviewed-by: DieGurke <maxi@kske.dev>
2020-09-30 20:50:58 +02:00
Leon Hofmeister 3f0267624c Bumped Version References One Version Up (v0.3-beta) (#64)
Additionally removed <Project:File:Date:> headers from javadoc suggestions

Reviewed-on: https://git.kske.dev/zdm/envoy/pulls/64
Reviewed-by: DieGurke <maxi@kske.dev>
Reviewed-by: kske <kai@kske.dev>
2020-09-27 17:39:28 +02:00
Maximilian P. Käfer 829e94fa5f Fixed Bug Regarding Incorrect Pending MessageStatuses in LoginCredentialsProcessor (#61)
Merge branch 'develop' into b/fixing_message_bugs

fixed not receiving pending messageStatus bug

Co-authored-by: delvh <leon@kske.dev>
Reviewed-on: https://git.kske.dev/zdm/envoy/pulls/61
Reviewed-by: kske <kai@kske.dev>
Reviewed-by: delvh <leon@kske.dev>
2020-09-27 15:55:59 +02:00
Kai S. K. Engelbart ede50ed3e5
Fix Javadoc errors spotted by @delvh 2020-09-27 12:06:01 +02:00
Kai S. K. Engelbart 8eb7743057
Remove Javadoc header from all source files
Also removed SendEvent and simplified some other calls.
2020-09-25 14:29:23 +02:00
Leon Hofmeister 41f07dc452 Fixed Transactions not Getting Closed on the Server (#42)
Fixes #16
Reviewed-on: https://git.kske.dev/zdm/envoy/pulls/42
Reviewed-by: kske <kai@kske.dev>
2020-09-22 17:02:50 +02:00
Kai S. K. Engelbart 3e594c1fbd
Handle handshake rejections on invalid token, reuse not expired tokens 2020-09-19 13:33:18 +02:00
Kai S. K. Engelbart f21d077522
Add token-based authentication (without rejection handling) 2020-09-19 11:37:42 +02:00
Kai S. K. Engelbart ec6b67099f
Add token to login credentials and database user 2020-09-18 11:29:05 +02:00
Kai S. K. Engelbart 465ed20efa
Replace the internal event bus with Event Bus 0.0.3
The Event class has been retrofitted to implement IEvent, so that no
event implementations had to be changed.
2020-09-08 20:41:01 +02:00
Leon Hofmeister 74a1f8232b
Restored compatability with new VCS 2020-09-06 12:17:45 +02:00
delvh 572541e381 Fixed bug disabling server startup
For further information please take a look at the first Javadoc comment
in envoy.data.Config
2020-08-24 23:20:11 +02:00
delvh ddbf9acd07 Apply suggestions from code review
Co-authored-by: CyB3RC0nN0R <kske@outlook.de>
2020-08-23 22:05:50 +02:00
delvh c784ebb787 Added option to disable attachments and groups on both client and server 2020-08-22 18:14:26 +02:00
delvh eb4e421974 Made every class that can be final final 2020-08-22 13:51:17 +02:00
delvh 4bbc4189ec Updated config mechanism and added config for the server
Additionally fixed a small bug in EnvoyLog and envoy.server.Startup,
fixed Receiver not stopping when the server was stopped
and added access token authorization for the server config
2020-08-22 13:15:42 +02:00
delvh 2cb124505d Apply suggestions from code review
Additionally moved issue sanitization from server to client.

Co-authored-by: DieGurke <maxi@kske.dev>
Co-authored-by: CyB3RC0nN0R <kske@outlook.de>
2020-08-20 13:49:23 +02:00
delvh f4a3bfed97 Added option to autocreate bug issues on client and server side
Additionally cleaned up a few classes a bit
2020-08-16 17:14:41 +02:00
delvh 56bb00cd32 Added logging and fixed some security concerns 2020-08-01 14:57:08 +02:00
delvh 0d77fbf831 Added ability to change the password, theoretically on client and server
(needs testing!)
2020-08-01 10:17:39 +02:00
delvh 719aa4cd4f Added profile pic change mechanism on client and common side 2020-08-01 10:00:29 +02:00
delvh 498f3ef43d Added ability to change the user name on the client side 2020-08-01 09:54:18 +02:00
Kai S. K. Engelbart 3cbe3b5045 Merge pull request #31 from informatik-ag-ngl/f/simple_object_processor
Remove ObjectProcessor#getInputClass
2020-07-31 16:49:04 +00:00
delvh e216152e6b Added ability to save attachments 2020-07-27 12:00:49 +02:00
Kai S. K. Engelbart 63f42ab8d9 Remove ObjectProcessor#getInputClass
Replace an explicit input class declaration with nasty reflection code.
2020-07-25 17:34:19 +02:00
delvh 5a5e6e2086 Refactored IsWriting to IsTyping 2020-07-25 17:13:50 +02:00
delvh 6f8859c3fd Added IsWriting event on common, server and partially on client side
additionally fixed NullPointerException in ContactSearchScene and typo
in Javadoc

PS: this is the 1000th commit in Envoy! 🥳 🎉
2020-07-25 16:26:13 +02:00
Kai S. K. Engelbart 47ab5d1e0c Fix unread message counter
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.
2020-07-17 00:27:00 +02:00
Kai S. K. Engelbart afcf1e48a4 Remove filter from ReceivedMessageProcessor, improve handshake
The user is sent after the messages to avoid receiving messages on the
client while switching from handshake to normal mode.
2020-07-16 21:14:37 +02:00
Kai S. K. Engelbart 43c1edae39 Adjust message queries for handshake sync
This causes problems with group messages as the received date is null
sometimes even though the status is RECEIVED.

The ReceivedMessageProcessor on the client filters out the synced
messages at the moment.
2020-07-16 18:32:40 +02:00
Kai S. K. Engelbart 07c4ccf3c8 Prepare handshake synchronization
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.
2020-07-16 17:04:35 +02:00
Kai S. K. Engelbart 4bc393b055 Rename ContactSearchProcessor to UserSearchProcessor 2020-07-13 21:34:21 +02:00
Kai S. K. Engelbart 659a468049 Add ContactListCellFactory
- 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
2020-07-13 19:02:40 +02:00
Kai S. K. Engelbart 40dbc8152a Move Envoy Server Standalone to server/ subdirectory 2020-07-13 11:40:00 +02:00