chiark / gitweb /
Tolerate hidden number of followers in Account
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 2 Feb 2024 14:45:33 +0000 (14:45 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 2 Feb 2024 15:15:10 +0000 (15:15 +0000)
This can be -1.  Display `(hidden)` when it's not available.

src/text.rs
src/types.rs

index be1ab9ec66a3d92b41b7e84c266d53343470f5e2..25b8b8705ec607b73c506e4760723431fb9ceca7 100644 (file)
@@ -3,6 +3,7 @@ use chrono::NaiveDateTime;
 use chrono::{DateTime, Local, Utc};
 use core::cmp::{max, min};
 use std::collections::{BTreeMap, HashSet};
+use std::fmt::Display;
 use unicode_width::UnicodeWidthStr;
 
 use super::client::{Client, ClientError};
@@ -3027,9 +3028,13 @@ impl ExamineUserDisplay {
         let post_count = Paragraph::new().add(ColouredString::plain(
             &format!("Number of posts: {}", ac.statuses_count),
         ));
-        let followers_count = Paragraph::new().add(ColouredString::plain(
-            &format!("Number of followers: {}", ac.followers_count),
-        ));
+        let followers_count = Paragraph::new().add(ColouredString::plain(&{
+            let followers_count = u64::try_from(ac.followers_count);
+            format!("Number of followers: {}", match &followers_count {
+                Ok(y) => y as &dyn Display,
+                Err(_) => &"(hidden)",
+            })
+        }));
         let following_count = Paragraph::new().add(ColouredString::plain(
             &format!("Number of users followed: {}", ac.following_count),
         ));
index ccc8c030be9183077cc8111c17f595f4ab4542d0..56f5532584b4ff3ce410707307e89b1bdeb5b0a9 100644 (file)
@@ -123,7 +123,7 @@ pub struct Account {
     pub created_at: ApproxDate,
     pub last_status_at: Option<ApproxDate>,
     pub statuses_count: u64,
-    pub followers_count: u64,
+    pub followers_count: i64,
     pub following_count: u64,
 
     // In the wire protocol, 'CredentialAccount' is a subclass of