9e126297ac
- 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.