Special characters in summary are converted to HTML entities, sent through PubCrawl as HTML entities and not converted back to characters when editing the post
The Hubzilla post editor converts all special characters into their corresponding HTML entities. However, some parts of Hubzilla that should convert them back into the characters they're supposed to be don't do so, at least not in the summary.
For one, this is Hubzilla's own post editor. Special characters written in the summary field appear as their HTML entities in the summary field when editing the post. If you type a "
in a summary, and you edit the post, there will be "
where there should be "
.
This also means that when editing and saving the post, these HTML entities will be converted into HTML versions of themselves. So with each edit, "
becomes "
, then "
because the &
in "
is converted into its own HTML entity &
and not converted back, then "
, then "
and so forth.
Besides, special characters in summaries are sent through non-Zot protocols as their HTML entities as well. At least, I have experienced this behaviour in the case of ActivityPub. And ActivityPub-based projects do not necessarily (read: generally not at all) expect and convert HTML entities. So any special character in a summary on Hubzilla will appear as its HTML entity in the content warning on e.g. Mastodon.
Steps to reproduce:
- Have at least one Mastodon contact.
- Write a post with "Test" (quotation marks included) as the summary.
- Check the post on Hubzilla and Mastodon.
- Send the post publicly or to that Mastodon contact.
- Edit the post and resend it to the same audience.
- Check the post on Hubzilla and Mastodon again.
- Edit the post once more and resend it to the same audience.
- Check the post on Hubzilla and Mastodon again.
What "Test" should be expected to look like:
-
In Hubzilla's summary after the first time sending it:
"Test"
-
In Mastodon's content warning after the first time sending it:
"Test"
-
In Mastodon's content warning after the third time sending it:
"Test"
-
In the post editor when editing the post for the first time:
"Test"
-
In Hubzilla's summary after the second time sending it:
"Test"
-
In the post editor when writing the post:
"Test"
-
In Mastodon's content warning after the second time sending it:
"Test"
-
In the post editor when editing the post for the first time:
"Test"
-
In Hubzilla's summary after the third time sending it:
"Test"
What "Test" will actually look like:
- In the post editor when writing the post:
"Test"
- In Hubzilla's summary after the first time sending it:
"Test"
- In Mastodon's content warning after the first time sending it:
"Test"
- In the post editor when editing the post for the first time:
"Test"
- In Hubzilla's summary after the second time sending it:
"Test"
- In Mastodon's content warning after the second time sending it:
"Test"
- In the post editor when editing the post for the first time:
"Test"
- In Hubzilla's summary after the third time sending it:
"Test"
- In Mastodon's content warning after the third time sending it:
"Test"