<100 subscribers
Share Dialog
Share Dialog


Full Following Scan (Pagination)
Previously only scanned the first 100 accounts you follow
Now scans ALL accounts using API pagination
Added loading message: "This may take a moment if you follow a lot of people..."
Pinned Post Fix
Fixed issue where pinned posts (which can be months old) were being treated as the user's most recent activity
Now sorts posts by timestamp to find the actual most recent post
Activity Indicator
Shows "Replied or recasted in last 3 days" badge for users who are still active but not posting original content
Fixed profile link to open in Warpcast's main window (not new tab)Empty Cast Filtering
Problem: Accounts with no fetchable cast text (showing as "") often have broken profiles that crash the SDK
Solution: Now filters out accounts where lastCast is empty
Exception: If the cast is an image/video only (has embeds but no text), it shows "[Media post]" instead of being filtered out
Problem: The completion screen said "Unfollowed X accounts" based on how many cards you clicked "Next" on - confusing since Next doesn't actually unfollow anyone
Solution: Now compares your actual following count at scan start vs. completion
Captures your following count when you hit "Start Cleanup"
Re-fetches your following count when you finish reviewing
Shows the real difference: "You unfollowed X accounts"
Shows "Calculating unfollows..." while fetching
If you didn't unfollow anyone, shows "Review complete!" instead
Share text updated: Only mentions unfollows if you actually unfollowed someone
Farcaster SDK viewProfile Bug
Certain accounts (e.g., @popfi) cause the Farcaster SDK to crash when attempting to view their profile
The SDK enters a corrupted state and all subsequent profile views fail
Workaround: Skip these accounts using the "Next" button. If the app breaks, close and reopen it.
If anyone knows how to solve for these deleted accounts feel free to reach out
Farcaster mini apps run inside an iframe sandbox within the Warpcast app. To perform write actions (like following, unfollowing, posting, or liking), an app needs a signer - a cryptographic key that proves the user has authorized the app to act on their behalf.
There are two ways to get a signer:
Signer UUID from Neynar - This requires a full authentication flow where the user explicitly grants your app permission to perform actions on their account. It's designed for full-fledged apps, not lightweight mini apps.
Farcaster SDK Actions - The SDK provides actions like viewProfile, openUrl, composeCast etc. However, there is no unfollowUser action in the SDK. The SDK only exposes read operations and navigation - not social graph mutations.
Farcaster intentionally restricts write actions in mini apps for security reasons:
Prevents malicious apps from mass-unfollowing or spamming on behalf of users
Keeps the trust model simple - users know mini apps can't modify their account
Write actions should be explicit and visible in the main Warpcast UI
Since we can't programmatically unfollow, we use sdk.actions.viewProfile({ fid }) to:
Navigate the main Warpcast window to the user's profile
Keep the mini app open in the sidebar
Let the user manually tap the "Unfollow" button on the profile
This is the best UX we can achieve within the platform's constraints. The user still gets the value of discovering inactive accounts - they just have to tap one extra button to actually unfollow.
If Farcaster ever adds sdk.actions.unfollowUser() to the mini app SDK, we could:
Add a direct "Unfollow" button that works inline
Re-enable bulk unfollow functionality
Make the whole flow much faster
Until then, the current "View Profile → Unfollow → Next" flow is the best we can do.
Full Following Scan (Pagination)
Previously only scanned the first 100 accounts you follow
Now scans ALL accounts using API pagination
Added loading message: "This may take a moment if you follow a lot of people..."
Pinned Post Fix
Fixed issue where pinned posts (which can be months old) were being treated as the user's most recent activity
Now sorts posts by timestamp to find the actual most recent post
Activity Indicator
Shows "Replied or recasted in last 3 days" badge for users who are still active but not posting original content
Fixed profile link to open in Warpcast's main window (not new tab)Empty Cast Filtering
Problem: Accounts with no fetchable cast text (showing as "") often have broken profiles that crash the SDK
Solution: Now filters out accounts where lastCast is empty
Exception: If the cast is an image/video only (has embeds but no text), it shows "[Media post]" instead of being filtered out
Problem: The completion screen said "Unfollowed X accounts" based on how many cards you clicked "Next" on - confusing since Next doesn't actually unfollow anyone
Solution: Now compares your actual following count at scan start vs. completion
Captures your following count when you hit "Start Cleanup"
Re-fetches your following count when you finish reviewing
Shows the real difference: "You unfollowed X accounts"
Shows "Calculating unfollows..." while fetching
If you didn't unfollow anyone, shows "Review complete!" instead
Share text updated: Only mentions unfollows if you actually unfollowed someone
Farcaster SDK viewProfile Bug
Certain accounts (e.g., @popfi) cause the Farcaster SDK to crash when attempting to view their profile
The SDK enters a corrupted state and all subsequent profile views fail
Workaround: Skip these accounts using the "Next" button. If the app breaks, close and reopen it.
If anyone knows how to solve for these deleted accounts feel free to reach out
Farcaster mini apps run inside an iframe sandbox within the Warpcast app. To perform write actions (like following, unfollowing, posting, or liking), an app needs a signer - a cryptographic key that proves the user has authorized the app to act on their behalf.
There are two ways to get a signer:
Signer UUID from Neynar - This requires a full authentication flow where the user explicitly grants your app permission to perform actions on their account. It's designed for full-fledged apps, not lightweight mini apps.
Farcaster SDK Actions - The SDK provides actions like viewProfile, openUrl, composeCast etc. However, there is no unfollowUser action in the SDK. The SDK only exposes read operations and navigation - not social graph mutations.
Farcaster intentionally restricts write actions in mini apps for security reasons:
Prevents malicious apps from mass-unfollowing or spamming on behalf of users
Keeps the trust model simple - users know mini apps can't modify their account
Write actions should be explicit and visible in the main Warpcast UI
Since we can't programmatically unfollow, we use sdk.actions.viewProfile({ fid }) to:
Navigate the main Warpcast window to the user's profile
Keep the mini app open in the sidebar
Let the user manually tap the "Unfollow" button on the profile
This is the best UX we can achieve within the platform's constraints. The user still gets the value of discovering inactive accounts - they just have to tap one extra button to actually unfollow.
If Farcaster ever adds sdk.actions.unfollowUser() to the mini app SDK, we could:
Add a direct "Unfollow" button that works inline
Re-enable bulk unfollow functionality
Make the whole flow much faster
Until then, the current "View Profile → Unfollow → Next" flow is the best we can do.
6 comments
"Ghost Town" one of my first mini apps with @neynar Studio The app scans who hasn't been active in "x" amount of days, and allows you to easily go to their profile to unfollow (Farcaster SDK doesn't allow unfollow action in mini app) Next does NOT unfollow the account, it will bring you to the next preview card and serves as a skip if you want to keep following them *Known Bug* - If the user has deleted the account and you can no longer unfollow it can cause the app to crash @rish any idea how to purge accounts that don't exist but still show in the database? The quick work around currently is to skip those users... remember popfi? That is one of them https://miniapp-generator-fid-20005-260127154550186.neynar.app https://paragraph.com/@0xc578958dd1880cf00bffbb7feb9c28cbbbcad3bf/ghost-town-mini-app?referrer=0xc578958DD1880cF00BFfbb7Feb9c28cbbbcaD3bF
@bradq it was only pulling the first 100, made a change where scans take a bit longer now but will scan through all of your following Def had more than 30 now
can you point me to an account that is crashing the app?
popfi gremplin gretagremplin There were a few others, but I think the commonality is if it was deleted by Farcaster?
accounts cant be deleted by farcaster, the protocol is open. it might be nerfed on the client and maybe its crashing coz when it tries to open on the client, the client doesn't show
Great idea, a perfect way to manage inactive users easily. Once the bug is fixed, the app will be even stronger.