Commit graph

242 commits

Author SHA1 Message Date
Rahim Rahman
522812e126
feat(MM-65147): upgrade to react-native 0.77.3 (#9253)
* feat(MM-65147): upgrade to react-native 0.77.3
* basic iOS & Android changes
* patch packages
* react-native-network-client temporary until fix upstream
* local updates
* delete patch for react-native-network-client
* update react-native-network-client@1.9.0
* update RNN patch package to fix kotlin bug
* revert unneeded changes
* changes based on PR review
* ensure insert not happening if any of the values are null
* update watermelondb to 2.81.0
* update watermelon patch file name
* update secure-pdf-viewer to use latest lib
* fix typescript errors
* update podfile.lock
* update podfile.lock
* update podfile.lock again?
* podfile.lock update again
* temporarily update hermes engine
* temp
* fix alamo issue.
* revert changes to pod update
* pod update vs pod install
* remove cache for a bit
* revert the pod caching
* oops
* update podfile.lock again
* fix(MM-66825): dynamic patching of 16kb pagesize (#9361)
* fix(MM-66825): dynamic patching of 16kb pagesize
* fix lint and tsc errors
* add npx patch-package
* run patcing somewhere else instead, but this will break  iOS
* move reinstall around
* simplify script
* expo-image wasn't updating
* update caching restore key
* using git apply
* fix lint issues
* readme changes
* remove some wrong instructions
* remove redundant npx patch-package
* update build script
2025-12-22 07:35:38 -07:00
unified-ci-app[bot]
3ee8afb808
Bump app build and version number (#9350)
* Bump app build number to 695

* Bump app version number to 2.36.0

---------

Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-12-12 13:19:58 +02:00
Eva Sarafianou
ebb7a2241f
Update react-native-network-client (#9343)
* fresh install of react-native-network-client

* address feedback
2025-12-10 19:00:38 +02:00
Elias Nahum
44eb76bed7
feat(iOS): Add Microsoft Intune MAM integration with multi-server support (#9312)
* refactor: implement custom ExpoImage wrapper for cache control

Add ExpoImage component with automatic cacheKey/cachePath management and replace all expo-image imports across the app

* refactor(ios): convert Gekidou to CocoaPods

Migrate from Swift Package Manager to CocoaPods, add Keychain write operations, refactor notification handler to remove react-native-notifications headers, and upgrade Swift to 5.0

* npm audit

* update fastlane

* feat(ci): integrate Intune MAM for enterprise builds with strict OSS protection

Add Intune submodule, CI actions, Fastlane configuration, developer scripts, pre-commit hooks, and validation workflows to enable internal MAM builds while protecting OSS repository

* fix tests by mocking @mattermost/intune

* feat: implement Intune MAM integration with comprehensive security enforcement

Add IntuneManager, refactor SecurityManager/SessionManager for MAM policies, implement native OIDC auth flow, add biometric enforcement, conditional launch blocking, and file protection controls

* fix alerts when no server database is present

* Unify cache strategy

* fix emit config changed after it was stored in the db

* Handle Mid-Session Enrollment Detection

* fix ADALLogOverrideDisabled missing in Fastfile

* fix flow for initial enrollment

* fix and add unit tests

* enable Intune configuration for PR and beta builds, CLIENT_ID should be changed before actual release

* Update intune submodule with addressed feedback

* fix validate-intune-clean workflow

* feat(intune): add comprehensive error handling and SAML+Entra support

Add production-ready error handling for native Entra authentication with
user-friendly i18n messages, comprehensive test coverage, and support for
Entra login when server requires SAML.

* update i18n

* update intune submodule

* update build-pr token

* fix race condition between server auth and intune enrollment

* fix CI workflow to build with intune

* use deploy key for intune submodule

* set the config directly in the submodule .git

* debug injection

* try setting GIT_SSH_COMMAND

* remove action debug

* fix server url input

* match pod cache with intune hash

* Fastfile and envs

* have workflows check for intune/.git

* have ci cache intune frameworks as well

* update Fastlane to set no-cache to artifacts uploaded

* fix s3 upload

* fix pblist template

* Attempt to remove the cache control for PR uploads to s3

* use hash from commit for S3 path

* Implement crash-resilient selective wipe with automatic retry and add removeInternetPassword to Gekidou Keychain

* Fix surface errors from intune login

* fix postinstall scripts

* use cacheKey for draft md images

* remove unnecessary double await during test

* Have isMinimumLicenseTier accept valid license sku tier as target

* Add missing Auth error messages

* remove the last period for intune errors in i18n

* do not call unenroll with wipe on manual logout

* Fix tests and Intune error messages

* do not filter any SSO type regardless of which is used for Intune

* fix 412 to not retry

* fix tests, app logs sharing and share_extension avatar cache

* apply setScreenCapturePolicy on license change

Co-authored-by: Eva Sarafianou <eva.sarafianou@mattermost.com>

* re-apply screen capture on enrollment

Co-authored-by: Eva Sarafianou <eva.sarafianou@mattermost.com>

* use userData from intunr login and prevent getMe

Co-authored-by: Eva Sarafianou <eva.sarafianou@mattermost.com>

* Check for Biometrics and Jailbreak as we used to

---------

Co-authored-by: Eva Sarafianou <eva.sarafianou@mattermost.com>
2025-12-10 13:07:28 +02:00
Rahim Rahman
723e727f05
fix(MM-66553): temporary fix for CVE-2025-11953 (#9330) 2025-12-04 10:56:36 -07:00
unified-ci-app[bot]
d0a28cdc67
Bump app build and version number (#9297)
* Bump app build number to 688

* Bump app version number to 2.35.0

---------

Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-11-19 14:42:50 +02:00
unified-ci-app[bot]
aa88019582
Bump app build and version number (#9223)
* Bump app build number to 681

* Bump app version number to 2.34.0

---------

Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-10-17 13:39:51 +03:00
JG Heithcock
2d6a5d5097
Mobile-side for MM-65084 (#9115)
* Mobile fix for MM-65084

* Changing test/setup.ts to use a deterministic fill

This avoids the ci issue about parenthesis and is more clear that this is just a fixed sequence for testing, similar to randomUUID above.

* Add setBearerToken and setCSRFToken to Client definition

* Use setClientCredentials and memoize createPkceBundle

* Restoring the preauthSecret back to the Client constructors

This came out of a response to MM-65085: Support Pre Shared Password on server connect where preauthSecret was added in the buildConfig. Claude (correctly imo) identified this as now redundant and so removed it but it is valid to keep it as well. In any case, putting it back to be consistent with ClientTracking and ClientBase.

* Rename PKCE to SAML based terminology, similar to server

* Fix lint issue with too many blank lines at eof

* Removing plain on mobile side

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-09-29 14:29:37 -07:00
unified-ci-app[bot]
3c6ae12634
Bump app build and version number (#9151)
* Bump app build number to 672

* Bump app version number to 2.33.0

---------

Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-09-19 12:29:09 +03:00
Elias Nahum
2c1d896e9b
update react-native-network-client (#9094) 2025-09-01 16:22:26 +08:00
unified-ci-app[bot]
ebc39fd386
Bump app build and version number (#9080)
* Bump app build number to 665

* Bump app version number to 2.32.0

---------

Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-08-20 15:06:21 +03:00
Daniel Espino García
4f27a022c3
Make relatives times coherent with web (#9062)
* Make relatives times coherent with web

* Fix test
2025-08-12 14:28:25 +02:00
Daniel Espino García
4444826147
Fix tests leaks and other minor improvements (#9001)
* Fix tests leaks and other minor improvements

* Fix flaky test and remove unneeded flags

* Add comments

* test: create ci specific test commands (#9010)

* test: create ci specific test commands
* use test:ci as base for test:ci:coverage

---------

Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
2025-07-21 07:29:26 -06:00
unified-ci-app[bot]
a098de3481
Bump app build and version number (#9013)
* Bump app build number to 655

* Bump app version number to 2.31.0

---------

Co-authored-by: Anka <runner@Mac-1753071427258.local>
2025-07-21 08:00:49 +03:00
Elias Nahum
b91e42615f
Secure Files and preview PDF inline (#8844) 2025-06-19 15:30:56 +08:00
unified-ci-app[bot]
1dbedaae0e
Bump app build and version number (#8942)
* Bump app build number to 649

* Bump app version number to 2.30.0

---------

Co-authored-by: Anka <runner@Mac-1750308866906.local>
2025-06-19 08:52:31 +03:00
Claudio Costa
1a695a1273
Update calls-common (#8913)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-06-10 10:00:34 +02:00
unified-ci-app[bot]
42a54407a4
Bump app build and version number (#8870)
* Bump app build number to 640

* Bump app version number to 2.29.0

---------

Co-authored-by: Anka <runner@Mac-1747715958810.local>
2025-05-20 08:31:12 +03:00
Claudio Costa
3887ce30a8
Remove long deprecated Calls code (#8747) 2025-05-15 18:20:45 +02:00
Eva Sarafianou
941ea0db3a
Update transitive prismjs (#8846) 2025-05-09 10:43:08 +03:00
Claudio Costa
7192d21134
[MM-63889] Calls: Add backend version check to enable DC locking (#8799)
* Calls: Add backend version check to enable DC locking

* Update calls-common
2025-04-28 09:04:49 -06:00
unified-ci-app[bot]
753295548f
Bump app build and version number (#8787)
* Bump app build number to 629

* Bump app version number to 2.28.0

---------

Co-authored-by: Anka <runner@Mac-1745295415004.local>
2025-04-22 08:23:23 +03:00
Rahim Rahman
c85101af10
fix(MM-63733): patch expo-image to use the latest version of APNG4Android (#8765) 2025-04-12 19:52:18 -06:00
Claudio Costa
972f59b6cd
Update calls-common (#8762) 2025-04-11 07:59:14 -06:00
Elias Nahum
9a83813c23
Fix build on Xcode 16.3 (#8760) 2025-04-10 09:09:03 +08:00
Claudio Costa
52330847e2
Update calls-common to latest (#8745) 2025-04-07 15:50:09 -06:00
Elias Nahum
374f812b98
Update dependencies (#8721)
* update fastlane

* update dev dependencies

* update to eslint 9+

* update testing-library

* update react-intl

* update bottom-sheet

* update expo

* update reanimated

* upgrade msgpack

* upgrade datepicker

* upgrade react-navigation

* update sentry

* update FlasList

* update fuse.js moment-timezone node-html-parser and semver

* update gesture-handler

* update image-picker

* update react-native-keychain

* update react-native-localize

* update react-native-navigation

* update watermelonDB

* update react-native-permissions

* update react-native-safe-area-context and react-native-screens

* update react-native-share and react-native-svg

* update react-native-video and react-native-webrtc

* update @mattermost/rnutils

* update @mattermost/rnshare

* update @mattermost/hardware-keyboard

* fix isMainActivity

* update android dependencies

* fix upload file progress indicator

* fix entry update config & license

* revert to stable version of @sentry/react-native

* update react-intl again

* update moment-timezone

* upgrade @react-native-camera-roll/camera-roll

* update @react-native-clipboard/clipboard

* update @react-navigation again

* update @shopify/flash-list

* update eslint

* update expo again

* update html-entities

* update mime-db

* update react-native-permissions

* Revert "update react-intl again"

This reverts commit e8e6d5a60dfa56b82b810cbbd7cdffec7697ffc7.

* Revert "update react-intl"

This reverts commit c77f329bb38910aeeba03869b72d77a8b0e00ba1.

* update react-native-keychain

* update and patch react-intl

* mend

* feedback during review 1
2025-04-07 09:30:06 +08:00
Jesse Hallam
250732d3fc
upgrade to @mattermost/commonmark@0.31.2-0 (#8722) 2025-04-05 00:42:51 +08:00
Takuya N
18305e3cbf
chore(deps-dev): allow devs to use Node.js 22 (LTS) (#8657)
Also upgrade the default version of Node.js to 22.14.0.

Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
2025-03-24 16:28:11 -06:00
unified-ci-app[bot]
96f1c59e0f
Bump app build and version number (#8695)
* Bump app build number to 615

* Bump app version number to 2.27.0

---------

Co-authored-by: Anka <runner@Mac-1742449667584.local>
2025-03-20 08:13:41 +02:00
Elias Nahum
59252d98fb
update react-native-emm fixes navigation perf degradation on iOS (#8681) 2025-03-17 19:31:53 +08:00
Elias Nahum
a5a1e53827
Biometric prompt, Jailbreak / Root detection and screenshot prevention (#8645)
* Handle biometric authentication

* jailbreak/root detection and biometric small fixes

* remove server from initializeSecurityManager and fix loginEntry

* Add screen capture prevention and other small fixes

* added unit tests to SecurityManager

* added shielded nativeID to protect views

* use MobilePreventScreenCapture instead of MobileAllowScreenshots in config type definition

* Apply Swizzle for screen capture on iOS

* Apply patch to bottom sheet to prevent screen captures

* fix ios sendReply

* Fix SDWebImage swizzle to use the correct session

* Fix potential crash on Android when using hardware keyboard

* rename patch for network library to remove warning

* add temp emm reference

* fix initializeSecurityManager tests

* fix translations

* use siteName for jailbreak detection when connecting to a new server

* fix i18n typo

* do not query the entire config from the db only the required fields

* migrate manage_apps to use defineMessages

* use TestHelper.wait in tests

* use defineMessages for security manager

* fix missing else statement for gm_to_channel

* created a TestHelper function to mockQuery and replace as jest.Mock with jest.mocked

* fix unit tests

* fix unit tests (again) and include setting the test environment to UTC

* Fix keyboard disappearing on iOS

* update react-native-emm
2025-03-13 14:07:41 -04:00
dependabot[bot]
6314c763d1
Bump @babel/runtime from 7.26.0 to 7.26.10 (#8667)
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.26.0 to 7.26.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.10/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-13 07:55:10 +08:00
Elias Nahum
0c24a646d4
Improve emoji picker performance introducing flashList (#8650) 2025-03-11 22:09:46 +08:00
Rahim Rahman
1ecba213f0
fix(MM-62375): OutOfMemoryError issue with better catching (#8622)
* fix(MM-62375): OutOfMemoryError issue with gif

* add APNG4Android as npm module instead
2025-02-28 10:16:55 -07:00
Daniel Espino García
a1ccdcb0da
Add ios native logs (#8555)
* Add ios native logs

* Use correct version

* Revert unneeded changes in package-lock
2025-02-24 11:50:39 +01:00
unified-ci-app[bot]
24e6750482
Bump app build and version number (#8595)
* Bump app build number to 606

* Bump app version number to 2.26.0

---------

Co-authored-by: Anka <runner@Mac-1739773484484.local>
2025-02-17 09:06:56 +02:00
Rahim Rahman
985fa692a6
fix(MM-62375): OOM on gif (#8573)
* fix(MM-62375): OOM on gif
* add APNG4Android into github action script to download
* change to mattermost/APNG4Android
2025-02-12 08:18:54 -07:00
Elias Nahum
4407ca06cf
2.25 fixes (#8578) 2025-02-11 17:21:26 +08:00
Elias Nahum
ee66890d32
MM-62915 and MM-62919 (#8568) 2025-02-08 07:17:15 +08:00
unified-ci-app[bot]
2580eccab9
Bump app build and version number (#8497)
* Bump app build number to 595

* Bump app version number to 2.25.0

---------

Co-authored-by: Anka <runner@Mac-1737356984917.local>
2025-01-20 09:50:35 +02:00
Daniel Espino García
592b3805f1
Fix timezone crash (#8485)
* Fix timezone crash by adding all timezones to the polyfill

* update snapshots; be careful about undefined: diff on local vs CI

* one more that's different locally vs CI

* i18n

---------

Co-authored-by: Christopher Poile <cpoile@gmail.com>
2025-01-16 17:29:57 -05:00
Elias Nahum
2f3dfbbbfa
Update dependencies and upgrade to RN 0.76.5 (#8421)
* update dev deps

* partial update dependencies

* update watermelondb

* update rn to 0.76.5, expo to 52.0.18 and others

* upgrade android firebase

* upgrade detox deps

* fix package-lock.json

* update emm and paste-input

* update turbo-log

* update network library

* fix tests

* review feedback

* fix Keyboard blocking signIn button

* Fall back to iphone 14 iOS 17.2 simulator as app crashes on iOS 17.4

* changes in deleteCredentialsForServer is causing a crash

* withOptions x2 clearly is wrong

* re-add cli-platform-apple fix

* fix: RN 0.76.5 issue with bottom sheet disappearing (#8478)

* experiment, using view vs BottomSheetView

* revert previous & try disabling enableDynamicSizing

* revert an unintended removal

---------

Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
2025-01-16 07:11:32 -07:00
Rajat Dabade
84eded1bde
Mobile drafts (#8280)
* refactor: started with draft, done until new tabs for draft

* refactor: change the query and added the screen for draft

* added condition for fetching draft for channel delete or not

* refactor: added draft screen

* linter fixes

* Added draft post component

* added avatar and header display name for the draft post list

* added channel info component

* channel info completed

* proper naming

* added image file markdown acknowledgement support

* draft actions

* Fix the draft receiver in drafts

* separated send message handler

* Done with send drafts

* done with delete drafts

* change save to send draft

* handle lengthy message with show more button

* done with persistent message edit, send and delete drafts

* added alert for sending message

* added update at time for the drafts

* en.json extract fix

* Updated dependencies for useCallback

* refactor: added drafts list to animated list

* added swipeable component and delete conformation for drafts

* done with rendering of images in markdown for drafts

* en.json issue fixed

* fix en.json issue

* refactor: en.json fix

* addressed review comments

* updated image metadata handling code

* linter fixes

* added the empty draft screen

* linter fix

* style fix

* back button an android takes to the channel list page

* en.json fix

* draft actions theme compatible

* CSS fix for draft channel_info and avatar component

* removed the badge icon and change font style drafts

* fix send alert sender name for GMs

* updated snapshot

* added testId to the drafts components

* updated send draft test id

* clicking on draft takes to the channel

* Added toptip for draft tours

* intl extract

* Rebase to main and reverted local testing changes

* Added tooltip for drafts

* addressed review comments

* reset navigation when click on a draft in draft tabs

* fix the theme issue and navigation issue

* reverted back the draft click navigation changes

* observing draft when hitting back button

* removed the unwanted animiation

* updated regex for parsing markdown

* removed unnecessary checks and change folder name

* removed react memo and merge unwanted observes function

* removed unnecessary comments

* changed the name for observing and querying draft function

* removed memo from component level

* Text to FormattedText component

* Text to formatted text, change image name

* added confirmation modal for deleting draft from bottomsheet

* using common send_handler for both draft and post

* removed magic number for tooltip and bottomsheet

* renamed channel_info to draft_post_header

* text to formattedText for Edit drafts

* removed unnecessary changes

* minor fixes

* mounting draft only when there is draft

* map to reduce

* renamed SwipeableDraft to DraftSwipeAction

* name fixes

* isValidUrl to isParsableUrl and added test

* added test and addressed minor review comments

* added inline component for the duplicate code

* inlt fixes

* clearDraft is not optional

* optimised categories_list.tsx component

* Swipeable to ReanimatedSwipeable, TouchableWithoutFeedback to Pressable and folder name changes

* Added comment and disabled eslint rule for showing warning

* fixed component file name

* minor'

* Removed deprecated Animated createAnimatedComponent flatlist

* added test for missing protocol check

* import change for SwipeableMethod

* active tab for tablet view

* Updated the drafts icons

* Updated compass-icon version to v0.1.48

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-13 18:40:03 +05:30
Elias Nahum
fb57c423c7
Network metrics (#8390)
* Network metrics

* update network-client ref

* fix unit tests

* missing catch error parsing

* add client tracking unit tests

* fix typos
2024-12-17 19:51:26 +08:00
Daniel Espino García
640ff93e01
Android native logs (#8384)
* Android native logs

* Use latest version of the library
2024-12-17 18:16:11 +08:00
unified-ci-app[bot]
3cda8df6f4
Bump app build and version number (#8418)
* Bump app build number to 585

* Bump app version number to 2.24.0

---------

Co-authored-by: Anka <runner@Mac-1734412880694.local>
2024-12-17 08:33:24 +02:00
Elias Nahum
d25c6fe245
Extra keyboard (#8348)
* Add support to use the keyboard area with a component

* fix import

* add missing providers to involved screens

* Change the way we handle the keyboard to allow using custom components in that area

* review feedback
2024-11-29 11:58:13 +08:00
Daniel Espino García
732b17a75c
Add post props validation (#8323)
* Validate props

* Add calls changes and fix attachments

* Address feedback
2024-11-28 15:59:30 +01:00
unified-ci-app[bot]
d259fb00b4
Bump app build and version number (#8364)
* Bump app build number to 576

* Bump app version number to 2.23.0

---------

Co-authored-by: runner <runner@Mac-1732099083966.local>
2024-11-20 13:13:20 +01:00