LXMessage.unpack: check if title and content are byte arrays or strings
#26
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If a the
msgpacked portion of an LXMessage uses strings (fixstrtags0xa0to0xbf, and probablystr_8(0xd9),str_16(0xda), andstr_32(0xdb) as well) instead of byte arrays, LXMF will happily unpack them but then crash when trying to decode the string. For example:(Side note, is there a reason to LXMF uses byte arrays in the msgpack instead of strings? Like, does msgpack not specify UTF-8 as the string format or something?)
This PR changes
unpackto have logic similar toLXMessage.__init__, where it will always decode it into UTF-8 byte array based on the type.