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).
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.
HTML tag support is aligned with Mastodon 4.2 supported tags.
This code introduces a soft dependency on the urwidgets library.
If urwidgets is not available, HTML tags are still supported,
but hyperlinks are not underlined using the OCS 8 terminal
feature (on supported terminals).
The glyph previously used '🠷' is interpreted with different
widths on different terminal emulators (i.e. xterm gets it wrong)
This results in visual glitches in the status detail area and
especially in the scrollbar when visible. Changing it to a
standard ASCII 'b' fixes all these issues.
This is currently used for poll voting; after voting in a
poll overlay, the status detail will update with the user's
vote and the new vote count when they dismiss the overlay.
As part of this change, the refresh_status_detail method now
maintains the scroll position after refresh, rather than
scrolling back to the top automatically
Some terminal color schemes completely eliminate the difference
between cyan and cyan-bold colors (all the base16 themes, for instance).
This change makes the key letters stand out clearly in bold white.