feat(mobile): add Pulse social feed tab#772
Merged
Merged
Conversation
Add a full-featured Pulse tab to the mobile app, porting the desktop social feed experience. Includes: - New bottom nav tab (Home, Pulse, Activity, Search) - Tab bar with Everyone, Following, Liked, Agents, Mine sections - Note cards with heart, reply, share, and DM actions - Inline reply composer - Note composer for publishing kind:1 notes - Follow/unfollow via contact list (kind:3) management - Reaction support (kind:7) with optimistic UI - Agent activity cards with grouped notes and status dots - Pull-to-refresh, loading skeletons, empty states - New NostrFilter helpers for social queries - EventKind.note and EventKind.contactList constants Signed-off-by: Wes <wesbillman@users.noreply.github.com>
- Use stable sorted comma-joined string keys for Riverpod family providers (notesTimelineProvider, noteReactionsProvider) to prevent identity-based key mismatches causing repeated fetches - Filter deleted reactions (kind:5) in both likedNotesProvider and noteReactionsProvider so unlikes persist across refreshes - Fetch fresh contact list from relay in followUser/unfollowUser before mutating to prevent stale-cache data loss - Add NostrFilters.deletionsByTargetIds helper Signed-off-by: Wes <wesbillman@users.noreply.github.com>
- Change composer placeholder from "What's pulsing?" to "What's on your mind?" to match desktop. - Increase top padding above filter tab bar (4px → 12px) so there's more breathing room above than below. - Fix Agents tab showing no posts by also extracting bot pubkeys from the relay membership list (kind:13534). Previously only kind:10100 agent profile events were queried, which misses managed agents that haven't published their own profile event. Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Collaborator
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Adds the Pulse social feed as a new top-level tab in the mobile app, porting the desktop feature to Flutter.
What's included
nostr:neventURI copyTechnical details
MessageContent/GptMarkdownrendering andchannelActionsProviderfor reactionsFiles changed (12 files, +1532/-8)
mobile/lib/features/pulse/— new feature module (7 files)mobile/lib/features/home/home_page.dart— nav integrationmobile/lib/shared/relay/nostr_filters.dart— new filter constructorsmobile/lib/shared/relay/nostr_models.dart— kind constantsValidation
flutter analyze: no issuesflutter test: all 336 tests passdart format: cleanFollow-up items