Repository navigation
feat(analytics): catalogue invite links, moderation, search and Currency Info - #1889
Merged
Merged
Conversation
Wire the events catalogued in this PR through FlipcashAnalytics: invite link created/revoked, join request approved/denied, member silenced/removed, Search opened/result tapped, Token Info opened from Search, Currency Info tile/more option/community chat taps, and Group: New Opened with Type on both rows (Private row previously sent nothing). Moderation outcomes report State and Error like Group: Created; the new error types map in chatResult. Add TokenInfoEntry.Search so Search currency results report source Search instead of Discovery.
…cash Drop the explicit null in newOpened now that optional builder params default to null, point search at the test-fixtures modules, and disambiguate the ResourceHelper.getString mocks.
bmc08gt
force-pushed
the
feat/analytics-group-discovery
branch
from
October 30, 2026 04:14
d162a31 to
4849234
Compare
bmc08gt
marked this pull request as ready for review
October 30, 2026 04:32
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.
Gap
Neither app sends anything for these features, so their funnels can't be measured. Evidence is in section 1 and 2 of the 2026-10-29 analytics audit. Catalogue only: no event is sent until an engineer wires it in both apps.
Entries
Group: Invite Link CreatedGroup: Invite Link RevokedGroup: Join Request ApprovedGroup: Join Request DeniedGroup: Member SilencedSilenceDuration), State, Error (optional)Group: Member RemovedSearch: OpenedSearch)Search: Result TappedSearchResultType: Chat, Currency, Message, Link)Token Info: Opened From SearchSEARCHvalue onTokenInfoSource)Token Info: Tile TappedCurrencyInfoTile: Send, Buy, Buy In, Transactions, More), MintToken Info: More Option PickedCurrencyInfoMoreOption: Convert, Withdraw, Deposit), MintToken Info: Community Chat TappedGroup: New Opened(changed)GroupType: Private, Community), optionalDesign notes:
Chat Muted/Chat Unmuted, not one event with a decision property.SilenceDurationis a new list.MuteDurationdoesn't fit: chat mute's last option is "Always", silence's is "Forever" on both apps (SilenceOption.kt:17-27,GroupModeration.swift:26-36).Group: New OpenedmakeTypea required argument of the generatedGroupEvents.newOpened(type)on Kotlin. The one Android call site,NewChatScreen.kt:77, now passesnullso the build compiles. That is the only app code touched. iOS has the same break atNewChatScreen.swift:34and:71(doNewOpened()) when it bumps SharedCore.kmp/shared-core/spm/.../AnalyticsEvents.swiftgets typealiases for the five new lists andSearchEvents.As wired
Android only; iOS receives the events after the next Publish SharedCore release and a version bump. Outcome events send State on the RPC result and Error on failure, as
Group: Createddoes.Group: Invite Link CreatedManageInvitesViewModel.create,InviteLinkViewModel.createviatrackInviteLinkCreatedGroup: Invite Link RevokedManageInvitesViewModel.revokeviatrackInviteLinkRevokedGroup: Join Request ApprovedChatViewModelApproveJoinRequesthandler viatrackJoinRequestApprovedGroup: Join Request DeniedChatViewModelDenyJoinRequesthandler viatrackJoinRequestDeniedGroup: Member SilencedSilenceUserViewModel.silenceviatrackMemberSilencedSilenceOptionGroup: Member RemovedMemberModerationViewModel.removeviatrackMemberRemovedSearch: OpenedSearchViewModelinitSearch: Result TappedSearchViewModel.resultTapped, called fromSearchScreenonOpenChat/onOpenCurrency/onOpenLinkToken Info: Opened From SearchTokenInfoEntry.SearchinSearchScreen, mapped intoTokenInfoSourceToken Info: Tile TappedCurrencyInfoContentV2viatrackTileTappedToken Info: More Option PickedTokenInfoViewModel.presentMoreviatrackMoreOptionPickedToken Info: Community Chat TappedCurrencyInfoContentV2preview,CommunityChatsScreenviatrackCommunityChatTappedGroup: New OpenedNewChatScreennull)Join Request Approved/Denied and the other outcome events map their server errors in
Conversions.chatResult.Not included
Group: Joinedfrom invite links, Invite Followed and Invite Shared fixes,Group: Editedbalance requirements, the notification status page, the photo viewer and the reaction banner.