Max Mazurov
Max Mazurov
Ehh? Hello?
I wonder if an interface like that is good to make it easier to construct Request objects... ```go b := client.Batch{} b.Use(MailCapability) b.Add("Todo/get", jmap.GetArgs{AccountId: "id", Ids: []jmap.ID{...}}, b.NextCallID()) b.NthCallID(1) //...
Here is some basic outline for the sake of discussion: JMAP Core server logic: ```go // implements http.Handler so it could be simply attached to /.well-known/jmap endpoint on net/http server....
Here is the example of main function implementation using interfaces proposed above: ```go func main() { sessionMngr := SessionThingy{} // perhaps something OAuth-based, whatever todoBackend := TodoBackend{} // Our implementation...
It seems like in both cases you are calling methods on a nil Server object.
The obvious possibility is NewServer failing for some reason and returning a nil `srv`. Errors should always be checked. Why NewServer fails on Windows is the main question here.
I'm not familiar with Windows that much, perhaps CI restricts the use of UDP sockets? Looks like binding on TCP port succeeds but UDP fails.
Dovecot implements Submission endpoint which can authenticate and proxy connections to MTA. I believe if Dovecot or some other IMAP servers will implement JMAP, they will take the same approach...
I have it working correctly with WireGuard VPN.
I use Android 9 and a bouncer. I'm not sure exactly if I lose any messages - never noticed it being the case. I do not keep it always running...