aboutsummaryrefslogtreecommitdiffstats
path: root/session.go
Commit message (Collapse)AuthorAgeFilesLines
* Export Server.{Sessions,Plugins}LibravatarLibravatar Simon Ser 2019-12-111-2/+2
| | | | And unexport a few internal functions.
* Unexport NewSessionManagerLibravatarLibravatar Simon Ser 2019-12-111-1/+1
| | | | This isn't intended to be used by plugins.
* Export Context.SetSession, unexport Session.TokenLibravatarLibravatar Simon Ser 2019-12-111-3/+2
| | | | | | | I'm uneasy exposing the token to plugins, I prefer to hide it if possible to prevent mis-use. This change allows plugins to logout users.
* Reconnect to IMAP server when logged outLibravatarLibravatar Simon Ser 2019-12-091-11/+86
| | | | | | | | | | | | | | | The session manager has been upgraded to deal with reconnections. Each session has its own expiration timer. Each time a request is received, the expiration timer is reset. A session can be closed (this is used when the user wants to logout). When the IMAP connection is closed by the server, it's set to nil in the session. The next time an IMAP command needs to be issued, the connection is re-established. Closes: https://todo.sr.ht/~sircmpwn/koushin/30
* Make SessionManager create the IMAP clientLibravatarLibravatar Simon Ser 2019-12-091-8/+38
| | | | | This will allow SessionManager to re-connect when the IMAP server logs the user out.
* Rename ConnPool to SessionManagerLibravatarLibravatar Simon Ser 2019-12-091-0/+91