mattermost-mobile-upstream/app/actions/websocket
yasserfaraazkhan 79023fb93b fix(custom-status): ignore stale user_updated events for the current user
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>
2026-08-18 07:19:47 +05:30
..
burn_on_read.test.ts Bor create post (#9393) 2026-02-09 17:00:54 +05:30
burn_on_read.ts Bor create post (#9393) 2026-02-09 17:00:54 +05:30
category.test.ts Add tests to remaining actions/websocket files (#8495) 2025-01-21 08:42:09 -05:00
category.ts Add tests to remaining actions/websocket files (#8495) 2025-01-21 08:42:09 -05:00
channel.test.ts Keep users in archived channels when server omits ExperimentalViewArchivedChannels (MM-65820) (#9815) 2026-06-09 19:47:37 +00:00
channel.ts fix critical crashes on Android (#9871) 2026-06-23 02:40:21 +08:00
event.test.ts Bor create post (#9393) 2026-02-09 17:00:54 +05:30
event.ts MM-68208 Implementing global and channel-level banners on mobile (#9752) 2026-07-08 12:47:01 +03:00
files.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
files.ts [MM-69457] Stop logging PII in exportable app logs (#9884) 2026-07-02 12:19:04 +02:00
group.test.ts Add tests to index, group and users websocket actions (#8486) 2025-01-17 14:25:12 -05:00
group.ts Move config to its own database table (#6744) 2022-11-11 21:20:42 +04:00
index.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
index.ts Classification Markings: Cached request timer and PSv2 Implementation (#9926) 2026-08-13 15:24:07 +03:00
integrations.test.ts Add tests to remaining actions/websocket files (#8495) 2025-01-21 08:42:09 -05:00
integrations.ts Gekidou Android share extension (#6803) 2022-11-30 23:18:56 +02:00
managed_categories.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
managed_categories.ts [MM-68255] Enable mobile support for Managed Categories (#9683) 2026-04-16 10:01:51 -04:00
posts.test.ts Mattermost Blocks (#9764) 2026-06-29 18:42:16 +02:00
posts.ts Mattermost Blocks (#9764) 2026-06-29 18:42:16 +02:00
preferences.test.ts Revert "e2e(detox): Rainforest to Detox migration (#9790)" (#9834) 2026-06-15 17:57:01 +02:00
preferences.ts fix: app bugs surfaced by Detox RF migration (#9789) 2026-06-09 13:25:42 +05:30
properties.test.ts MM-68208 Implementing global and channel-level banners on mobile (#9752) 2026-07-08 12:47:01 +03:00
properties.ts MM-68208 Implementing global and channel-level banners on mobile (#9752) 2026-07-08 12:47:01 +03:00
reactions.test.ts Add tests to remaining actions/websocket files (#8495) 2025-01-21 08:42:09 -05:00
reactions.ts Refactor errors around the app (#7306) 2023-05-03 13:08:55 +02:00
roles.test.ts Add model mocks to TestHelper (#8715) 2025-03-28 09:40:08 +01:00
roles.ts Refactor errors around the app (#7306) 2023-05-03 13:08:55 +02:00
scheduled_post.test.ts Feature schedule posts (#8509) 2025-04-14 22:08:59 +05:30
scheduled_post.ts Feature schedule posts (#8509) 2025-04-14 22:08:59 +05:30
system.test.ts Mm 68767 zero persistence (#9803) 2026-07-16 13:55:45 +02:00
system.ts Mm 68767 zero persistence (#9803) 2026-07-16 13:55:45 +02:00
teams.test.ts Add model mocks to TestHelper (#8715) 2025-03-28 09:40:08 +01:00
teams.ts Refactor errors around the app (#7306) 2023-05-03 13:08:55 +02:00
threads.test.ts Add tests to remaining actions/websocket files (#8495) 2025-01-21 08:42:09 -05:00
threads.ts Refactor errors around the app (#7306) 2023-05-03 13:08:55 +02:00
users.test.ts fix(custom-status): ignore stale user_updated events for the current user 2026-08-18 07:19:47 +05:30
users.ts fix(custom-status): ignore stale user_updated events for the current user 2026-08-18 07:19:47 +05:30