Closed kc63789 closed 5 years ago
Wow. I just noticed this issue. Apologies for the delay in getting back to it. I don't know if you've resolved this issue yet, but here's what the plugin performs.
The session will only try to re-login if you told the plugin that it should use a password. If not, then you'll need to perform a login manually from the real Perforce client. The way to make the plugin need a password is to use the configuration part "Require a Password", or use a P4CONFIG file (through environment setup or explicitly) with a password set. The password will be stored through the IDE's password storage mechanisms.
There is an edge case where the IDE's password asking mechanism may not show a dialog until you make the current dialog go away. That's just an artifact of how the IDE manages dialogs.
If you want to see what all is going on during the authentication phase, you can turn on debug logging (IDE: Help menu -> Debug Log Settings... -> add the line #net.groboclown.p4.server.impl.connection.impl.SimpleConnectionManager
). This will put into the IDE log detailed information about the actions that it's performing (don't worry - passwords are not displayed).
In even more detail, for those following along in the code (and for future me), the session expiring should send a session expired message (MessageP4RequestErrorHandler, line 562). However, this is only for error reporting. The only place the plugin performs a login is in the SimpleConnectionManager
, and there only if the user is using SSO or has a password set:
if (serverConfig.hasLoginSso() || (serverConfig.usesStoredPassword() && password != null)) {
The password comes from a call to ApplicationPasswordRegistry
which in turn calls to the IDE's PasswordSafe
class.
Perforce got connected yesterday, but today, it says session expired, pls login again. But it didnt give any screen to login. How do I resolve this prblm pls? I restarted intelliJ, but still the same issue.