From 5c98d4ac803dbd8e5abf2156ae3f2a449d313b46 Mon Sep 17 00:00:00 2001 From: Lim Ding Wen Date: Thu, 22 Dec 2022 04:16:03 +0800 Subject: [PATCH] Show error if trying to boost unboostables in TUI --- toot/tui/app.py | 7 +++++++ toot/tui/entities.py | 1 + 2 files changed, 8 insertions(+) diff --git a/toot/tui/app.py b/toot/tui/app.py index 037506e..fe12a87 100644 --- a/toot/tui/app.py +++ b/toot/tui/app.py @@ -497,6 +497,13 @@ class TUI(urwid.Frame): new_status = self.make_status(new_data) timeline.update_status(new_status) + # Check if status is rebloggable + no_reblog_because_private = status.visibility == "private" and not status.is_mine + no_reblog_because_direct = status.visibility == "direct" + if no_reblog_because_private or no_reblog_because_direct: + self.footer.set_error_message("You may not reblog this {} status".format(status.visibility)) + return + self.run_in_thread( _unreblog if status.reblogged else _reblog, done_callback=_done diff --git a/toot/tui/entities.py b/toot/tui/entities.py index 5722b64..082e664 100644 --- a/toot/tui/entities.py +++ b/toot/tui/entities.py @@ -60,6 +60,7 @@ class Status: self.url = data.get("url") self.mentions = data.get("mentions") self.reblog = self._get_reblog() + self.visibility = data.get("visibility") @property def original(self):