Rahim Rahman
22b4616f72
feat(MM-63936): add mark function in performance metrics manager ( #8823 )
2025-05-20 12:47:29 -06:00
Elias Nahum
190be37fe0
Random fixes ( #8874 )
...
* sort desc lastAccessAt server in security manager
* do not export let binding in context/device
2025-05-20 22:40:11 +08:00
Elias Nahum
74ee271012
Fix SecurityManager flaky test ( #8753 )
2025-04-08 20:25:14 +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
Daniel Espino García
802a67c4f2
Enforce names for singleton imports ( #8639 )
2025-02-27 12:46:17 +01:00
Daniel Espino García
779fe31c3b
Fix MM-61975 ( #8459 )
...
* Fix MM-61975
* Add missing strings
* Ensure the app gets logged out after not accepting the ToS
* Fix i18n and add comment
* Fix tests and address feedback
* Check for the right value coming from status
* Update texts
2025-02-17 13:45:12 +01:00
Joram Wilander
84f2a7d1f7
test: Add tests for AppsManager ( #8545 )
2025-02-03 08:56:46 -05:00
Joram Wilander
6a96ca52ad
test: Add tests for session manager ( #8504 )
2025-01-28 08:09:15 -05:00
Joram Wilander
681585d5db
test: Add websocket manager tests ( #8496 )
2025-01-21 08:42:35 -05:00
Elias Nahum
d1d3fda83a
Request metrics improvements ( #8420 )
...
* Network metrics
* update network-client ref
* fix unit tests
* missing catch error parsing
* Replace API's to fetch all teams and channels for a user
Update groupLabel to use a type definition
Include effective Latency and Average Speed in the metrics
Include parallel and sequential request counts
* update network library and fix tests
* feat(MM-61865): send network request telemetry data to the server (#8436 )
* feat(MM-61865): send network info telemetry data
* unit testing
* fix latency vs effectiveLatency
* cleanup test
* fix failing tests
* fix spelling error
* fix failing test
* more cleanup
* fix: improve parallel requests calculation (#8439 )
* fix: improve parallel requests calculation
* fix test issue
* multiple parallelGroups testing
* calculateAverageSpeedWithCategories test
* categorizedRequests in it's own describe
* clean up duplicate tests
* check for when groupLabel is non-existent
* a case when groupLabel is non-existent
* more testing with effective latency.
* resolveAndFlattenModels with a capital F
* add try..catch within resolveAndFlattenModels
* update groupLabel to fix failing lint
* fix linting issue due to unknown group label
* forgot to push changes
* fix the indentation problem again
* add env var option for COLLECT_NETWORK_METRICS
---------
Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-16 13:55:29 -07:00
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
Elias Nahum
ea2cb45a18
Login improvement ( #8306 )
...
* refactor to improve requests on login
* include in team sidebar order by display name teams not present in the order preference
* Fix iOS reload while developing
* fix code causing tests to fail
* feedback review
* update network-client
2024-11-13 08:06:12 +08:00
Joram Wilander
e4d895df85
MM-59438 Add tests to actions/remote/session ( #8296 )
...
* Add tests to actions/remote/session
* Fix styling
* Fix typing in session_manager
2024-10-29 11:06:01 -04:00
Daniel Espino García
2e8c9ce9a5
Reconnect the network when we switch network types ( #8034 )
2024-10-29 10:14:31 +01:00
Daniel Espino García
bc8a42b161
Native set load measured ( #8242 )
...
* Track notification loaded on native side instead of JS
* iOS details and iOS 18 changes
* Fix tests
2024-10-14 16:07:06 +02:00
Elias Nahum
bde7e3e006
add unit tests to app/utils/general ( #8133 )
2024-08-08 14:21:17 +03:00
Elias Nahum
4048b70713
fix cannot read data when opening a deeplink ( #8109 )
2024-07-27 03:37:57 +08:00
Daniel Espino García
26ae247d0f
Avoid registering wrong performance load logs ( #8107 )
2024-07-24 18:42:31 +02:00
Elias Nahum
de6ccaef01
SSL Pinned Certificate ( #8055 )
2024-07-23 18:26:20 +08:00
Elias Nahum
b330847d95
Channel Bookmarks ( #7817 )
2024-07-18 09:10:28 +08:00
Daniel Espino García
095b97425f
Graciously handle load measure when there is no mark ( #8052 )
...
* Graciously handle load measure when there is no mark
* Make public interface cleaner
2024-07-08 13:31:00 +02:00
ckaznable
331d3130bc
Fix User Agent issue in some device ( #8049 )
...
* Remove deviceName from User Agent
* Use modelName for User Agent
2024-07-03 15:41:48 +02:00
Elias Nahum
b8c088cc70
Upgrade RN as well as update or replace other dependencies ( #8011 )
...
* start upgrade to RN 74
* migrate react-native-fs to expo-file-system
* exclude expo-asset module
* fix database manager remove directory
* fix: android network helper
* include expo on android
* temporarily disable android dep lock
* replace react-native-create-thumbnail with expo-video-thumnails
* update patches file version
* fix android build on 74
* create local library to replace MattermostManaged, Notifications and SplitView modules with new arch support
* migrate app to use new mattermost-rnutils library
* remove unused flipper class for android unsigned
* fix mattermost-rnutils android foldedObserver lifecycle
* use mattermost-rnutils on Android
* use mattermost-rnutils on iOS
* path react-native-navigation to not crash when activity is not NavigationActivity
* create local library for android share extension with new arch support
* Replace ShareModule with @mattermost/rnshare library
* remove ShareModule from android native code
* update react-intl
* update nodejs to 20.x.x npm to 10.x.x and dev deps
* update @gorhom/bottom-sheet
* use MattermostShare conditionally based on the platform
* update @react-native-camera-roll/camera-roll
* remove unused react-native-calendars
* fix metro config
* fix terminate session race condition
* remove unused analytics
* replace react-native-device-info with expo-application and expo-device
* update @react-native-clipboard/clipboard
* update @react-native-community/datetimepicker
* update @react-native-community/netinfo
* update @sentry/react-native
* update react-native-document-picker
* update react-native-gesture-handler
* update react-native-share
* update react-native-svg and react-native-svg-transformer
* update react-native-vector-icons
* update babel
* update react-native-shadow-2
* update semver
* remove react-native-svg-transformer and convert svg files to svg components
* fix @mattermost/rnshare new-arch build on android
* remove react-native-create-thumbnail resolution in build.gradle
* create @mattermost/hardware-keyboard library to replace hw-keyboard-events
* fix hardware-keyboard library
* fix rnutils library
* create @mattermost/keyboard-tracker library
* replace react-native-keyboard-tracking-view with @mattermost/keyboard-tracker
* fix: rnutils to not crash on lateinit context
* fix: rnutils delete database
* revert changes to session_manager
* Removed react-native-webview and added expo-web-browser instead
With expo-web-browser we no longer need the webview for SSO login
the SSO login is now done by using "custom Chrome tabs" on Android
and ASWebAuthenticationSession on iOS
* remove patch for react-native-keyboard-tracking-view
* replace react-native-linear-gradient with expo-linear-gradient
* replace react-native-in-app-review with expo-store-review
* fix: shared group database directory on ios
* replace react-native-fast-image with expo-image
* remove unusued type def for react-native-keyboard-tracking-view
* replace react-native-elements and react-native-button with @rneui
* node version
* update sizzling methods
* fix tests using jest-expo
* replace jail-monkey with expo-device
* update babel deps
* update typescript eslint
* update rn and expo
* react-native-document-picker @react-native-camera-roll/camera-roll @react-native-community/datetimepicker react-native-reanimated react-native-safe-area-context
* update patches
* update @sentry/react-native
* upgrade react-native-navigation
* update expo & expo-image
* upgrade to working version of @sentry/react-native
* update node, cocoapods, bundler, fastlane versions
* @testing-library/react-native and eslint-plugin-jest
* fix: FloatingTextInput causing a crash with reanimated
* update sentry, localize, @types/lodash and uuid
* fix floating text input label
* update react-native-video
* fix: cannot calculate shadow efficiently on some components
* fix: reduce motion warning for bottomSheet
* fix: shadow on YouTube component
* update react-native-webrtc expo and @typescript-eslint
* audit fix
* fix swizzling bad merge
* temp use of github dependency for @mattermost libraries
* feedback review
* feedback review
* npm audit fix
* update bundle deps
* update @mattermost/react-native-turbo-log
* update deps
2024-06-19 09:33:45 +08:00
Daniel Espino García
b694809da1
Improve websocket behavior ( #7976 )
...
* Improve websocket behavior
* Revert uninteded changes
* Address feedback
2024-06-17 09:58:58 +02:00
Daniel Espino García
5f01f9e9af
Add performance metrics to the app ( #7953 )
...
* Add performance metrics to the app
* add batcher and improve handling
* Add tests
* Fix test
* Address feedback
* Address feedback
* Address feedback
* update podfile
2024-06-12 09:45:27 +02:00
Elias Nahum
3653df354d
Revert "Channel Bookmarks ( #7750 )" ( #7816 )
...
* Revert "Channel Bookmarks (#7750 )"
This reverts commit 2c5c878829 .
2024-02-07 07:52:55 +08:00
Elias Nahum
2c5c878829
Channel Bookmarks ( #7750 )
2024-02-05 17:07:01 +08:00
Elias Nahum
de57c343f0
MM-55621 fix layout for tablets and foldables ( #7697 )
...
* MM-55621 fix layout for tablets and foldables
* feedback review
2023-12-05 11:08:43 +08:00
Daniel Espino García
d469470592
Make app init more idempotent ( #7676 )
...
* Make app init more idempotent
* Remove previous subscriptions
2023-12-04 17:01:08 +01:00
Daniel Espino García
46125b201f
Fix issue when logout is called several times for the same server ( #7666 )
2023-11-27 10:50:40 +01:00
Elias Nahum
edef4ec4a3
Update libraries and dependencies ( #7678 )
...
* update js dependencies
* update react-native libraries
* update watermelonDB
* update RN to 0.72.7
* update fastlane
* fix remove_markdown/at_mention import
* update mattermost libraries
* update fastlane deps
* remove haptic-feedback patch
* update okhttp to 4.12.0 and patch netinfo to accurately identify VPN connections
* create ImaegStyles intersection type
2023-11-25 07:46:13 +08:00
Pablo Andrés Vélez Vidal
41ca61966b
do not remove inside app alerts
2023-10-10 17:12:04 +02:00
Pablo Andrés Vélez Vidal
499114f4f9
Merge branch 'main' into MM-50354-not-show-push-notifications-warning-if-disabled
2023-10-09 16:28:58 +02:00
Elias Nahum
672e0ee225
update libwebp ( #7562 )
2023-09-28 16:44:31 +03:00
Elias Nahum
df52740752
Add alert when deeplink is invalid ( #7538 )
2023-09-12 07:26:05 -03:00
Elias Nahum
f463d12187
show alert when server SSL is invalid or untrusted ( #7533 )
2023-09-07 06:23:34 -03:00
Pablo Andrés Vélez Vidal
d4cd0cb1de
implement pr feedback; reuse existing keyfromurl function; fix imports
2023-08-22 15:50:45 +02:00
Pablo Andrés Vélez Vidal
7244f95fea
add unit test; refactor function; not remove on logout but on server remove
2023-08-21 17:31:16 +02:00
Daniel Espino García
bc1ad7362f
Fix login not doing entry logic after forced logout ( #7507 )
...
* Fix login not doing entry logic after forced logout
* Fix lint
2023-08-16 17:41:39 +02:00
Pablo Andrés Vélez Vidal
0da1b5c6a4
MM-50354 - do not show push disabled notification once acknowledged
2023-08-10 12:23:55 +02:00
Daniel Espino García
d74826064b
Remove keychain cache to avoid token invalidation problems ( #7479 )
2023-08-01 15:46:48 +02:00
Daniel Espino García
0c4f7f25bc
Upgrade React Native Network Client to 1.3.5 ( #7450 )
...
* Upgrade React Native Network Client to 1.3.5
* Fix defaults in the manager
2023-07-12 17:08:40 +02:00
Daniel Espino García
5ab2f86b66
Fix ios cache ( #7412 )
...
* Fix Keychain cache
* Fix
* Fix import
2023-07-05 14:01:51 -04:00
Elias Nahum
ef2c12e954
Update Dependencies ( #7409 )
...
* dev dependencies
* update deps
* update wdb
* update more deps
* update detox deps
* update logs for database batch
* fix jest setup
2023-06-21 13:40:23 -04:00
Daniel Espino García
841db48a86
Improve status sync ( #7379 )
2023-06-02 15:31:00 +02:00
Daniel Espino García
86658edc30
Refactor errors around the app ( #7306 )
...
* Refactor errors around the app
* Fix recursive function
* Fix tests
2023-05-03 13:08:55 +02:00
Elias Nahum
784b05fe97
Upgrade Dependencies ( #7299 )
...
* upgrade reanimated
* update devDependencies
* upgrade react-intl
* update react-native and some dependencies
* update react-native-permissions
* update RN
* use Share sheet for Report a problem
* update Sentry
* remove step to downloadWebRTC
* update detox deps
* feedback review
2023-04-21 12:16:54 -04:00
Daniel Espino García
9f84ab79ce
Only call app entry on websocket reconnect ( #7065 )
...
* Only call app entry on websocket reconnect
* Handle notification on its own entry and run app entry on websocket initialization
* Fix notification entry issues
* Fix login entry and add retry on entry failure
* feedback review
* Put back handleEntryAfterLoadNavigation before the batching
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2023-02-23 10:11:34 +01:00
Daniel Espino García
980c31f40f
Remove watermelondb limitation on updating an already updated model ( #7067 )
...
* Remove watermelondb limitation on updating an already updated model
* Add logic to handle different prepare states and improve logging
* fix tests
---------
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2023-02-03 17:11:57 +02:00
Elias Nahum
c1fbaffd3e
Support for Android Tablets & Foldable ( #7025 )
...
* Add Support for Android tablets & foldables
* add tablet and book posture
* Regenerate disposed observable on WindowInfoTracker
2023-01-26 20:31:18 +02:00