-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
draft/persistence #503
base: master
Are you sure you want to change the base?
draft/persistence #503
Conversation
A question that has come up a few times about this specification: why isn't it simply a CAP? CAPs have always been per-connection (and this distinction is especially important in the bouncer context). For example, ZNC separately tracks client-to-ZNC CAPs and ZNC-to-server CAPs. It is not the expectation that requesting a client-to-ZNC CAP will directly affect the persistent connection (the ZNC-to-server connection). Since this affects the "global" or "persistent" presence state, it's more like a NickServ command than a CAP. |
Another objection that's come up: this specification is more general than required by any implementation other than Ergo. This is true, but IMO the spec doesn't place an excessive burden on less general implementations:
|
-1 from me. I think the cap is good, but I don't see the need for a standard command to get/set persistence setting. |
My problem is that it's not general enough - it assumes that there can be at most one persistent session per account. I'd rather see a newly-connecting client able to authenticate, request a list of available sessions, and choose which one to attach to. |
@spb I had this conversation with Jess a while back; I think this specification can actually be decoupled from that assumption. See proposed change here: slingamn@16e6cbc |
That change does go some way towards it, but then you have the problem that a client needs to implement this spec and also whatever other spec defines the session selection mechanism. Combining them would make the ecosystem as a whole simpler. |
From discussion in #ircv3, I'm open to an extension of this spec that would:
|
This is a draft of an extension for automating certain interactions around persistent connections (i.e. connections where the user remains present on the server even after the connection is lost, as with a typical bouncer or Ergo's "always-on" functionality). The core goals as per the introduction: