In certain cases, when showing a EULA dialog is impossible (the current thread holds a read or a write lock), we'll show a corresponding notification.
An exception may still be thrown in those cases, but this shouldn't matter: after accepting the EULA, everything should start working correctly. Or, in the worst case, after accepting EULA and restarting the IDE.
There are new internal actions (-Didea.is.internal=true) to show the notifications (for QA purposes).
For cases when something's completely wrong and the user still cannot accept the EULA or see the notification, there are new non-internal actions: Show TF Client EULA, Show TF SDK Agreement.
The users will be able to invoke them manually if required.
-Didea.is.internal=true
) to show the notifications (for QA purposes).PropertyServiceImpl
is now more thread-safe.Closes #539.