Commit graph

3247 commits

Author SHA1 Message Date
Rahim Rahman
004656453a
fix(): revert changes INTUNE_ENABLED & iOS min ver (#9458) 2026-01-21 20:02:16 -07:00
unified-ci-app[bot]
9a84897f39
Bump app build and version number (#9457)
* Bump app build number to 711

* Bump app version number to 2.36.3

---------

Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2026-01-21 19:52:17 -05:00
Rahim Rahman
46b179b141
fix(): disable intune & min iOS ver 15.1 (#9456) 2026-01-21 19:23:01 -05:00
Mattermost Build
b42224048a
fix(): update INTUNE_ENABLED within Github CI & Podfile (#9453) (#9455)
* fix(): update INTUNE_ENABLED within Github CI & Podfile
* temporary switch to iOS 15 and false INTUNE_ENABLED
* revert INTUNE_ENABLED='false' and iOS 15

(cherry picked from commit 6fb109faf1)

Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
2026-01-21 17:03:26 -07:00
unified-ci-app[bot]
29a1d43ec7
Bump app build and version number (#9447)
Some checks failed
github-release / test (push) Has been cancelled
github-release / build-ios-unsigned (push) Has been cancelled
github-release / build-android-unsigned (push) Has been cancelled
github-release / generate-consolidated-sbom (push) Has been cancelled
github-release / release (push) Has been cancelled
* Bump app build number to 708

* Bump app version number to 2.36.2

---------

Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2026-01-20 16:53:34 -05:00
Mattermost Build
24d4e775c1
Intune release clientID (#9440) (#9446)
(cherry picked from commit bd1dcef010)

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2026-01-20 20:57:38 +02:00
Mattermost Build
7be3d3fceb
fix(): re-enable intune (#9442) (#9444)
(cherry picked from commit 3f284dec55)

Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
2026-01-20 20:53:17 +02:00
Rahim Rahman
1a182ced1b
feat(): cherry-pick update iOS min version to 16 (#9432) (#9441) 2026-01-20 10:16:06 -07:00
unified-ci-app[bot]
99c12e9938
Bump app build and version number (#9439)
Some checks failed
github-release / test (push) Has been cancelled
github-release / build-ios-unsigned (push) Has been cancelled
github-release / build-android-unsigned (push) Has been cancelled
github-release / generate-consolidated-sbom (push) Has been cancelled
github-release / release (push) Has been cancelled
* Bump app build number to 707

* Bump app version number to 2.36.1

---------

Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2026-01-20 17:30:33 +02:00
Mattermost Build
021ed7e583
Update build-ios-release.yml (#9437) (#9438)
disable intune in the release build

(cherry picked from commit 944a542110)

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2026-01-20 15:51:21 +02:00
Mattermost Build
f11dc2c5cb
fix(MM-67224): MM Mobile v2.36.0 crash on iOS 16 and below (#9421) (#9431)
* fix(MM-67224): iOS app hanging for at least 2000 ms.

* downgrade intune iOS SDK to 20.9.0

* update to version 20.9.2 (latest)

* reverse changes to .env files

* set INTUNE_IOS_SDK_VERSION to 20.9.2

* revert change

* Intune update

* remove echo

(cherry picked from commit 4324846736)

Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
2026-01-20 07:54:14 +02:00
Mattermost Build
e48a4c0e09
[MM-67056] Show actions on image gallery for android (#9386) (#9423)
* show actions on image gallery for android

* use a constant, update dependencies

* use original window metrics if safe insets fail

* restore deps

(cherry picked from commit f024e00ca6)

Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>
2026-01-19 11:13:09 +02:00
unified-ci-app[bot]
d066425e6d
Bump app build number to 703 (#9404)
Some checks failed
github-release / test (push) Has been cancelled
github-release / build-ios-unsigned (push) Has been cancelled
github-release / build-android-unsigned (push) Has been cancelled
github-release / generate-consolidated-sbom (push) Has been cancelled
github-release / release (push) Has been cancelled
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2026-01-08 13:54:52 +02:00
Mattermost Build
105b5e0568
Fix android logout (#9398) (#9403)
(cherry picked from commit 1a563a7917)

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2026-01-08 13:31:26 +02:00
unified-ci-app[bot]
87b6c31689
Bump app build number to 702 (#9400)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2026-01-07 13:27:06 +02:00
Mattermost Build
bb6cfab2ef
use correct clientId for Intune in the beta builds (#9395) (#9397)
(cherry picked from commit a57d7aa926)

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2026-01-07 13:01:18 +02:00
Mattermost Build
e844023bcf
Fix login with Intune using the Authenticator app (#9349) (#9396)
(cherry picked from commit 23fec945a4)

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2026-01-07 12:53:30 +02:00
unified-ci-app[bot]
55d457785a
Bump app build number to 700 (#9392)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2026-01-07 08:40:18 +02:00
Mattermost Build
87e9774bb5
[MM-66923] Fix scroll and private channel icon on invite user (#9363) (#9391)
* [MM-66923] Fix scroll and private channel icon on invite user

* Address feedback

* Fix test

(cherry picked from commit 2111c8fb2c)

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2026-01-07 08:26:30 +02:00
unified-ci-app[bot]
34c6df6203
Bump app build number to 696 (#9373)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-12-19 09:15:03 +02:00
Mattermost Build
23f3d11524
[MM-66711] Verify push notifications on magic link login (#9322) (#9369)
* [MM-66711] Verify push notifications on magic link login

* Address copilot suggestion

* Add missing await

---------


(cherry picked from commit 4934920e10)

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2025-12-18 15:17:31 +02:00
Mattermost Build
d7aa424f37
Bor handle burned ws event (#9346) (#9358)
* handled the websocket event when a user burns a BoR post as receiver

* test: add comprehensive tests for handleBoRPostBurnedEvent function

* Added tests

* reset unintended changes

* Minor fix

(cherry picked from commit 49efb4f470)

Co-authored-by: Harshil Sharma <18575143+harshilsharma63@users.noreply.github.com>
2025-12-17 08:36:28 +02:00
unified-ci-app[bot]
970e9fe3c7
Bump app build and version number (#9351)
* 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:33:22 +02:00
Mattermost Build
5cd2363b3b
Add guest invites (#9288) (#9347)
* Add guest invites

* Fix tests and address copilot feedback

* Fix test

* Add magic link changes

(cherry picked from commit d76791ebe6)

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2025-12-11 18:32:41 +02:00
Harshil Sharma
50372294c1
Handled the case of own BoR post not relying on post.metadata (#9341)
* Added scaffolding for unrevealed BoR post

* Displayed reveal UI

* Displayed expiry timer

* WIP

* Displayed own post indicator and blur text

* restored button

* Ungrouped BoR posts

* WIP

* WIP

* DIsplayed error message on revealing

* Added last run check on mobile app cleanup job

* Cleanup

* lint fix

* i18n-fix

* Added tests

* test: add test suite for revealBoRPost function

* test: add unrevealed burn on read post test file

* feat: add tests for UnrevealedBurnOnReadPost component

* test: update UnrevealedBurnOnReadPost test with PostModel type

* test: replace toBeTruthy with toBeVisible for component visibility assertions

* test: add initial test file for expiry timer component

* test: add comprehensive tests for ExpiryCountdown component

* refactor: clean up test formatting and remove redundant test case

* fix: adjust test timing for ExpiryCountdown onExpiry callback

* test: fix timer test by advancing timers in smaller increments

* Added tests

* Updated tests

* fixed accidental change

* restored package.resolved

* WIP review fixes

* Review fixes

* Review fixes

* Fixed tests

* restored package.resolved

* WIP

* test: add test for skipping BoR post cleanup within 15 minutes

* test: add comprehensive test cases for expiredBoRPostCleanup

* WIP

* WIP

* test: add bor.test.ts placeholder file

* test: add comprehensive tests for BoR utility functions

* test: add comprehensive tests for formatTime function

* WIP

* test: add comprehensive tests for getLastBoRPostCleanupRun function

* Added tests

* removed a commented code

* post list optimization

* test: add test case for updating unrevealed burn-on-read post

* fix: handle error logging in expiredBoRPostCleanup test

* test: add test case for updateLastBoRCleanupRun error handling

* review fixes

* lint fixes

* Added WS event handling (#9320)

* Added WS event handling

* test: add burn on read websocket action test

* test: add tests for handleBoRPostRevealedEvent in burn_on_read

* Added tests

* test: add comprehensive error handling test cases for burn on read

* Added tests and error handling

* BoR post - restricted actions (#9315)

* Restricted post actions for BoR post type

* Prevent opening thread fr nBoR post

* WIP

* fix: remove redundant observable wrapping in post options

* fixed a change

* removed broken

* restored package.resolved

* Added tests

* Awaiting for last run to be set

* Added tests for validating expiry timer behaviour (#9338)

* Added tests for validating expiry timer behaviour

* No need of use event setup

* Bor ux fixes (#9336)

* WIP

* UI and delete fixes

* lint fixes

* fixed tests

* Improved mocking

* Improved test

* Handled the case of own BoR post not relying on post.metadata
2025-12-11 10:29:29 +05:30
Harshil Sharma
2fb2e9d899
Burn On Read Posts (#9307)
* Added scaffolding for unrevealed BoR post

* Displayed reveal UI

* Displayed expiry timer

* WIP

* Displayed own post indicator and blur text

* restored button

* Ungrouped BoR posts

* WIP

* WIP

* DIsplayed error message on revealing

* Added last run check on mobile app cleanup job

* Cleanup

* lint fix

* i18n-fix

* Added tests

* test: add test suite for revealBoRPost function

* test: add unrevealed burn on read post test file

* feat: add tests for UnrevealedBurnOnReadPost component

* test: update UnrevealedBurnOnReadPost test with PostModel type

* test: replace toBeTruthy with toBeVisible for component visibility assertions

* test: add initial test file for expiry timer component

* test: add comprehensive tests for ExpiryCountdown component

* refactor: clean up test formatting and remove redundant test case

* fix: adjust test timing for ExpiryCountdown onExpiry callback

* test: fix timer test by advancing timers in smaller increments

* Added tests

* Updated tests

* fixed accidental change

* restored package.resolved

* WIP review fixes

* Review fixes

* Review fixes

* Fixed tests

* restored package.resolved

* WIP

* test: add test for skipping BoR post cleanup within 15 minutes

* test: add comprehensive test cases for expiredBoRPostCleanup

* WIP

* WIP

* test: add bor.test.ts placeholder file

* test: add comprehensive tests for BoR utility functions

* test: add comprehensive tests for formatTime function

* WIP

* test: add comprehensive tests for getLastBoRPostCleanupRun function

* Added tests

* removed a commented code

* post list optimization

* test: add test case for updating unrevealed burn-on-read post

* fix: handle error logging in expiredBoRPostCleanup test

* test: add test case for updateLastBoRCleanupRun error handling

* review fixes

* lint fixes

* Added WS event handling (#9320)

* Added WS event handling

* test: add burn on read websocket action test

* test: add tests for handleBoRPostRevealedEvent in burn_on_read

* Added tests

* test: add comprehensive error handling test cases for burn on read

* Added tests and error handling

* BoR post - restricted actions (#9315)

* Restricted post actions for BoR post type

* Prevent opening thread fr nBoR post

* WIP

* fix: remove redundant observable wrapping in post options

* fixed a change

* removed broken

* restored package.resolved

* Added tests

* Awaiting for last run to be set

* Added tests for validating expiry timer behaviour (#9338)

* Added tests for validating expiry timer behaviour

* No need of use event setup

* Bor ux fixes (#9336)

* WIP

* UI and delete fixes

* lint fixes

* fixed tests

* Improved mocking

* Improved test
2025-12-11 09:42:16 +05:30
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
yasser khan
6fdfd57c11
E2E: Automate Edit profile tests from Rainforest (#9290) 2025-12-10 11:01:04 +05:30
Christopher Speller
0c675ec2db
Agents posts on mobile (#9317)
* Agents streaming

* Fix bug and lint

* Add reasoning summaries to mobile agents

* Add tool call approval UI for mobile agents

* Add citations and annotations support for mobile agents

Implements Phase 4 from the agents mobile plan:
- WebSocket event handling for annotations control signal
- CitationsList component displaying sources below agent responses
- Collapsible sources section with source count
- Each citation shows title, domain, and opens URL on tap
- Citations persisted in post.props.annotations
- Touch-optimized UI with 44pt minimum tap targets

* Add stop and regenerate controls for mobile agents

* Add tests

* Fix tool approval buttons not updating after accept/reject

- Remove optimistic WebSocket event approach that didn't work
- Clear component streaming state on ENDED event to force switch to persisted data
- Remove delays in streaming store cleanup (500ms and 100ms)
- POST_EDITED event now properly updates UI for both accept and reject
- Remove debug console.log statements
- Fix ESLint issues (unused vars, nested callbacks, nested ternary)

* Refactor agents code: remove unused client mixin, fix bugs, and simplify logic

* Fixes

* Add CLAUDE.md

* Review feedback.

* Review feedback inline functions

* Learnings

* Address review feedback: StyleSheet.create, parent mount checks, utils

* Move to observables

* Last style fix

* Style tweaks
2025-12-09 03:56:12 -08:00
Weblate (bot)
f243f1cd28
Translations update from Mattermost Weblate (#9340)
Automatic Merge
2025-12-08 15:54:16 +02:00
Matthew Birtch
4ba3099d69
MM-62240 illustration updates (#9308)
* update onboarding illustrations and background

* update forgot password illustration

* updated mfa illustration

* updated text style on forgot password

* Update background.tsx

* optimize background svg
2025-12-05 08:31:59 -05:00
Elias Nahum
ca44fdd56f
remove duplicate models in processTeamChannels (#9334) 2025-12-05 19:11:17 +08:00
Rahim Rahman
723e727f05
fix(MM-66553): temporary fix for CVE-2025-11953 (#9330) 2025-12-04 10:56:36 -07:00
Rahim Rahman
abe7a24be5
feat(MM-65145): low connectivity manager (#9283)
* feat(MM-65145): low connectivity manager
* forgot localization
* connection banner showing limited network connectivity
* network_performance_manager test
* adding some test related to network performance monitoring
* add comment about count-based sliding window
* component and hook tests
* clean up some code based on review.
* changes based on CP review
2025-12-04 10:44:33 -07:00
Daniel Espino García
51393f13f3
[MM-66375] Allow managing own membership on a channel (#9301)
* [MM-66375] Allow managing own membership on a channel

* Add e2e test
2025-12-03 17:20:20 +01:00
Weblate (bot)
3990de8932
Translations update from Mattermost Weblate (#9323)
* Translated using Weblate (Korean)

Currently translated at 93.8% (1377 of 1468 strings)

Translation: Mattermost/mattermost-mobile-v2
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-mobile-v2/ko/

* Translated using Weblate (Portuguese)

Currently translated at 28.5% (419 of 1468 strings)

Translation: Mattermost/mattermost-mobile-v2
Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-mobile-v2/pt/

---------

Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Co-authored-by: Manuela Silva <mmsrs@sky.com>
2025-12-01 14:30:10 +01:00
yasser khan
5e9fbcf892
Migrate Custom Status tests from Rainforest to Detox (#9309) 2025-11-27 06:01:44 +05:30
Matthew Birtch
8fa0cbfa23
MM-66509: Reduce channel banner height and adjust padding (#9267)
* MM-66509: Reduce channel banner height and adjust padding
- Reduce banner height from 40px to 32px
- Decrease padding from 10px to 5px (top/bottom) and 16px to 8px (left/right)
- Add center alignment to banner text container
- Apply typography styles directly to banner text
2025-11-25 09:02:07 -05:00
Daniel Espino García
9bb3b9897b
[MM-66485] Add separator to add a new run button (#9296) 2025-11-25 10:37:49 +01:00
Weblate (bot)
71599a8ea9
Translated using Weblate (Korean) (#9314)
Automatic Merge
2025-11-24 17:47:21 +02:00
Weblate (bot)
0015467f97
Translations update from Mattermost Weblate (#9311)
Automatic Merge
2025-11-24 14:17:21 +02:00
unified-ci-app[bot]
ae545ab62d
Bump app build number to 689 (#9306)
Co-authored-by: Mattermost CI Bot <ci-bot@mattermost.com>
2025-11-21 11:14:13 +02:00
Guillermo Vayá
79e8d37365
fix 0 pending tasks message MM-66695 (#9300)
fix 0 pending tasks message MM-66695
2025-11-20 17:26:28 +01:00
Guillermo Vayá
c4a2ce38da
I18n issues (#9303) 2025-11-20 13:01:32 +01:00
Daniel Espino García
a341ef8981
Easy Login (#9261)
* Login screen for easy login

* Deep link changes

* Fix login flow

* Address feedback

* Rebranding

* Add deactivated flow

* Apply changes to the get type API

* Address feedback
2025-11-20 12:38:06 +01:00
Felipe Martin
c653d7c665
chore: update default error message for server validation (#9299) 2025-11-20 09:02:40 +01:00
Guillermo Vayá
93b749eb79
[MM-66690][MM-66691] Checklist improvements (#9294)
* fix no response + handle error

* address comment review

* add a screen to allow user to name the checklist

* handle local update errors

* can save as a memoized item

* change touchableopacity into a button

* fix typo

* memoize canSave
2025-11-19 16:14:03 +01: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
dependabot[bot]
b19e15f181
Bump js-yaml (#9295)
Bumps  and [js-yaml](https://github.com/nodeca/js-yaml). These dependencies needed to be updated together.

Updates `js-yaml` from 4.1.0 to 4.1.1
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

Updates `js-yaml` from 3.14.1 to 3.14.2
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-19 12:25:21 +08:00