status-mobile icon indicating copy to clipboard operation
status-mobile copied to clipboard

"All" tab in AC is empty when no notifications are present

Open Horupa-Olena opened this issue 8 months ago • 17 comments

Bug Report

Reproduction

  1. Open the app and navigate to the Activity Center (AC).
  2. Ensure there are no notifications in the All tab.
  3. Observe the content displayed in the All tab.

Expected behavior

The All tab should display an empty-state illustration and message, similar to other tabs when they have no notifications.

Actual behavior

The All tab appears completely empty, without an illustration and message, unlike other tabs.

All tab Other tab
Image Image

Additional Information

  • Status version: nightly
  • Operating System: Android, iOS

Horupa-Olena avatar Apr 01 '25 14:04 Horupa-Olena

notifications list contains one item with unlisted type.

({:deleted false,
  :contact-verification-status 0,
  :membership-status 0,
  :newsLink "",
  :updatedAt 1745478397007,
  :read false,
  :dismissed false,
  :newsDescription "",
  :community-id "",
  :name "",
  :last-message nil,
  :accepted false,
  :type 25,
  :author "",
  :newsLinkLabel "",
  :id "0xba",
  :reply-message nil,
  :chat-id "",
  :tokenData nil,
  :timestamp 1745478397007,
  :newsTitle "",
  :newsContent "",
  :album-messages nil,
  :message nil, 
  :installation-id "", 
  :newsImageUrl ""})

ajayesivan avatar Apr 24 '25 11:04 ajayesivan

A few new notification types were introduced in this PR: https://github.com/status-im/status-go/pull/6255

You can see the newly introduced types here:
https://github.com/status-im/status-go/blob/f281ca0a805b5482fc071bf9760e26e18b02118d/protocol/activity_center.go#L45-L48

These were implemented on desktop in this PR, but as far as I can tell, they haven’t been implemented on mobile yet. This seems to be causing the "All" tab to appear empty, even when there's notification data available.

Desktop notification screenshot:

Image

One thing I don't quite understand is that this seems like a process that should only happen when recovering an old account, but it's happening even for newly created accounts. I'll create a detailed issue in the desktop repo.

cc: @ilmotta , @jrainville

Update: Desktop Issue: https://github.com/status-im/status-desktop/issues/17852

ajayesivan avatar Apr 26 '25 07:04 ajayesivan

We already have an open issue (status-desktop#17555) to address the unexpected notification data problem. Since this is related to status-go, I believe the fix will apply to mobile as well.

What we now need is implementing the missing AC notifications for fetching profile details.

@Horupa-Olena, do we already have an issue tracking this?

ajayesivan avatar Apr 28 '25 11:04 ajayesivan

@ajayesivan Thanks for your work! We don't have any issue for this type of notification because it isn't implemented on mobile. Honestly, there are more notifications like this that are not implemented on our side. For example:

ActivityCenterNotificationTypeBackupSyncingFetching ActivityCenterNotificationTypeBackupSyncingSuccess ActivityCenterNotificationTypeBackupSyncingPartialFailure ActivityCenterNotificationTypeBackupSyncingFailure

I can create a ticket for implementation if needed. @ilmotta What do you say?

Horupa-Olena avatar Apr 28 '25 15:04 Horupa-Olena

Also need designs for the AC notifications.

ajayesivan avatar Apr 29 '25 01:04 ajayesivan

I can create a ticket for implementation if needed. @ilmotta What do you say?

Thanks @Horupa-Olena, it's important to have the issues ready with the correct requirements for @ajayesivan.


Good catch @ajayesivan on finding the issue from desktop where new AC types were implemented.

Do you have access and can you find the new notification designs from this new public index in Figma? https://www.figma.com/design/aS0Yx5Un99ZXAQWciP3Dy1/Status-Design-Index?node-id=2-14211&m=dev

If there are no designs yet for Mobile then you can request them to the design team via @xAlisher.

ilmotta avatar May 14 '25 14:05 ilmotta

Thank you @ilmotta! I have access to the design file but couldn’t find the designs for the new “Fetching profile details” notification.

@xAlisher Could you please help me with the relevant designs or share them if they’re available? Thanks!

ajayesivan avatar May 16 '25 06:05 ajayesivan

From what I understand from status-go, we have a total of 29 notification types, out of which only 11 are currently supported on mobile. I'm not sure which additional notifications we plan to support in the near future.

In the meantime, @ilmotta, what do you think about filtering out the unsupported notification types to avoid showing an empty screen and prevent the original bug reported in this issue?

All notification types:

	ActivityCenterNotificationTypeNewOneToOne
	ActivityCenterNotificationTypeNewPrivateGroupChat
	ActivityCenterNotificationTypeMention
	ActivityCenterNotificationTypeReply
	ActivityCenterNotificationTypeContactRequest
	ActivityCenterNotificationTypeCommunityInvitation
	ActivityCenterNotificationTypeCommunityRequest
	ActivityCenterNotificationTypeCommunityMembershipRequest
	ActivityCenterNotificationTypeCommunityKicked
	ActivityCenterNotificationTypeContactVerification
	ActivityCenterNotificationTypeContactRemoved
	ActivityCenterNotificationTypeNewKeypairAddedToPairedDevice
	ActivityCenterNotificationTypeOwnerTokenReceived
	ActivityCenterNotificationTypeOwnershipReceived
	ActivityCenterNotificationTypeOwnershipLost
	ActivityCenterNotificationTypeSetSignerFailed
	ActivityCenterNotificationTypeSetSignerDeclined
	ActivityCenterNotificationTypeShareAccounts
	ActivityCenterNotificationTypeCommunityTokenReceived
	ActivityCenterNotificationTypeFirstCommunityTokenReceived
	ActivityCenterNotificationTypeCommunityBanned
	ActivityCenterNotificationTypeCommunityUnbanned
	ActivityCenterNotificationTypeNewInstallationReceived
	ActivityCenterNotificationTypeNewInstallationCreated
	ActivityCenterNotificationTypeBackupSyncingFetching
	ActivityCenterNotificationTypeBackupSyncingSuccess
	ActivityCenterNotificationTypeBackupSyncingPartialFailure
	ActivityCenterNotificationTypeBackupSyncingFailure
	ActivityCenterNotificationTypeNews

Supported in mobile

	ActivityCenterNotificationTypeNewOneToOne
	ActivityCenterNotificationTypeNewPrivateGroupChat
	ActivityCenterNotificationTypeMention
	ActivityCenterNotificationTypeReply
	ActivityCenterNotificationTypeContactRequest
	ActivityCenterNotificationTypeCommunityRequest
	ActivityCenterNotificationTypeCommunityMembershipRequest
	ActivityCenterNotificationTypeCommunityKicked
	ActivityCenterNotificationTypeContactVerification
	ActivityCenterNotificationTypeNewInstallationReceived
	ActivityCenterNotificationTypeNewInstallationCreated

The ActivityCenterNotificationTypeNews is being added in this PR by @flexsurfer

ajayesivan avatar May 16 '25 06:05 ajayesivan

what do you think about filtering out the unsupported notification types to avoid showing an empty screen and prevent the original bug reported in this issue?

Good suggestion 👍🏼 @ajayesivan, just that instead of filtering out (blocklist) we can go for an allowlist of notifications, which will guarantee we never again see this type of bug due to missing notifications.

I'm not sure which additional notifications we plan to support in the near future.

Ideally all Status' clients support almost identical notification types, but there's no plan to add support for more notification types in mobile right now due to other priorities.

If you are interested in adding support for more notification types in the mobile app, the Mobile CCs can re-analyze the types we want to support and align with the Design team, create GH issues, and add the relevant acceptance criteria. Let me know if that's of interest to you. Thank you

ilmotta avatar May 16 '25 07:05 ilmotta

Thank you @ilmotta! I have access to the design file but couldn’t find the designs for the new “Fetching profile details” notification.

@xAlisher Could you please help me with the relevant designs or share them if they’re available? Thanks!

Sure, here it is: https://www.figma.com/design/o4qG1bnFyuyFOvHQVGgeFY/Onboarding----Mobile?node-id=15299-40586&t=jdLJYl6sKmt2ubsi-1

Note: This logic was never implemented on mobile and hasn’t been reviewed or approved by the development lead. Desktop logic may differ. Please wait for @ilmotta to review the user flows. It’ll be ready for development after the handoff. 🛠️

xAlisher avatar May 16 '25 07:05 xAlisher

Thanks, @xAlisher. I’ll wait for @ilmotta’s approval before moving forward with this.

In the meantime, I’ll create a PR to handle unsupported notification types, which should resolve the current issue. Once we're ready to address the profile fetching notification, I can create a separate PR for that.

If you are interested in adding support for more notification types in the mobile app

Yes, @ilmotta, I’d be happy to take that on. I believe it’s a good fit, as it won’t interfere with other CCs’ work. If the CCs can analyze and create issues for the remaining notification types, I can start picking them up.

ajayesivan avatar May 16 '25 07:05 ajayesivan

All notification types: ActivityCenterNotificationTypeNewOneToOne ActivityCenterNotificationTypeNewPrivateGroupChat ActivityCenterNotificationTypeMention ActivityCenterNotificationTypeReply ActivityCenterNotificationTypeContactRequest ActivityCenterNotificationTypeCommunityInvitation ActivityCenterNotificationTypeCommunityRequest ActivityCenterNotificationTypeCommunityMembershipRequest ActivityCenterNotificationTypeCommunityKicked ActivityCenterNotificationTypeContactVerification ActivityCenterNotificationTypeContactRemoved ActivityCenterNotificationTypeNewKeypairAddedToPairedDevice ActivityCenterNotificationTypeOwnerTokenReceived ActivityCenterNotificationTypeOwnershipReceived ActivityCenterNotificationTypeOwnershipLost ActivityCenterNotificationTypeSetSignerFailed ActivityCenterNotificationTypeSetSignerDeclined ActivityCenterNotificationTypeShareAccounts ActivityCenterNotificationTypeCommunityTokenReceived ActivityCenterNotificationTypeFirstCommunityTokenReceived ActivityCenterNotificationTypeCommunityBanned ActivityCenterNotificationTypeCommunityUnbanned ActivityCenterNotificationTypeNewInstallationReceived ActivityCenterNotificationTypeNewInstallationCreated ActivityCenterNotificationTypeBackupSyncingFetching ActivityCenterNotificationTypeBackupSyncingSuccess ActivityCenterNotificationTypeBackupSyncingPartialFailure ActivityCenterNotificationTypeBackupSyncingFailure ActivityCenterNotificationTypeNews

@ajayesivan @ilmotta I can check on Desktop how many notifications are shown and analyze which ones we might not need to show on Mobile, if we decide to take that approach.

Horupa-Olena avatar May 16 '25 07:05 Horupa-Olena

Thanks, @xAlisher. I’ll wait for @ilmotta’s approval before moving forward with this.

In the meantime, I’ll create a PR to handle unsupported notification types, which should resolve the current issue. Once we're ready to address the profile fetching notification, I can create a separate PR for that.

If you are interested in adding support for more notification types in the mobile app

Yes, @ilmotta, I’d be happy to take that on. I believe it’s a good fit, as it won’t interfere with other CCs’ work. If the CCs can analyze and create issues for the remaining notification types, I can start picking them up.

@ajayesivan I created a task for this: https://github.com/status-im/status-mobile/issues/22592 But I didn’t include blocking unsupported notifications in the requirements.

Should we do everything in one PR — add new notifications and block the ones we won’t support — or split it into two?

Horupa-Olena avatar May 16 '25 07:05 Horupa-Olena

I would suggest going with two separate PRs, as it will likely make both code review and testing easier.

Also, it may take some time to determine which notification types we want to support and to get the corresponding designs ready. So, we might actually need more than two PRs in total.

Since we already have a design for the profile fetching notification, we can start working on that once it’s approved by @ilmotta, and then pick up additional notifications as their designs and flows become available.

ajayesivan avatar May 16 '25 07:05 ajayesivan

Since we already have a design for the profile fetching notification, we can start working on that once it’s approved by @ilmotta, and then pick up additional notifications as their designs and flows become available.

@ajayesivan My review on this matter will only be done by Monday because my Friday is almost over (I'm on a different timezone). Next week there will be a few more issues that will be good candidates for external contribution! They will be labeled with bounty in the meantime.

ilmotta avatar May 16 '25 08:05 ilmotta

Replying to https://github.com/status-im/status-mobile/issues/22418#issuecomment-2885844870:

I reviewed the designs/flows for Mobile in Figma regarding the ActivityCenterNotificationTypeBackupSyncing* types. It looks mostly good to go, but I prefer to continue the discussion in another issue to keep this issue focused on the original topic.

I'll update this comment with the link and tag you all.

ilmotta avatar May 20 '25 01:05 ilmotta

@ilmotta I’d be happy to pick that up once it’s ready for development.

ajayesivan avatar May 20 '25 02:05 ajayesivan