[Telepathy-commits] merge: telepathy-spec

Merge Monkey monkey at collabora.co.uk
Wed May 21 08:10:14 PDT 2008


Merge to:

  telepathy-spec

From:

  /home/smcv/public_html/darcs/tp-spec-smcv-unstructified-messages

Changes:

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add error conditions to GetPendingMessageContent (assumes header refactoring)

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add examples to DeliveryReporting

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    DeliveryReporting: make it clearer that clients listening for DeliveryReport (where supported) should ignore SendError

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add .DRAFT to name of DeliveryReporting interface

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    MessageParts: indicate level of support for attachments

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Messages: stop referring to the MessageParts interface (now renamed to Messages)

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Don't let the CM generate its own human-readable delivery reports - we don't want to encourage that sort of behaviour, and Haze can stay spec-incompliant for now until we work out a better way

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add Channel_Text_Message_Flag_Non_Text_Content, which indicates that the received message in a Text channel has had non-text content removed
This may be useful for minimal clients to interoperate with MessageParts
implementations - at least they can tell the user something is missing, even if
they can't tell what.

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    MessageParts: make it clearer that clients listening for MessageSent and MessageReceived (where supported) should ignore Sent and Received

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Use 'alternative' instead of 'identifier' to group alternatives, and give it a dual purpose as the Content-ID of the (virtual) message/alternative structure
This is for compatibility with MIME (we might as well be compatible).

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add reason to SendDeliveryReport as per Rob's review

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add message ID to received multi-part messages

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    MessageParts: add API to receive messages

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Remove rationale that no longer applies from "ignore parts with no type", but keep the requirement for possible future expansion

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Mark Non_Text_Content docstring as XHTML

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    DeliveryReporting: set type of Status argument to SendDeliveryReport

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Rewrap long line

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add rationale for the message part support flags being flags when an enum would currently be enough

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add types for DeliveryReporting

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Adjust DeliveryReporting spec for Messages refactoring

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Text: add Channel_Text_Message_Type_Delivery_Report

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Redefine Messages spec so the first content part also contains "headers" for the entire message

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    MessageParts: add Multiple_Part_Message struct

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Text: tighten up wording of Non_Text_Content

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Give headers their own part, rather than merging them into part 0

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    DeliveryReporting: add 'recipient' well-known key

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Move Message_Part well-known keys list into main docstring, rather than Key docstring (necessary if we decide to special-case the first dict to be "headers")

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add .DRAFT to MessageParts interface name

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Messages: allow the sending contact to be 0 (DeliveryReporting might need this)

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Adjust rationale for Delivery_Reporting_Support_Flags

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Improve wording of GetPendingMessageContent

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Rename Channel_Interface_Message_Parts to Channel_Interface_Messages

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add error conditions to SendMessage

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Update NEWS

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Revert a change to Channel.Type.Text: AcknowledgePendingMessages should only affect local state, and should not send a successful delivery report

This is because it turns out to be really tricky to specify
AcknowledgePendingMessages correctly if it can "partially fail". Instead, I
plan to add SendDeliveryReport functionality to the DeliveryReporting interface.

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Rename Pending_Multiple_Part_Message to just Pending_Message

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Forbid sending delivery reports using SendMessage

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add the actual delivery reporting to DeliveryReporting

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    DeliveryReporting: adapt for assumption that the first Message_Part is purely a header

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Move comment about lack of definition of "sufficiently small to include" to an XML comment

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add a FIXME comment: perhaps PendingMessagesRemoved should be on the Text interface?

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Clarify what complexity I'm talking about when saying that delivery-echo should include all possible content

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Upgrade inability to send delivery reports via SendMessage from a SHOULD NOT to a MUST NOT

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add skeletal DeliveryReporting interface

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add skeleton of MessageParts interface (basically Channel.Type.Text 2.0)

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    HTML requires MessageParts

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Fix unbalanced element

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Remove a couple of stray references to MessageStatus (a previous name for the DeliveryReporting interface)

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Text: annotate Channel_Text_Message_Type with a basic docstring

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Text: clarify handling of unknown message types

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    DeliveryReporting: update for current Messages spec

* Deliver reports via the Messages interface, so that minimal Text clients
  will at least signal "unknown message type" and ack them
* Add capability discovery for whether messages can be positively or negatively
  acknowledged
* Add the ability to send positive or negative acknowledgement

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add PendingMessagesRemoved signal

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Explicitly say that success from Messages.SendMessage must emit Text.Sent

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Messages: recommend 'interface' key in message parts for interface-specific parts

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Change rationale for PendingMessagesRemoved

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Bring message-with-photo example up to date

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    HTML: reference the Messages interface, not the MessageParts interface

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Re-word Messages spec

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add a placeholder version of Channel.Interface.HTML to indicate how formatted text will work

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Remove stray references to more previous names for DeliveryReporting (DeliveryReports, DeliveryNotification)

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Document Message_ID a bit

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    MessageParts: add API to send messages

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Emit Text.Sent, Text.Received even for non-text messages on Channel.Interface.MessageParts.
This means that Text-only clients can acknowledge messages received with no
text content (they will probably appear empty, but this is about the best
we can do - if you've received the non-textual message, then capability
advertisement has already failed).

This avoids a problem with the previous draft, where non-Text messages
(messages on the MessageParts interface that have no text/plain content and so
were not signalled on the Text channel) could never be acknowledged or removed
by Text-only clients, and would build up in memory indefinitely.

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    MessageParts: document flaw in current design

  Simon McVittie <simon.mcvittie at collabora.co.uk>
    Add missing value to delivery report mapping


More information about the Telepathy-commits mailing list