- Change Android package from com.mattermost.rnbeta to com.tokilabs.mattermost
(build.gradle, source files, AndroidManifest, google-services.json)
- Change iOS bundle identifiers and app groups to com.tokilabs.mattermost
(Info.plist, entitlements, project.pbxproj)
- Update auth URL scheme from mmauthbeta to mmauth_tokilabs
- Update all Fastlane env files and Fastfile references
- Replace google-services.json with own Firebase project
- Add .vscode/launch.json and settings.json for dev environment
- Update .gitignore to track .vscode config files
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* 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>
* 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
* notification ringing, settings screen, native code patch, ringing mp3s
* i18n
* play preview on first press
* prevent playing from background (only affects Android) to match iOS beh
* stop ringing/vibration on entering background
* ring when coming back from background and new incoming call is present
* no push notification sound when it's a call; improve ringing
* move sounds to asset folder; copy on postinstall for android bundling
* make Ringtone type a string enum
* make Android ring async + await ring and stop; changes from PR comments
* missing fields after merge
* release lock on an exception
* cancel sample ringing when turning notifications off
* copy sound files for android build
* typo
* update snapshots
* testing if the problem is copying the mp3 files
* fix android mp3 assets when building for non-release
* add sounds to .gitignore
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Save message draft when post input is unmounted
* Fix switch CRT on/off
* Handle iPad on Stage Manager
* iOS Share Extension to use LRU cache instead of file cache
* Support building android as aab
* use handleReconnect instead of appEntry on handleCRTToggled
* show skin tone selector tutorial after running all interactions
* Update app/actions/remote/preference.ts
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* fix lint
---------
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* WIP
* Actions updated to fetch remote first, and local on error
* Groups fetch and save
* PR Feedback: prepare vs store and undefined fix
* Forgot to add file
* Groups Mention WIP
* Groups highlight!
* Merge, PR Feedback
* PR Feedback
* PR Feedback: Try/Catch blocks
* PR Feedback