Interactively go through your bluesky follow graph and decide to keep or remove follow records
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix error deleting record if oauth token needs refresh and prompt for manual deletion if automatic deletion fails

yemou d9daf7b6 a7c2c631

+9 -3
+7 -2
main.go
··· 202 202 switch scanner.Text() { 203 203 case "", "Y", "y": 204 204 case "N", "n": 205 - // NOTE: The log messages here actually won't ever be seen 206 205 aturi, err := util.ParseAtUri(record.Uri) 207 206 if err != nil { 208 - log.Println("Failed to parse aturi... Skipping deletion:", err) 207 + log.Println("Failed to parse aturi:", err) 208 + fmt.Println("Manual deletion required (Use the profile url above).") 209 + fmt.Print("Press Enter to continue.") 210 + scanner.Scan() 209 211 continue 210 212 } 211 213 ··· 221 223 222 224 if err != nil { 223 225 log.Println("Failed to delete record:", err) 226 + fmt.Println("Manual deletion required (Use the profile url above).") 227 + fmt.Print("Press Enter to continue.") 228 + scanner.Scan() 224 229 } 225 230 case "Q", "q": 226 231 return
+2 -1
static/client-metadata.json
··· 2 2 "client_id": "https://bsky-sieve-cli.b77.boo/oauth-client-metadata.json", 3 3 "application_type": "native", 4 4 "grant_types": [ 5 - "authorization_code" 5 + "authorization_code", 6 + "refresh_token" 6 7 ], 7 8 "scope": "atproto repo?collection=app.bsky.graph.follow&action=delete", 8 9 "response_types": [