Changes between Version 20 and Version 21 of Infinote/Protocol

Show
Ignore:
Timestamp:
12/06/09 23:51:10 (3 years ago)
Author:
armin (IP: 89.247.172.45)
Comment:

Note about enhanced child text

Legend:

Unmodified
Added
Removed
Modified
  • Infinote/Protocol

    v20 v21  
    6262 * more to follow (peer-to-peer, groupchat, ...) 
    6363 
     64=== Enhanced Child Text === 
     65 
     66Some XML nodes allow child text which contains <uchar codepoint="uuuu" /> children, with uuuu being a unicode character point in decimal notation. This is to be interpreted as if the child text contained the given unicode character at the position of the <uchar /> node. This allows transmission of characters that would otherwise be invalid XML, such as null bytes. Below is explicitely stated whether a message allows such ''enhanced'' child text or not. 
     67 
    6468== Directory messages == 
    6569 
     
    160164 * code, Integer: A numerical error code identifying what went wrong. The meaning depends on the error domain. 
    161165 * seq, Integer: The seq_id the client had set in the original request that failed, if any. 
    162  * text, optional: Human-readable error message in the server's language. 
     166 * text, optional: Human-readable error message in the server's language. Does not allow enhanced child text. 
    163167 * Scope: point-to-point 
    164168 
     
    364368 * domain, String: A domain from which the error comes. This is most likely "INF_SESSION_SYNCHRONIZATION_ERROR". 
    365369 * code, Integer: A numerical error code explaining what went wrong, depending on domain. 
    366  * text, String, optional: A human-readable error message, in the synchronization client's language. 
     370 * text, String, optional: A human-readable error message, in the synchronization client's language. Does not allow enhanced child text. 
    367371 * Scope: point-to-point 
    368372 
     
    464468 * code, Integer: A numerical error ID specifying what went wrong, depending on domain. 
    465469 * seq, Integer: The seq that the client set for the original request that failed, if any. 
    466  * text, String, optional: Human-readable error message in the server's language. 
     470 * text, String, optional: Human-readable error message in the server's language. Does not allow enhanced child text. 
    467471 * Scope: point-to-point 
    468472 
     
    532536 * user, Integer: The user that has sent the message. 
    533537 * time, Integer: A Unix timestamp (number of seconds since 01/01/1970 00:00 UTC) of when the message was sent. 
    534  * Text, Optional: The text of the message. Messages of type "userjoin" and "userpart" don't have text. 
     538 * Text, Optional: The text of the message. Messages of type "userjoin" and "userpart" don't have text. Does not allow enhanced child text. 
    535539 
    536540This synchronizes a message that was sent earlier to a client. It provides the client with a history of earlier chat messages. 
     
    548552 * type, Optional: Type of the message. Can be "normal" or "emote". If it is omitted, then it defaults to normal. 
    549553 * user, Integer: User ID of the user sending the message. The user must have joined via the connection the message comes from.  
     554 * Text: The text of the message. Does not allow enhanced child text. 
    550555 
    551556Sent when a user sends a message to the chat. 
     
    602607 
    603608 * pos, Integer: The character offset at which to start deleting characters. 
    604  * segments: The text that was deleted, including author information, i.e. which user wrote what text. 
     609 * segments: The text that was deleted, including author information, i.e. which user wrote what text. Does allow enhanced child text. 
    605610 
    606611Deletes text from the buffer and specifies what text is deleted. This operation is only used in <sync-request /> messages. The synchronization client cannot deduce what text was actually deleted, but must be able to compute the reverse operation in case someone undoes the request. In a normal <request /> message, other users can deduce what text was deleted by having a look at the document and which transformations were required to transform the request to the current state before the operation is actually executed. 
     
    668673 
    669674 * author, optional: The user ID of the user that wrote the text. 
    670  * Text: The text that user wrote. 
     675 * Text: The text that user wrote. Does allow enhanced child text. 
    671676 * Scope: point-to-point 
    672677