mattermost-mobile-upstream/app/actions/remote
yasserfaraazkhan 6a269a9aec fix(custom-status): surface a failed local clear, and fix the patchPost mock
Two findings from an expert review pass over the run-32126493462 failures.

app/actions/remote/post.test.ts — the patchPost mock had the wrong signature. The
client takes a single object (`patchPost(postPatch: Partial<Post> & {id: string})`,
app/client/rest/posts.ts:64) and editPost calls it as
`client.patchPost({message, id, file_ids})`, but the mock destructured two
positional args `(message: string, postId: string)`. So it received the object as
`message`, `undefined` as `postId`, and every editPost test asserted against a
post whose id was undefined and whose message was an object. Corrected, and added
a test that asserts the edited body actually lands in the database — it fails with
the old mock (`Expected: "edited message content"  Received: ""`) and passes with
the new one, so the mock bug is real and now covered.

custom_status/index.tsx — clearCustomStatus discarded the result of
updateLocalCustomStatus. The call was not awaited and its `{error}` was dropped, so
a failed local write left the row showing a status the server had already cleared,
with no retry affordance and nothing logged. Await it and raise the existing retry
message, matching the branch above it that already does this for unsetCustomStatus.

To be clear about scope: this is the dropped-error path, not a root cause for
MM-T4990_4 / MM-T3891. Awaiting does not make observeCurrentUser emit any sooner,
so it cannot by itself explain a 20s assertion failure. Those two remain open.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 02:13:30 +05:30
..
entry Mm 68767 zero persistence (#9803) 2026-07-16 13:55:45 +02:00
apps.test.ts MM-59445 + others - Add tests for channel bookmarks, systems, apps and tos files in remote/actions (#8558) 2025-02-07 23:57:17 +08:00
apps.ts Remove tand prevent double tap (#9078) 2025-08-25 12:03:01 +02:00
category.test.ts [MM-68255] Enable mobile support for Managed Categories (#9683) 2026-04-16 10:01:51 -04:00
category.ts fix: app bugs surfaced by Detox RF migration (#9789) 2026-06-09 13:25:42 +05:30
channel_access_control_attributes.ts Mm 63935 abac end user indicators (#8848) 2025-05-19 15:34:03 +02:00
channel_bookmark.test.ts [MM-69723, MM-69705] Version-gate ChannelBookmarks and CustomProfileAttributes for flag removal (#9916) 2026-07-29 17:14:33 -03:00
channel_bookmark.ts [MM-69723, MM-69705] Version-gate ChannelBookmarks and CustomProfileAttributes for flag removal (#9916) 2026-07-29 17:14:33 -03:00
channel.test.ts fix(test): type the createChannel persist-failure mock as jest.Mock. 2026-08-16 06:05:48 +05:30
channel.ts fix(e2e): root-cause the PR E2E failures from run 31835719224 artifacts 2026-08-16 06:53:07 +05:30
classification.test.ts Classification Markings: Cached request timer and PSv2 Implementation (#9926) 2026-08-13 15:24:07 +03:00
classification.ts Classification Markings: Cached request timer and PSv2 Implementation (#9926) 2026-08-13 15:24:07 +03:00
command.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
command.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
custom_emoji.test.ts feat(iOS): Add Microsoft Intune MAM integration with multi-server support (#9312) 2025-12-10 13:07:28 +02:00
custom_emoji.ts Improve emoji picker performance introducing flashList (#8650) 2025-03-11 22:09:46 +08:00
custom_profile.test.ts [MM-62700] User Attribute types (#8903) 2025-06-12 10:59:13 +02:00
custom_profile.ts [MM-62700] User Attribute types (#8903) 2025-06-12 10:59:13 +02:00
file.test.ts test(MM-59431): file.ts unit test (#8424) 2025-01-08 20:19:24 -07:00
file.ts Channel Bookmarks (#7817) 2024-07-18 09:10:28 +08:00
general.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
general.ts Fix case-insensitive pre-auth header check in doPing (#9577) 2026-03-17 12:07:07 +01:00
groups.test.ts Add tests to actions/remote/groups (#8303) 2024-11-04 19:24:01 +08:00
groups.ts Request metrics improvements (#8420) 2025-01-16 13:55:29 -07:00
integrations.test.ts Mattermost Blocks (#9764) 2026-06-29 18:42:16 +02:00
integrations.ts Mattermost Blocks (#9764) 2026-06-29 18:42:16 +02:00
license.test.ts [MM-63728] Add license load metric to About screen (#8769) 2025-04-17 17:29:47 -03:00
license.ts [MM-63728] Add license load metric to About screen (#8769) 2025-04-17 17:29:47 -03:00
notifications.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
notifications.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
performance.test.ts Add Accept Header on ClientTracking (#8895) 2025-06-06 12:42:09 +02:00
performance.ts Add performance metrics to the app (#7953) 2024-06-12 09:45:27 +02:00
permalink.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
post.auxiliary.test.ts [MM-66467] Missing messages (#9827) 2026-06-15 11:20:58 +02:00
post.auxiliary.ts fix critical crashes on Android (#9871) 2026-06-23 02:40:21 +08:00
post.test.ts fix(custom-status): surface a failed local clear, and fix the patchPost mock 2026-08-19 02:13:30 +05:30
post.ts Fix three causes of channels rendering blank (#9992) 2026-08-03 10:28:19 -03:00
preference.test.ts Revert "e2e(detox): Rainforest to Detox migration (#9790)" (#9834) 2026-06-15 17:57:01 +02:00
preference.ts fix: app bugs surfaced by Detox RF migration (#9789) 2026-06-09 13:25:42 +05:30
reactions.test.ts Fix team sidebar not showing thread unreads (#8624) 2025-03-18 13:33:15 +01:00
reactions.ts [MM-42586] Reaction toggle behavior (#7674) 2023-11-22 21:05:58 +08:00
refresh.test.ts Mm 68767 zero persistence (#9803) 2026-07-16 13:55:45 +02:00
refresh.ts Mm 68767 zero persistence (#9803) 2026-07-16 13:55:45 +02:00
restore_server.test.ts Mm 68767 zero persistence (#9803) 2026-07-16 13:55:45 +02:00
restore_server.ts Mm 68767 zero persistence (#9803) 2026-07-16 13:55:45 +02:00
retry.test.ts MM-59433 Add unit tests to actions/remote/retry (#8445) 2025-01-08 12:30:16 -05:00
retry.ts Refactor errors around the app (#7306) 2023-05-03 13:08:55 +02:00
role.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
scheduled_post.test.ts feat(MM-63937): fetch initial team data only on entry (#8894) 2025-08-18 10:06:15 -06:00
scheduled_post.ts Unlicensed server should not show the tooltip on channel send button (#8806) 2025-04-29 17:21:09 +05:30
search.test.ts Fix team sidebar not showing thread unreads (#8624) 2025-03-18 13:33:15 +01:00
search.ts Keep users in archived channels when server omits ExperimentalViewArchivedChannels (MM-65820) (#9815) 2026-06-09 19:47:37 +00:00
session.test.ts Receive Mattermost Calls through iOS native incoming-call UI (#9780) 2026-06-16 12:08:14 -03:00
session.ts Receive Mattermost Calls through iOS native incoming-call UI (#9780) 2026-06-16 12:08:14 -03:00
systems.test.ts Mm 68767 zero persistence (#9803) 2026-07-16 13:55:45 +02:00
systems.ts Mm 68767 zero persistence (#9803) 2026-07-16 13:55:45 +02:00
team.test.ts MM-68575: Use server getMyTeams for canJoinOtherTeams check (#9736) 2026-05-13 10:23:21 -07:00
team.ts MM-68575: Use server getMyTeams for canJoinOtherTeams check (#9736) 2026-05-13 10:23:21 -07:00
terms_of_service.test.ts MM-59445 + others - Add tests for channel bookmarks, systems, apps and tos files in remote/actions (#8558) 2025-02-07 23:57:17 +08:00
terms_of_service.ts fix critical crashes on Android (#9871) 2026-06-23 02:40:21 +08:00
thread.test.ts Revert "e2e(detox): Rainforest to Detox migration (#9790)" (#9834) 2026-06-15 17:57:01 +02:00
thread.ts fix: app bugs surfaced by Detox RF migration (#9789) 2026-06-09 13:25:42 +05:30
user.test.ts Mm 68767 zero persistence (#9803) 2026-07-16 13:55:45 +02:00
user.ts revert(app): drop the unsetCustomStatus fetchMe convergence — it did not fix the E2E 2026-08-16 21:13:26 +05:30