For some reason, creating a URL from a string decoded from the container
was producing URL objects that could not be round-tripped through
PropertyListEncoder/Decoder. Decoding a URL directly from the container
works correctly.
Notifications that are of the same type but are separated by a groupable
notification of a different type are now considered groupable. For
example:
favorite 1 (status 1)
reblog 1 (status 1)
favorite 2 (status 1)
reblog 2 (status 1)
mention 1
reblog 3 (status 1)
will be grouped into:
favorite 1, 2 (status 1)
reblog 1, 2 (status 1)
mention 1
reblog 3 (status 1)
instead of enum
Additional categories can be added, which would cause a crash when
decoding.
As the category isn't used for anything, storing it as an enum value is
not necessary.
instead of enum
Additional categories can be added, which would cause a crash when
decoding.
As the category isn't used for anything, storing it as an enum value is
not necessary.
If an application provides its URL as an empty string, decoding it would
cause throw an error because Foundation's URL class does not accept
empty strings. Instead, during parsing, consume the invalid URL and
replace it with a `nil` app URL.
Also, copy the state between screens, so e.g. expanding a status in the
timeline and then opening that conversation already has that status
expanded.
This intentionally doesn't store the sensitive attachment visibility
state, since showing text when not necessary is less dangerous than for
images. (Possibly a preference for this in the future?)
Closes#55
Fixes an issue where Mentions notifications wouldn't load past the first page.
URLComponents(string:) fails when the string contains some characters, such as [ or ]
URL(string:) and then URLComponents(url:resolvingAgainstBaseURL:) does not fail
See FB7271340
Unlike Mastodon, Pleroma includes a URL query component in attachment URLs.
The URL(lenient:) initializer did not count query parameters (e.g. '?') as valid URL characters
and incorrectly escaped them resulting in image requests that 404'd.