mattermost-mobile-upstream/app/components
yasser khan dfc94b3c3c
test(e2e): close manual release-test gaps (#10125)
Closes manual release-test gaps for mobile (Detox + Maestro), automating new test cases and hardening flaky/CI-only failures uncovered along the way.

### New coverage automated
- **MM-T416** offline/online post-retry (Android via airplane mode; iOS ultimately marked unsupported — see below)
- **MM-T1194 / MM-T1193** custom ToS accept/decline survives relaunch
- **MM-T3251** status change via account UI (cross-user visibility)
- **MM-T510** channel-wide/keyword mention delivery — later expanded to a full 5-channel mention matrix with exact server-side counts
- **MM-T3261 (_1/_2)** Report a Problem external hand-off (browser link mode, email mode)
- **MM-T2940** iOS managed-config (MDM) pre-fill/autoconnect
- **MM-T3271/3272** opening the app from a push notification (synthetic notification payloads, background/closed states)
- Un-skipped several tests that turned out to already pass (stale skips)

### Root-caused failing tests
- **Android SQLite corruption**: traced to native Kotlin DB connections not opening in WAL mode while JSI did (post #10109) — journal-mode mismatch corrupted the store on push-triggered writes. Fixed properly with a **WAL patch** (#10117) rather than the original destructive "wipe app database" workaround, which was reverted.
- **Fabric crash** (`addViewAt`/reparent) on `SlideUpPanelItem` taps — root-caused to view flattening racing sheet mounts; fixed with `collapsable={false}` (went through a revert/re-revert once CI reproduced the crash without it).
- **Search race**: stale in-flight search results could overwrite a cleared search box — fixed with request-id tagging.
- **iOS offline detection**: multiple iterations (AAAA sampling → Cloudflare-prefix check → final decision) landed on refusing iOS offline simulation outright, since all E2E servers are Cloudflare-fronted/anycast and the address space can't be enumerated/blocked.
- **MM-T3261 config patch** intermittently silently ignored by the server — root-caused to `ReportAProblemType` being environment-managed on PR Spinwicks (config PATCH returns 200 but is silently dropped); now detected and reported as a skip with proven cause, not a failure.
- **MM-T416 failed-post timing**: multiple rounds of tightening the wait bound to match the client's actual retry/backoff/timeout ceiling (ended at ~150s, derived from OkHttp/retry-interceptor math, not guessed).
- **MM-T5603 upload wait**: raised to match the client's real 180s upload timeout.
- **Classification banner suite**: fixed to verify config state directly instead of trusting a PATCH reply that the cloud sometimes drops.

### CI/reporting infra fixes
- Dedicated Maestro steps (MM-T3261, MM-T67856_4) weren't feeding into the merged JUnit report and couldn't gate pass/fail — fixed report merging/naming so they now count.
- Android Maestro logcat capture added (previously iOS-only diagnostics).
- Jest retry logic no longer discards passing results from a shard killed by timeout.
- Sharding raised 24→28.
- Removed dead Detox Pilot/Playbooks scaffolding (unused, uncovered by CI).

### Cleanup
- Comment/docs pass stripping narrative session-archaeology from long explanatory comments, keeping only load-bearing facts and CI references.
2026-09-11 09:48:02 +05:30
..
animated_number Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
announcement_banner Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
app_version Enable exhaustive deps in the repo (#9508) 2026-02-18 11:56:16 +01:00
autocomplete Revert "e2e(detox): Rainforest to Detox migration (#9790)" (#9834) 2026-06-15 17:57:01 +02:00
autocomplete_selector Mattermost Blocks (#9764) 2026-06-29 18:42:16 +02:00
badge feat:proper badge theme use for server list (#8313) 2024-11-05 07:11:17 -07:00
block_renderer [MM-70023] Consider attachment fields with no title for block translation (#9981) 2026-07-30 17:51:32 +02:00
burn_on_read_label Revert "e2e(detox): Rainforest to Detox migration (#9790)" (#9834) 2026-06-15 17:57:01 +02:00
button Mattermost Blocks (#9764) 2026-06-29 18:42:16 +02:00
channel_actions [MM-69735] Improve DM call user experience (#10017) 2026-09-03 19:44:10 +00:00
channel_banner MM-68208 Implementing global and channel-level banners on mobile (#9752) 2026-07-08 12:47:01 +03:00
channel_bookmarks fix: Product fixes to run e2e tests (#10081) 2026-08-26 16:12:37 +05:30
channel_icon Enable exhaustive deps in the repo (#9508) 2026-02-18 11:56:16 +01:00
channel_item test(e2e): close manual release-test gaps (#10125) 2026-09-11 09:48:02 +05:30
channel_list_row Mattermost Blocks (#9764) 2026-06-29 18:42:16 +02:00
chips Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
common_post_options fix(e2e): Quarantine proven flakes and harden Detox harness (#9971) 2026-07-30 02:40:23 +05:30
compass_icon Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
connection_banner Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
copy_text_option Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
custom_status Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
date_time_selector Fix/detox hittest cluster (#10023) 2026-08-27 08:58:03 +05:30
document use alertOnlyPDFSupported for document files (#9023) 2025-07-27 18:05:49 +08:00
draft_scheduled_post Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
draft_scheduled_post_header feat(iOS): Add Microsoft Intune MAM integration with multi-server support (#9312) 2025-12-10 13:07:28 +02:00
drafts_buttton Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
edited_indicator Fix the Edited post incorrect line spacing on Android (#9170) 2025-10-01 21:26:57 +08:00
emoji feat(iOS): Add Microsoft Intune MAM integration with multi-server support (#9312) 2025-12-10 13:07:28 +02:00
emoji_category_bar Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
error_text Update dependencies and upgrade to RN 0.76.5 (#8421) 2025-01-16 07:11:32 -07:00
expo_image Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
external_image Fix link to image proxy and correct padding in image sizing on blocks (#9976) 2026-07-30 13:41:26 +02:00
files test(detox): re-submit RF→Detox migration without unintended UI changes (#9847) 2026-06-19 22:44:02 +05:30
files_search Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
floating_input Fix/detox recovery hardening cluster (#10022) 2026-08-10 21:33:53 +00:00
formatted_date Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
formatted_markdown_text Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
formatted_relative_time Agents "RHS" view (#9318) 2026-03-16 09:48:32 -07:00
formatted_text Standardize tabs across different components (#8691) 2025-05-28 16:23:37 +02:00
formatted_time Feature schedule posts (#8509) 2025-04-14 22:08:59 +05:30
friendly_date Make relatives times coherent with web (#9062) 2025-08-12 14:28:25 +02:00
global_classification_banner Classification Markings: Cached request timer and PSv2 Implementation (#9926) 2026-08-13 15:24:07 +03:00
illustrations Update additional images branding (#8672) 2025-06-20 11:41:26 -04:00
jumbo_emoji Typescript support and view component for permalink with user and message (#9052) 2025-09-10 17:12:16 +05:30
loading Unify buttons (#8865) 2025-05-30 15:59:15 +02:00
loading_error Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
markdown fix: Product fixes to run e2e tests (#10081) 2026-08-26 16:12:37 +05:30
math_view Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
menu_divider Add Report a Problem functionality (#8605) 2025-04-24 11:12:55 +02:00
navigation_button [MM-69735] Improve DM call user experience (#10017) 2026-09-03 19:44:10 +00:00
navigation_header [MM-69735] Improve DM call user experience (#10017) 2026-09-03 19:44:10 +00:00
navigation_header_title Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
no_results_with_term Remove tand prevent double tap (#9078) 2025-08-25 12:03:01 +02:00
option_box Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
option_item Revert "e2e(detox): Rainforest to Detox migration (#9790)" (#9834) 2026-06-15 17:57:01 +02:00
other_mentions_badge Enable exhaustive deps in the repo (#9508) 2026-02-18 11:56:16 +01:00
post_draft MM-69625 MM-69633: Collapse-all and task filtering on playbook run checklists (#9928) 2026-08-27 18:46:43 +05:00
post_list test(e2e): close manual release-test gaps (#10125) 2026-09-11 09:48:02 +05:30
post_priority Standardize tags and chips through the app (#8856) 2025-06-11 10:11:05 +02:00
post_with_channel_info fix: app bugs surfaced by Detox RF migration (#9789) 2026-06-09 13:25:42 +05:30
pressable_opacity test(detox): re-submit RF→Detox migration without unintended UI changes (#9847) 2026-06-19 22:44:02 +05:30
profile_picture Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
progress_bar Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
progressive_image feat(iOS): Add Microsoft Intune MAM integration with multi-server support (#9312) 2025-12-10 13:07:28 +02:00
remove_markdown MM-56577 Fixing font display issues on thread items (#9630) 2026-05-28 15:11:52 +03:00
rounded_header_context [Gekidou] Navigation bar refactored (#6319) 2022-06-01 17:07:54 -04:00
scheduled_post_indicator Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
search fix: Product fixes to run e2e tests (#10081) 2026-08-26 16:12:37 +05:30
section_notice Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
selected_users Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
server_icon Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
server_user_list Mattermost Blocks (#9764) 2026-06-29 18:42:16 +02:00
server_version Enable exhaustive deps in the repo (#9508) 2026-02-18 11:56:16 +01:00
settings Add date/datetime field support with timezone features for Apps Forms (#9521) 2026-07-16 08:09:47 -06:00
slide_up_panel_item test(e2e): close manual release-test gaps (#10125) 2026-09-11 09:48:02 +05:30
status_label Remove tand prevent double tap (#9078) 2025-08-25 12:03:01 +02:00
syntax_highlight Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
system_avatar [Gekidou] post list (#5893) 2022-01-17 07:06:26 -03:00
system_header feat: Add visible to you text on ephemeral posts (#8245) 2024-10-30 10:01:49 +01:00
tablet_title Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
tag Revert "e2e(detox): Rainforest to Detox migration (#9790)" (#9834) 2026-06-15 17:57:01 +02:00
team_list Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
team_sidebar Multiple Fixes (#9767) 2026-05-19 16:35:20 +08:00
threads_button Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
toast Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
touchable_emoji New keyboard library Setup (#9278) 2026-01-13 22:38:35 +05:30
touchable_with_feedback Upgrade Dependencies (#7299) 2023-04-21 12:16:54 -04:00
tutorial_highlight fix: stabilize server switch, saved posts, favorites, and related runtime races (#10122) 2026-09-09 00:35:15 +05:30
upload_item_shared [MM-69129] Prevent crash on nameless attachment (#10091) 2026-08-24 12:10:59 -03:00
user_avatars_stack Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
user_item feat(e2e): Integrate TSIO reporting (#9925) 2026-07-23 06:43:28 +00:00
user_list feat(e2e): Integrate TSIO reporting (#9925) 2026-07-23 06:43:28 +00:00
user_list_row Mattermost Blocks (#9764) 2026-06-29 18:42:16 +02:00
user_status Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
keyboard_aware_post_draft_container.tsx resumes slide animation after stopping due to modal system dialog showing (#9792) 2026-05-29 06:50:57 +08:00