summaryrefslogtreecommitdiff
path: root/doc/design/assistant/xmpp.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'doc/design/assistant/xmpp.mdwn')
-rw-r--r--doc/design/assistant/xmpp.mdwn15
1 files changed, 5 insertions, 10 deletions
diff --git a/doc/design/assistant/xmpp.mdwn b/doc/design/assistant/xmpp.mdwn
index 4a05afab9..19938dfae 100644
--- a/doc/design/assistant/xmpp.mdwn
+++ b/doc/design/assistant/xmpp.mdwn
@@ -4,20 +4,14 @@ who share a repository, that is stored in the [[cloud]].
### TODO
-* Track down segfault when the XMPP library is starting up a client connection.
-* test with big servers, eg google chat
* Prevent idle disconnection. Probably means sending or receiving pings,
but would prefer to avoid eg pinging every 60 seconds as some clients do.
-* Make the git-annex clients invisible, so a user can use their regular
- account without always seeming to be present when git-annex is logged in.
- See <http://xmpp.org/extensions/xep-0126.html>
-* webapp configuration
* After pulling from a remote, may need to scan for transfers, which
could involve other remotes (ie, S3). Since the remote client is not able to
talk to us directly, it won't be able to upload any new files to us.
Need a fast way to find new files, and get them transferring. The expensive
transfer scan may be needed to get fully in sync, but is too expensive to
- run every time this happens.
+ run every time this happens. Send transfer notifications using XMPP?
## design goals
@@ -43,11 +37,12 @@ using presence messages. These always mark it as extended away.
To this, it adds its own tag as [extended content](http://xmpp.org/rfcs/rfc6121.html#presence-extended).
The xml namespace is "git-annex" (not an URL because I hate wasting bandwidth).
-To indicate it's pushed changes to a git repo, a client uses:
+To indicate it's pushed changes to a git repo with a given UUID, a client uses:
- <git-annex xmlns='git-annex' push="uuid" />
+ <git-annex xmlns='git-annex' push="uuid[,uuid...]" />
-The push attribute can be repeated when the push was sent to multiple repos.
+Multiple UUIDs can be listed when multiple clients were pushed. If the
+git repo does not have a git-annex UUID, an empty string is used.
### security