* Resolve escaped characters in a status
Escaped characters are now returned to their original form for
HTMLString.asRawText.
* Unescape the markdown version too
The HTMLString.asMarkdown string is now also unescaped, & and
similar are resolved.
* Fix a internal fallback
If one of the unescape(...) commands fails, the original, unescaped
text is used instead of an empty string.
* Resolve#359 Optional Missing Alt-Text warning
Add toggle in settings to require alt text (default off)
If setting is enabled, posting show an error if any attached media is missing alt text
* Re-localized strings
While SwiftUI's `Text` view won't display these in an `AttributedString` even if they get parsed from Markdown (which would also require the use of the `.full` option instead of the `.inlineOnlyPresrevingWhitespace` option), we can improve the appearance somewhat.
Currently, list elements are clumped together with no spaces between them, and there's no indication whatsoever that the author indicated these to be a list.
Change to insert Markdown list syntax with linebreaks and dashes, so users can at least understand there's a list there.
Similar change for ordered lists.
This will still be broken for nested lists, but it didn't seem worth it to put a lot of effort into this (or other revamps, like making bold/italics/code work properly) because it seems like the current text handling in Ice Cubes is suboptimal and eventually slated for improvement (according to https://github.com/Dimillian/IceCubesApp/issues/1459#issuecomment-1638562657).
So this is more designed to make lists "less broken" in some cases, rather than be a comprehensive fix for all lists in all cases.
* improve the sensitive content overlay animation and refactor subviews
* fix alt text button and refactor views
* refactor `StatusRowMediaPreviewView.onTapGesture`
* simplify `MediaPreview` and `FeaturedImagePreView`
* make alt text button adaptable
* Automatically remove spaces in server names
If a server name includes a space (which can happen if the string is pasted /
autocompleted), this space is removed, which results in the app not crashing.
Fixes#1599
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
* Format
---------
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
* Add simple test for escaping markdown content in statuses
* Add ~ as markdown character to be escaped in statuses
The ~ isn't documented in the original markdown syntax docs but is
commonly used (including by AttributedString) to surround text
formatted with a strikethrough.