Commit graph

236 commits

Author SHA1 Message Date
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
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
Guillermo Vayá
fff6788e94
View custom profile attributes (#8460)
* feat: Add custom attributes section to user profile
2025-01-13 20:38:14 +01: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
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
Daniel Espino García
e0992c0bf6
Add test notification tool (#8271)
* Add test notification menu

* Reduce the minimum version for testing purposes

* Address feedback

* Add missing strings

* Address feedback

* Fix snapshots

* Bump version limit and use correct link

* Fix tests

* Fix URL issues
2024-11-11 10:22:57 +01:00
Rajat Dabade
647b8c8eb6
MM-60705 DB migration: added update_at column to draft table for mobile (#8237)
* MM-60705 DB migration: added update_at column to draft table for mobile

* refactor: updated docs

* refactor: reverted unwanted changes and updated default value for update_at columns

* refactor: changed the condition for excepting 0 value for update_at column
2024-10-15 19:49:22 +05:30
Elias Nahum
f04838d9b1
open an external browser when the server config for MobileExternalBrowse is set to true (#8220) 2024-09-17 06:40:12 +08:00
Elias Nahum
991cecdeb3
Fix iPad split view (#8199)
* Fix iPad split view

* remove unused type def
2024-09-16 10:49:46 +08:00
Elias Nahum
4048b70713
fix cannot read data when opening a deeplink (#8109) 2024-07-27 03:37:57 +08:00
Elias Nahum
b330847d95
Channel Bookmarks (#7817) 2024-07-18 09:10:28 +08:00
Christopher Poile
92bdb2847b
[MM-57486] [MM-58008] Calls: Mobile ringing for incoming calls (#7984)
* 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>
2024-07-03 10:22:46 -04: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
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
Cedric Ong
6daa77f0da
remove usages of isTimeZoneEnabled (#7769) 2024-01-30 13:22:55 +01:00
Christopher Poile
2c1f318868
MM-54866 - Calls: Transcription support (#7703)
* captions on videos from posts and searches

* add the patch for react-native-video which fixes subtitle downloading

* improve spacing

* fix patch file

* upgrade compass-icons; use cc icon

* revert patch overwrite

* fix patch

* use useMemo

* fix hitslops on pressables

* use new Caption format; refactor for clarity

* simplify tracks creation and use
2023-12-21 16:20:21 -05: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
Caleb Roseland
79d7c628e4 Merge branch 'main' into MM-53902-cont 2023-11-27 15:09:55 -06: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
Caleb Roseland
89fc14bb43 fix plugin path matching, add coverage 2023-11-24 13:15:26 -06:00
M-ZubairAhmed
4b5489c7a7
[MM-53810] Add mobile markdown support for highlighting without notifications without configuration ability (#7663) 2023-11-23 17:11:06 +08:00
Caleb Roseland
e39736b4da parameter cleanup 2023-11-22 22:54:42 -06:00
Christopher Poile
6fb5d85798
MM-55036 - Calls: Fix: Receiving in-app notifications for calls notifications while active (#7623)
* when active, do not show overlay if this is a calls-started notification

* add calls notification type; keep message test for backwards compat

* process calls notifications properly

* revert NOTIFICATION_TYPE.CALLS; use sub_type for backwards compatibility

* add ticket and comment for future refactoring of isCallsStartedMessage
2023-11-16 09:28:29 -05:00
Tanmay Vardhaman Thole
805c794b3e
MM 45015 - auto follow threads (#7463)
* auto follow select option added

* unused code removed

* auto follow threads condition fixed on CRT enabled

* error handles

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-11-14 10:00:19 +01:00
Daniel Espino García
a3eeb69277
Goodbye, GraphQL (#7597) 2023-10-16 10:13:16 +02:00
Caleb Roseland
cdbafea607 fix: editing DM/GM channel header 2023-10-04 11:22:58 -05:00
Harrison Healey
2651dd31e1
MM-53107 Add limit to Markdown nodes (#7528)
* MM-53107 Add limit to Markdown nodes

* Update commonmark to published version

* Rename field to camel case for consistency

* Update Markdown tests for removed children
2023-09-07 09:18:31 -04:00
Elias Nahum
68939c9fcc
update reanimated (#7500)
* update reanimated

* fix reanimated types
2023-08-14 14:38:05 -04:00
Daniel Espino García
ff601982b9
Add some performance improvements (#7481)
* Add some performance improvements

* fix tests
2023-08-07 09:43:00 +02:00
Devin Binnie
21fc831554
[MM-53249] Allow server to hide or customize the Forgot Password link (#7429)
* [MM-53249] Allow server to hide or customize the Forgot Password link

* Update app/screens/login/form.tsx

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>

* Fix issue for older servers

* Sort imports

---------

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2023-07-18 12:31:35 -04:00
Elias Nahum
3effecd6a4
match desktop search and highlight results (#7445) 2023-07-18 12:17:19 -04:00
Daniel Espino García
0a8eb836f6
Remove guest tags based on config (#7425) 2023-06-30 11:05:54 +02:00
Harshil Sharma
0b591264b2 WIP 2023-06-16 16:02:53 +05:30
Daniel Espino García
20dfb4f406
Fix issue with missing post headers on threads (#7378)
* Fix issue with missing post headers on threads

* Fix lint
2023-05-31 11:42:20 -04:00
Daniel Espino García
c99861d728
Use message source on post edit (#7325)
* Use message source on post edit

* Fix tests and bugs
2023-05-11 14:18:07 +02:00
Daniel Espino García
0a04be7448
Use RN Image for local images instead of FastImage (#7329) 2023-05-10 09:44:10 -04:00
Daniel Espino García
162cdfb21d
Handle currentUser not available throught the app and refetch it (#7333)
* Handle currentUser not available throught the app and refetch it

* Address feedback
2023-05-05 15:40:59 -04: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
Harrison Healey
3c790d2561
MM-52173 Add setting to delay channel autocomplete (#7297)
* MM-52173 Add setting to delay channel autocomplete

* Remove extra enhancer

* Address feedback
2023-04-28 20:55:07 -04:00
Christopher Poile
c1430757b8
MM-51776 - Calls: Audio device selections, & fix bluetooth (#7286)
* ask for bluetooth permissions on Android

* new "switch audio device button" for Android

* i18n strings

* split audio_device_button into platform-specific files; PR comments

* earpiece -> phone

* add comments to clarify speakerphone logic

* update snapshots

* add new compass-icons; use tablet and bluetooth icons; add tablet mode

* fix lint
2023-04-27 11:44:14 -04:00
Kyriakos Z
ab4f65020a
[MM-49540] Message Priority Phase 3 (#7142)
* Init

* i18 and types

* Acknowledge button, api

* Ack button + display ackd users

* Saves priority on draft and addresses some comments

* Addresses review comments round 2

* Moves fetching userprofiles upon opening ACKs

* Adds metadata column in drafts table

+ Addresses some more review comments.

* Small refactor according to review comments

* Addresses some review comments

* Addresses some review comments

* Uses local action when ACKing

* Fixes first time selecting priority and other

* Updates snapshots

* Fixes i18n

* Fixes ts errors

---------

Co-authored-by: Anurag Shivarathri <anurag6713@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-04-27 11:22:03 +00:00
Daniel Espino García
a8ee3a1b5a
Fix and unify channel and user list items (#7175)
* Fix channel and user list items

* Fixes on members and create a dm lists

* Fix tutorial and ipad

* Fix test

* Address feedback

* Several fixes on Android

* Fix tests

* Address feedback

* Add more non breaking strings

---------

Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
2023-04-19 10:13:14 +02:00
Daniel Espino García
720ac22070
Handle undefined metadata all over the app (#7244)
* Handle undefined metadata on Markdown Table Images

* Add missing change

* Handle undefined image metadata all over the app
2023-03-31 09:41:28 +02:00
Daniel Espino García
77095b1034
Add members (#7220)
* Add "Add members" modal

* Refactor into server user list

* Renaming and fixes

* Address feedback

* Add missing change

* Styling fixes for iOS
2023-03-30 11:58:50 -03:00
Kyriakos Z
6472ce1247
MM-49540: drafts migration adding metadata (#7240)
* MM-49540: drafts migration adding metadata

Adds a drafts table migration adding the column "metadata".
This column is going to be primarily used to store the draft's
metadata priority field.

* Addresses review comments
2023-03-30 12:42:52 +03:00
Ashish Dhama
d25e74bb49
Merge pull request #7227 from mattermost/MM-44655_add-files-count-column-in-channel-info-table
[MM-44655 ]: Add files_count column in ChannelInfo table and DB migration
2023-03-29 23:04:54 +05:30
Ashish Dhama
fa32301c1e fix comments 2023-03-22 15:52:47 +05:30
Ashish Dhama
b42c05f226 fix test case 2023-03-22 15:49:55 +05:30