- Groups tab: Follow/Following button per row, driven by #+GROUP: entries
in the user's social.org. Orphaned groups (followed but not on current
relay) appear at bottom with a distinct icon and "Not on current relay"
caption.
- ProfileWriter: addGroup and removeGroup pure string helpers for managing
#+GROUP: header lines.
- GroupsViewModel: load relay groups + own feed in parallel, merge into
GroupDisplayItem list with isFollowed state; toggleFollow uses
UploaderFactory so authentication is handled by the correct uploader.
- GroupsView: Follow button only shown when canFollow (publicFeedURL set);
uses Button + navigationDestination(item:) instead of NavigationLink to
avoid the iOS list auto-fire bug.
- Info.plist: CFBundleShortVersionString and CFBundleVersion now use build
setting variables instead of hardcoded values, fixing App Store upload
version mismatch.
- Bump MARKETING_VERSION to 1.2, CURRENT_PROJECT_VERSION to 10, and app
category to Social Networking.