mattermost-mobile-upstream/app/utils
Mattermost Build c1afd62681
[MM-69129] Prevent crash on nameless attachment (#10091) (#10126)
* [MM-69129] Prevent crash on nameless attachment.

A draft attachment persisted without a name or an extension made
`isImage` call `extractExtension(undefined)`, throwing on every render of
the channel and of the global Drafts screen. Guard against it so the
draft renders as a plain file card that the user can remove.

* [MM-69129] Exercise the upload item tests against the real file utils

Both suites stubbed `isImage` and `getFormattedFileSize`, which are pure
functions, so they asserted states the component can never see and could
not have caught this crash. Drop the mocks and let each fixture decide
which branch renders.

(cherry picked from commit 876af76f36)

Co-authored-by: Jesse Hallam <jesse@thehallams.ca>
2026-09-07 06:36:24 +00:00
..
alerts On iOS, resuming after the 5-minute window showed no biometric prompt — (#10102) (#10132) 2026-09-07 08:26:21 +03:00
channel Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
deep_link Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
document Secure Files and preview PDF inline (#8844) 2025-06-19 15:30:56 +08:00
draft Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
emoji Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
file [MM-69129] Prevent crash on nameless attachment (#10091) (#10126) 2026-09-07 06:36:24 +00:00
gallery Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
general Channel banner display (#8735) 2025-04-08 11:15:18 +05:30
images Fix gallery image dimensions (#9247) 2025-11-10 19:18:27 +08:00
markdown Improve markdown code (#9164) 2025-11-04 10:05:56 +01:00
navigation Fix passing number strings through screen params (#9931) 2026-07-16 18:21:40 +02:00
notification Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
performance Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
permalink Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
post [MM-66230] Add AI-generated sparkle indicator to post headers (#9835) 2026-07-14 19:31:02 +00:00
post_list Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
role Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
scheduled_post Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
search Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
security On iOS, resuming after the 5-minute window showed no biometric prompt — (#10102) (#10132) 2026-09-07 08:26:21 +03:00
server Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
snack_bar Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
svg Gekidou MultiServers second part (#5963) 2022-02-17 10:42:06 -03:00
tap Remove tand prevent double tap (#9078) 2025-08-25 12:03:01 +02:00
theme Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
thread Better handle threads sync (#8641) 2025-03-19 09:23:22 +01:00
url Mattermost Blocks (#9764) 2026-06-29 18:42:16 +02:00
user Remove tand prevent double tap (#9078) 2025-08-25 12:03:01 +02:00
apps.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
apps.ts Make attachments and app bindings more robust yet secure (#8570) 2025-03-14 12:02:32 +01:00
bor.test.ts Ensured BoR post actions matches those in webapp (#9362) 2026-02-04 12:18:35 +05:30
bor.ts Ensured BoR post actions matches those in webapp (#9362) 2026-02-04 12:18:35 +05:30
buttonStyles.test.ts Add Report a Problem functionality (#8605) 2025-04-24 11:12:55 +02:00
buttonStyles.ts Standardize tags and chips through the app (#8856) 2025-06-11 10:11:05 +02:00
categories.test.ts Add model mocks to TestHelper (#8715) 2025-03-28 09:40:08 +01:00
categories.ts Add unit tests to Utils buttonStyles and categories (#8015) 2024-06-14 17:11:36 +08:00
classification.test.ts MM-68208 Implementing global and channel-level banners on mobile (#9752) 2026-07-08 12:47:01 +03:00
classification.ts MM-68208 Implementing global and channel-level banners on mobile (#9752) 2026-07-08 12:47:01 +03:00
config.test.ts Mm 68767 zero persistence (#9803) 2026-07-16 13:55:45 +02:00
config.ts Mm 68767 zero persistence (#9803) 2026-07-16 13:55:45 +02:00
custom_profile_attribute.ts [MM-62565] DB only custom profile attributes and fields (#8739) 2025-04-09 15:35:27 +02:00
database_errors.test.ts [MM-68315] Add autorecovery for database corruptions (#9900) 2026-07-13 18:02:35 +02:00
database_errors.ts [MM-68315] Add autorecovery for database corruptions (#9900) 2026-07-13 18:02:35 +02:00
date_utils.test.ts Add date/datetime field support with timezone features for Apps Forms (#9521) 2026-07-16 08:09:47 -06:00
date_utils.ts Add date/datetime field support with timezone features for Apps Forms (#9521) 2026-07-16 08:09:47 -06:00
datetime.test.ts Add date/datetime field support with timezone features for Apps Forms (#9521) 2026-07-16 08:09:47 -06:00
datetime.ts Add date/datetime field support with timezone features for Apps Forms (#9521) 2026-07-16 08:09:47 -06:00
dialog_conversion.test.ts Add date/datetime field support with timezone features for Apps Forms (#9521) 2026-07-16 08:09:47 -06:00
dialog_conversion.ts Add date/datetime field support with timezone features for Apps Forms (#9521) 2026-07-16 08:09:47 -06:00
dialog_utils.test.ts Add date/datetime field support with timezone features for Apps Forms (#9521) 2026-07-16 08:09:47 -06:00
dialog_utils.ts Add date/datetime field support with timezone features for Apps Forms (#9521) 2026-07-16 08:09:47 -06:00
error_handling.test.ts On iOS, resuming after the 5-minute window showed no biometric prompt — (#10102) (#10132) 2026-09-07 08:26:21 +03:00
error_handling.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
errors.test.ts [MM-62777] Fix errors being nested. Make MFA code more resilient to this situation (#8531) 2025-01-31 08:31:15 +02:00
errors.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
files.test.ts Secure Files and preview PDF inline (#8844) 2025-06-19 15:30:56 +08:00
files.tsx feat(iOS): Add Microsoft Intune MAM integration with multi-server support (#9312) 2025-12-10 13:07:28 +02:00
grapheme.test.ts New keyboard library Setup (#9278) 2026-01-13 22:38:35 +05:30
grapheme.ts New keyboard library Setup (#9278) 2026-01-13 22:38:35 +05:30
groups.test.ts added utils unit tests (#8040) 2024-07-05 07:17:09 +08:00
groups.ts [Gekidou] Groups + group-memberships deferred fetch (#6370) 2022-07-07 12:20:06 +02:00
headers.test.ts Fix case-insensitive pre-auth header check in doPing (#9577) 2026-03-17 12:07:07 +01:00
headers.ts Fix case-insensitive pre-auth header check in doPing (#9577) 2026-03-17 12:07:07 +01:00
helpers.test.ts Classification Markings: Cached request timer and PSv2 Implementation (#9926) 2026-08-13 15:24:07 +03:00
helpers.ts Classification Markings: Cached request timer and PSv2 Implementation (#9926) 2026-08-13 15:24:07 +03:00
integrations.test.ts Add date/datetime field support with timezone features for Apps Forms (#9521) 2026-07-16 08:09:47 -06:00
integrations.ts Add date/datetime field support with timezone features for Apps Forms (#9521) 2026-07-16 08:09:47 -06:00
interactive_dialog_adapter.test.ts Add DialogRouter for Interactive Dialog to Apps Form migration (#9114) 2026-01-26 08:57:56 -07:00
interactive_dialog_adapter.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
intune_errors.test.ts add support on iOS for Intune Conditional Access (#9660) 2026-04-09 17:46:52 +03:00
intune_errors.ts add support on iOS for Intune Conditional Access (#9660) 2026-04-09 17:46:52 +03:00
key_mirror.test.ts added utils unit tests (#8040) 2024-07-05 07:17:09 +08:00
key_mirror.ts MM-35115 [Gekidou] Login flow - Email and Password (#5402) 2021-06-18 00:57:40 -04:00
keyboard.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
keyboard.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
log.test.ts Add Report a Problem functionality (#8605) 2025-04-24 11:12:55 +02:00
log.ts Update dependencies (#8721) 2025-04-07 09:30:06 +08:00
mattermost_managed.test.ts added utils unit tests (#8040) 2024-07-05 07:17:09 +08:00
mattermost_managed.ts Upgrade RN as well as update or replace other dependencies (#8011) 2024-06-19 09:33:45 +08:00
message_attachment.test.ts Make attachments and app bindings more robust yet secure (#8570) 2025-03-14 12:02:32 +01:00
message_attachment.ts Make attachments and app bindings more robust yet secure (#8570) 2025-03-14 12:02:32 +01:00
mix.test.ts added utils unit tests (#8040) 2024-07-05 07:17:09 +08:00
mix.ts Remove watermelondb limitation on updating an already updated model (#7067) 2023-02-03 17:11:57 +02:00
opengraph.test.ts MM-59600 Add unit tests to utils/opengraph (#8444) 2025-01-06 15:30:48 -05:00
opengraph.ts fix: app bugs surfaced by Detox RF migration (#9789) 2026-06-09 13:25:42 +05:30
permalink_sync.test.ts Ability to show attachment if the permalink post contains attachments. (#9101) 2025-09-12 13:44:54 +05:30
permalink_sync.ts Ability to show attachment if the permalink post contains attachments. (#9101) 2025-09-12 13:44:54 +05:30
push_proxy.test.ts added utils unit tests (#8040) 2024-07-05 07:17:09 +08:00
push_proxy.ts capitalize back the alert text 2023-10-18 21:06:12 +02:00
remote_cluster_connection.test.ts [MM-67923] Add channel settings for shared channels (#9591) 2026-04-14 11:43:44 +02:00
remote_cluster_connection.ts [MM-67923] Add channel settings for shared channels (#9591) 2026-04-14 11:43:44 +02:00
reviews.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
reviews.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
saml_challenge.ts Mobile-side for MM-65084 (#9115) 2025-09-29 14:29:37 -07:00
sentry.test.ts Fix Regressions (#9808) 2026-06-04 06:54:40 +08:00
sentry.ts Fix Regressions (#9808) 2026-06-04 06:54:40 +08:00
share_logs.test.ts Report a problem not redirect to default email application (#9703) 2026-05-14 09:10:39 -04:00
share_logs.ts Report a problem not redirect to default email application (#9703) 2026-05-14 09:10:39 -04:00
strings.test.ts added utils unit tests (#8040) 2024-07-05 07:17:09 +08:00
strings.ts added utils unit tests (#8040) 2024-07-05 07:17:09 +08:00
subscription.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
subscription.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
team_menu.test.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
team_menu.ts Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
time.test.ts Feature schedule posts (#8509) 2025-04-14 22:08:59 +05:30
time.ts Feature schedule posts (#8509) 2025-04-14 22:08:59 +05:30
timezone.test.ts added utils unit tests (#8040) 2024-07-05 07:17:09 +08:00
timezone.ts remove usages of isTimeZoneEnabled (#7769) 2024-01-30 13:22:55 +01:00
types.ts Add model mocks to TestHelper (#8715) 2025-03-28 09:40:08 +01:00
typography.test.ts added utils unit tests (#8040) 2024-07-05 07:17:09 +08:00
typography.ts added utils unit tests (#8040) 2024-07-05 07:17:09 +08:00