Files
workavia-mail-front/docs/adr/0062-fix-offline-cache-prevents-updating-email-query-view-on-mobile.md
2025-04-21 03:23:14 -07:00

1.3 KiB

62. Fix offline cache prevents updating email query view on mobile

Date: 2025-04-03

Status

Context

  • When we perform too many actions on multiple emails (Mark as read, mark as star, move, delete, etc.), Email/get from the value of Email/changes will throw an error.
[
    "error",
    {
        "type": "requestTooLarge",
        "description": "Too many items in an email read at level FULL. Got 183 items instead of maximum 100."
    },
    "c2"
]
  • Some emails in the update of the Email/change response were not found in Email/get. But we still update newState of email.

Decision

  • To solve this problem we propose the most optimal solution which is We will add a Clean cache & Get all emails action when the user performs Pull down to refresh

Now when user performs Pull down to refresh action. There will be 2 actions performed

  • If the drag distance is shorter < 200px will perform Refresh action (Just call get all emails)
  • If the drag distance is shorter >= 200px will perform Deep Refresh action (Call clean cache and get all emails)

Consequences

  • No lost emails when displayed on list on mobile