Commit Graph

35 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
Kai S. K. Engelbart e3052a2133
Reuse the same scene in SceneContext by switching root nodes 2020-11-06 17:27:54 +01:00
Kai S. K. Engelbart 0ce8b0c89d
Move SceneInfo to separate file 2020-11-06 08:58:13 +01:00
Leon Hofmeister 98f59c1383
Fix bug displaying the double amount of unread messages
Additionally remove ChangeHandlers in SettingsItem and show
StatusTrayIcon whenever supported
2020-10-21 22:14:04 +02:00
Leon Hofmeister b2c3cf62c8
Reformat all source files with new formatter 2020-10-19 18:17:51 +02:00
Leon Hofmeister 77a75fc37c
Apply suggestions by @kske
Additionally fixed three bugs/ inconsistencies:
- status changing keyboard shortcuts are present again
- deleted cells no longer show a hand cursor
- any event method in LocalDB needing higher priority now has priority
500
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 75f0a65517
Add Enhanced Keyboard Shortcut Mechanism (#91)
Reviewed-on: https://git.kske.dev/zdm/envoy/pulls/91
Reviewed-by: DieGurke <maxi@kske.dev>
Reviewed-by: kske <kai@kske.dev>
2020-10-12 16:12:23 +02:00
Leon Hofmeister fa2a5d0b24
Fix Bug resetting user status on login 2020-10-09 18:23:00 +02:00
Leon Hofmeister a4e9474b97 Fixed Saving When Using Alt F4 and Disabled Hiding If StatusTrayIcon is not supported(#65)
Fixed potentially not saving when using alt f4 and disabled hiding if
StatusTrayIcon is not supported
Reviewed-on: https://git.kske.dev/zdm/envoy/pulls/65
Reviewed-by: kske <kai@kske.dev>
Reviewed-by: DieGurke <maxi@kske.dev>
2020-09-28 15:58:42 +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
Kai S. K. Engelbart d70a848ef3
Merge branch 'develop' into f/logout
Conflicts:
	client/src/main/java/envoy/client/data/CacheMap.java
	client/src/main/java/envoy/client/data/commands/SystemCommandsMap.java
	client/src/main/java/envoy/client/net/Client.java
	client/src/main/java/envoy/client/ui/Startup.java
	client/src/main/java/envoy/client/ui/StatusTrayIcon.java
	client/src/main/java/envoy/client/ui/controller/ChatScene.java
	client/src/main/java/envoy/client/ui/controller/ContactSearchTab.java
2020-09-27 15:27:11 +02:00
Leon Hofmeister 108db1ae11
Fixed bug not re-performing handshake on logout
Fixes #31
2020-09-25 23:11:30 +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 05d4917bb2
Added key shortcuts and system commands for logout, exit and settings
Additionally added **buggy** logout mechanism: LocalDB is not reset
properly and IndexOutOfBoundsExceptions occur in the UI
2020-09-23 23:11:32 +02:00
Leon Hofmeister 2d9283551a
Improved SystemCommand mechanism, added Alert- and ShutdownHelper, and
... added askForConfirmation option
2020-09-23 17:03:32 +02:00
Kai S. K. Engelbart 758e52e030 Store the Local Database Inside a Server-Specific Subdirectory (#45)
Store the local database inside a server-specific subdirectory
Reviewed-on: https://git.kske.dev/zdm/envoy/pulls/45
Reviewed-by: delvh <leon@kske.dev>
2020-09-23 16:23:42 +02:00
Kai S. K. Engelbart b9e19d69b9 Merge Local Database and Home Directory (#44)
Merge local database and home directory

Fixes #43
Reviewed-on: https://git.kske.dev/zdm/envoy/pulls/44
Reviewed-by: delvh <leon@kske.dev>
2020-09-23 16:00:53 +02:00
Kai S. K. Engelbart f36f330c81
Add a LocalDB auto save mechanism
During startup, a timer is initialized inside the LocalDB which saves it
after 500 milliseconds during startup and then in intervals of 2
minutes, which can be configured in the ClientConfig.
2020-09-22 16:37:43 +02:00
Leon Hofmeister 1b60ab3f0d Fixed Bug Not Saving Values When Exiting via “Control”+”Q” (#40)
Fixed bug not saving values when exiting via "Control"+"Q"
Reviewed-on: https://git.kske.dev/zdm/envoy/pulls/40
Reviewed-by: kske <kai@kske.dev>
2020-09-22 14:42:51 +02:00
Kai S. K. Engelbart 52d6282e13
Merge branch 'develop' into refactor-local-db 2020-09-21 20:52:41 +02:00
Kai S. K. Engelbart d8ae8a65b8 Make LocalDB thread safe and simplify its API 2020-09-21 20:52:01 +02:00
Leon Hofmeister d394c2d058
Added option to close Envoy Linux-like with "Control"+"Q" 2020-09-20 22:11:15 +02:00
Kai S. K. Engelbart fd21c5789f
Add LocalDB Locking
FIxes #32
2020-09-19 15:28:04 +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 89b9afb3db
Remove config based autologin
Fixes #27
2020-09-18 10:02:39 +02:00
Kai S. K. Engelbart 763830c727
Remove TransientLocalDB and no-db config value 2020-09-16 15:41:00 +02:00
delvh 3f3c561e25 Apply suggestions from code review
will anyone read this? Bli bla blub. I can write anything here and no one will notice. Bwuhahaha.

Co-authored-by: CyB3RC0nN0R <kske@outlook.de>
2020-09-02 10:37:26 +02:00
Kai S. K. Engelbart d0c8c685ab Fix LoginScene popping 2020-09-02 10:07:02 +02:00
Kai S. K. Engelbart 8b204b3715 Fix write proxy initialization 2020-09-02 09:54:15 +02:00
delvh 9f517cfc6b Added better dependency injection mechanism and purified LoginScene
one thing could for whatever reason not be avoided: Even though the
processors of the caches inside WriteProxy are initialized, they somehow
get "de-initialized" and have to be initialized again...
2020-09-01 20:14:02 +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
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 0309d0d860 Move Envoy Client to client/ subdirectory 2020-07-13 11:37:45 +02:00