[Telepathy] Spec meeting notes on Mail Notification interface

Will Thompson will.thompson at collabora.co.uk
Wed Jan 20 10:06:31 PST 2010


Hi,

Sjoerd, Simon and I also gave Nicholas' MailNotification draft
<http://bugs.freedesktop.org/show_bug.cgi?id=13349> a look. This wasn't
a particularly detailed review, more of an overview; we're planning to
have another reviewing session later in the week. But here some notes:

Subscribe()/Unsubscribe():
• Needs rationale in the spec: we think this is because on some
   protocols you get push notification of “something has changed” and
   need to go and poll to find out what it is.

Why are messages' unique IDs signed 64-bit integers (also, a room full
of D-Bus hackers had to look up what “x” means!) rather than strings?
Surely the IDs are strings on some protocols?

Speaking of “x”: the timestamps should be signed 64-bit integers, as
seen elsewhere in the spec (including Messages). There's a named type
for it.

Maybe Mail should be aa{sv} rather than a{sv} and have the first part be
the header, the rest the (optional) body parts, like on Messages. You
could have a flag in the message body parts saying if it's a snippet.
(We apparently already have one, it's called 'truncated'.)

HTTP_Post_Data: are they guaranteed to be UTF-8 on the wire? If not,
then they need to be ay not s. Are they percent-encoded or not?

The flags' names aren't great. Perhaps:
• Supports_Unread_Mail_Count
• Supports_Unread_Mails
• Emits_Mails_Received
The flags' interdependencies are pretty hard to understand well. Needs
some kind of truth table!

General remark: the interface needs to be clearer about the different
features of actual protocols, with more rationale. Maybe we should
consider splitting it into several interfaces? (Although there might be
enough overlap not to need to... it's hard to tell without rationale in
the spec.)

InboxURL, Method, PostData could be one (sua(ss)) tuple maybe? And we
should say that if there's no webmail URL, InboxURL should be the empty
string. Also maybe we should have an a{sv} for misc.

Do you always know the Inbox URL, or does the CM have to poll the
server? If the latter, then the prop can be out of date, so maybe there
should be no prop, and the UI should just have to call GetURL() each
time the user clicks “take me to the cloud” to get the latest set of
cookies etc. (They're probably one-shot, right?)

-- 
Will


More information about the telepathy mailing list