xmpp-client icon indicating copy to clipboard operation
xmpp-client copied to clipboard

JID struct

Open mmcco opened this issue 9 years ago • 2 comments

JIDs are currently stored throughout the program as raw strings. If they were stored in a struct like this:

type JID struct {
    Node string
    Domain string
    Resource string
}

it would be much easier to extract and use the JID's fields. More importantly, it would better enforce JID validity checking, which doesn't seem to happen now. For example, the XMPP Core RFC specifies that:

Each allowable portion of a JID (node identifier, domain identifier, and resource identifier) MUST NOT be more than 1023 bytes in length, resulting in a maximum total size (including the '@' and '/' separators) of 3071 bytes.

If you're interested, I can give it a shot and submit a pull request.

mmcco avatar Sep 20 '15 23:09 mmcco

would this also enable using just the Name string for same-server messages instead of using full JID all the time? like.. "bob sends message to alice" instead of "[email protected] sends to [email protected]" if on the same domain!

aerth avatar Jan 07 '16 23:01 aerth

Honestly, that doesn't sounds like a great idea to me due to handle collisions and the existence of the Real Name field.

mmcco avatar Jan 08 '16 00:01 mmcco