mirror of
https://github.com/mattermost/mattermost-mobile.git
synced 2026-11-13 06:30:29 +00:00
handleUserUpdatedEvent computed a freshness check (user.update_at >
currentUser.updateAt) but only used it to gate fetchMe and the locale work —
the `operator.handleUsers([userToSave])` save sat outside it, so any
out-of-order or re-delivered user_updated for ourselves was persisted
regardless of age.
Some local writes deliberately change the current user without bumping
update_at: clearing the custom status writes props.customStatus directly via
updateLocalCustomStatus. A stale event carrying the old props therefore
overwrote the clear, and the Account row kept showing the status the user had
just cleared, with the clear control still mounted.
Verified the rest of that path is sound before changing it — the local write
stores {"customStatus":""}, observeCurrentUser re-emits, and the Account
custom-status component drops the clear button when fed the new value. The
websocket save was the only writer putting the old value back.
Fixes MM-T4990_4 and MM-T3891, which fail on both iOS and Android.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| burn_on_read.test.ts | ||
| burn_on_read.ts | ||
| category.test.ts | ||
| category.ts | ||
| channel.test.ts | ||
| channel.ts | ||
| event.test.ts | ||
| event.ts | ||
| files.test.ts | ||
| files.ts | ||
| group.test.ts | ||
| group.ts | ||
| index.test.ts | ||
| index.ts | ||
| integrations.test.ts | ||
| integrations.ts | ||
| managed_categories.test.ts | ||
| managed_categories.ts | ||
| posts.test.ts | ||
| posts.ts | ||
| preferences.test.ts | ||
| preferences.ts | ||
| properties.test.ts | ||
| properties.ts | ||
| reactions.test.ts | ||
| reactions.ts | ||
| roles.test.ts | ||
| roles.ts | ||
| scheduled_post.test.ts | ||
| scheduled_post.ts | ||
| system.test.ts | ||
| system.ts | ||
| teams.test.ts | ||
| teams.ts | ||
| threads.test.ts | ||
| threads.ts | ||
| users.test.ts | ||
| users.ts | ||