All image code is now a soft dependency. If the term-image
and/or pillow libraries are not loaded, the tui will work
fine without displaying images.
Note that tests/test_utils.py still has a dependency on pillow
due to its use of Image for tsting the LRUCache.
--image-format='kitty'|'iterm'|'block' (default is block)
autodetection was causing intermittent phantom character
output to the terminal in some configurations, generally
over SSH connections. Switching to a command line option
eliminates the problematic autodetection code.
As a side effect, EmojiText widget had to be removed.
Add new [E]dit command to the timeline: opens an existing toot to allow
editing it. Since this is more or less the same operation as posting a
new toot, extend the StatusComposer view to support this rather than
implementing a new view.
Add a new api method, fetch_status_source(), to implement the
/api/v1/statuses/{id}/source endpoint used to fetch the original post
text.
Continue to display 'Marked as sensitive' in the toot view even after
the CW has been opened. This matches the behaviour of other clients,
and is useful to see because it might affect whether you want to boost
the toot or not (for example).
Mastodon allows the user to configure a default visibility which should
apply to all clients. This setting is returned by the
/api/v1/preferences method.
Fetch the user preferences when the TUI starts, and use it to set the
default visibility when composing a new toot. The preference can be
overridden by a new command-line option, toot tui --default-visibility=.
If neither the preference nor the option are set, fall back to
get_default_visibility().
When viewing a toot which has been edited, show the edit date.
While here, fix a bug where the '*' edit marker in the timeline wouldn't
show for retoots because it was checking the retoot status instead of
the original status.
In some fonts, "⤶" (U+2936 ARROW POINTING DOWNWARDS THEN CURVING
LEFTWARDS) may be a double-width character. To avoid a display glitch
where this overlaps with the boosted icon, print a space after it.