Skip to content

[Bug] Archived messages still shown in iOS app (partially as unread) + Pull-to-Refresh spinner stuck indefinitely #105

@fabian-urner

Description

@fabian-urner

Bug Report

Summary

Two related sync/refresh issues observed in the Proton Mail iOS app. Both seem to point to a problem with how the app synchronizes state with the server and refreshes its local cache.

Issue 1: Messages archived via web browser still appear in iOS app inbox (some incorrectly marked as unread)

After archiving one or more messages in the Proton Mail web browser client, the iOS app continues to display those messages in the inbox as if they were never archived. The archived state is not reflected in the app — even after manually triggering a refresh.

Additionally, some of these incorrectly persisted messages are also displayed as unread, even though they have already been read. So the iOS app fails to sync both the archived state and the read/unread state from other clients.

This appears to be related to #64 ("Mails read on other devices still showing in the notifications forever"), which describes a similar cross-device sync failure where state changes made on one client are not properly propagated to the iOS app.

Issue 2: Pull-to-Refresh spinner does not disappear / loading state gets stuck

When attempting to refresh the message list by pulling down, the loading spinner appears but never disappears. The app remains stuck in a loading state indefinitely and no refresh actually completes. The only way to resolve this is to force-quit and relaunch the app.

Steps to Reproduce

Issue 1:

  1. Open Proton Mail in a web browser, read one or more emails and then archive them.
  2. Open the Proton Mail iOS app.
  3. Observe that the archived messages are still visible in the inbox.
  4. Observe that some of those messages are additionally shown as unread despite having been read.
  5. Pull down to refresh — spinner gets stuck (see Issue 2).

Issue 2:

  1. Open the Proton Mail iOS app.
  2. Navigate to the inbox.
  3. Pull down on the message list to trigger a refresh.
  4. Observe that the loading spinner appears but never goes away.

Expected Behavior

  • Messages archived on other clients/platforms should be removed from the inbox in the iOS app upon next sync or manual refresh.
  • Messages that have been read should be reflected as read across all clients.
  • The pull-to-refresh action should complete within a reasonable time and the spinner should be hidden once the refresh is done.

Environment

Field Value
Device iPhone 12
iOS Version 18.5 (22F76)
App Version Proton Mail 7.2.2 (9) - 0.161.26
Network Reproducible on both Wi-Fi and mobile data
VPN None active

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions