beeminder / BeeSwift

Official Beeminder for iOS app
Other
29 stars 6 forks source link

Badge number doesn't update when logging in with new account #461

Open krugerk opened 1 month ago

krugerk commented 1 month ago
### Desiderata
- [x] Is this too corner-casey to care? Answer: yes, no one has or should have multiple accounts
- [ ] Decide whether to fix it for hygienic reasons

Replicata

  1. Log in with an account that will have beemergencies soon (UserA)
  2. Log out
  3. Log in with some other account (UserB)
  4. Note the badge shows 0 to reflect the 0 beemergencies of UserB
  5. Wait for a zeno reminder (from UserA)
  6. Note the badge number now shows the UserA's number of beemergencies
  7. Open the app. App fetches goals and updates the badge (again setting it to UserB's 0 beemergencies)

Expectata

That it show the number of beemergencies for UserB and only for UserB.

Resultata

It shows the number of beemergencies for UserA when Zenos are sent. (And then back to those for UserB when one opens the app.)

Circumventata

Open the app.

Nota Nebulosa

Cognata

Verbata: accuracy of beemergency count,

dreeves commented 1 month ago

This strikes me as too corner-casey to care. It has a fine workaround and no one logs in with different accounts on the same device anyway. But if there's an easy fix, or it's good hygiene to clean things up here, sure.

DukeCephalopod commented 1 month ago

@krugerk as written, expectata and resultata are not actually in conflict: the badge showing stale data is not (necessarily) indicative of any remote notifications being received for the wrong account — reword?

krugerk commented 1 month ago

The badge not being updated upon signing out was also an issue and was fixed with #149. With this issue, even after logging (userA) and after logging in (userB), the badge is being updated to reflect the beemergencies of userA. I am not sure at which point this stops but it seems to carry on for a day or two.

dreeves commented 1 month ago

expectata and resultata are not actually in conflict

I fixed that just now.