* 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>
* Channel Info screen
* Delete the channel & related data when archiving while viewing archived channels is off
* feedback review
* UX feedback
* Add missing isOptionItem prop
* Fix search bar style
* MM-42983 Align mention badge on channel list item
* MM-42985 polish channel intro UI
* MM-42984 update fonts on 'Show' bottom sheet
* MM-42982 Increase tap area of back button on channel view
* Set StatusBar style based on theme sidebarBg
* Reconnect other WS after 20 seconds insted of 5
* Only fetch missing profiles for DM/GMs
* Database prepare records optimization
* Do not use fallbackUsername for storing GM/DM in the database
* fix filter for fetching missing dm/gm
* remove use of indexOf inside another loop
* remove use of includes inside another loop
* remove use of find inside another loop
* Add missing translations
* disable Flipper on iOS
* Remove Flipper code from AppDelegate
* feedback review
* trim DM display name to make sure is not empty
* fixing missing direct channels display name
* UI/UX feedback
* fix WS channel viewed and mark as unread
* Remove duplicate emojis from reaction bar
* Add Channel Browser screen
* Fix tests
* Fix lint
* Address feedback
* Fix test
* Remove cancel and fix bottom sheet size
* Address feedback
* Address feedback
* Keep loading when not many items are visible.
* Separate search_handler from browse channels
* Search channels directly instead of filtering from the loaded
* Address feeback
* Reduce the size of search_handler.tsx
* Add title and closeButtonId to bottomSheet
* Let the default value be public and set it before the if
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>